.global _start _start: ldr pc, =Reset_Handler /* Reset */ ldr pc, =Undefined_Handler /* Undefined instructions */ ldr pc, =SVC_Handler /* Supervisor Call */ ldr pc, =PrefAbort_Handler /* Prefetch abort */ ldr pc, =DataAbort_Handler /* Data abort */ .word 0 /* RESERVED */ ldr pc, =IRQ_Handler /* IRQ interrupt */ ldr pc, =FIQ_Handler /* FIQinterrupt */ Reset_Handler: …… //此处省略Reset_Handler中间代码 /*跳转到到 main 函数执行,*/ b main b . /*死循环*/
为什么在_start标签中要逐一为pc指针赋值? 我的理解是:第一条指令执行ldr pc, =Reset_Handler后,程序跳转到Reset_Handle执行,然后直接跳转到main函数?那后面的指令还会被执行吗? 不知道是不是我的理解有问题,求懂的大哥指导
|