Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly uboot中的死环测试_Assembly_Arm_U Boot - Fatal编程技术网

Assembly uboot中的死环测试

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

我想做一个uboot死循环测试,但发现它跳出了假设的循环,我的代码有什么问题,它在start.s中

目前无法测试是否缺少ARM交叉编译器,但您似乎缺少了一个
=
。使用

.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