Assembly uboot中的死环测试
我想做一个uboot死循环测试,但发现它跳出了假设的循环,我的代码有什么问题,它在start.s中 目前无法测试是否缺少ARM交叉编译器,但您似乎缺少了一个Assembly uboot中的死环测试,assembly,arm,u-boot,Assembly,Arm,U Boot,我想做一个uboot死循环测试,但发现它跳出了假设的循环,我的代码有什么问题,它在start.s中 目前无法测试是否缺少ARM交叉编译器,但您似乎缺少了一个=。使用 .globl _start _start: bl dead_loop ldr pc, _start ldr pc, _undefined_instruction ldr pc, _software_interrupt ldr p
=
。使用
.globl _start
_start: bl dead_loop
ldr pc, _start
ldr pc, _undefined_instruction
ldr pc, _software_interrupt
ldr pc, _prefetch_abort
ldr pc, _data_abort
ldr pc, _not_used
ldr pc, _irq
ldr pc, _fiq
dead_loop:
nop
mov pc, lr
如果你想要的是“立即跳转”。否则,汇编程序将把上述内容视为等同于ldrpc,[pc,…]
,这很可能不是您想要的
注意ADR
和LDR
伪指令之间的差异adr-pc,_start
在您的情况下,将执行与ldr-pc,=start
相同的操作
ldr pc, =_start