ARM 汇编 - 分支指令
我正在寻找一些用于启动在 ARM 处理器上运行的某些固件的程序集。下面是异常向量表的定义:
LDR pc, =resetHandler
LDR pc, Undefined_Addr
LDR pc, SWI_Addr
LDR pc, Prefetch_Addr
LDR pc, Abort_Addr
B .
LDR pc, =irqHandler
LDR pc, FIQ_Addr
有谁知道“.”是什么意思吗?在分支(“B”)指令之后呢?在调试器的反汇编窗口中,指令分支到自身。根据数据表,该条目是保留的,所以我猜测这只是无限循环并等待看门狗重置。
I'm looking at some assembly for the start up of some firmware that runs on an ARM processor. The following exception vector table is defined:
LDR pc, =resetHandler
LDR pc, Undefined_Addr
LDR pc, SWI_Addr
LDR pc, Prefetch_Addr
LDR pc, Abort_Addr
B .
LDR pc, =irqHandler
LDR pc, FIQ_Addr
Does anyone know what the "." after the branch ("B") instruction does? In the disassembly window of the debugger, the instruction branches to itself. According to the data sheet, the entry is reserved, so I am guessing this just does an endless loop and waits for a watch-dog reset.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在许多汇编器中
.
表示当前位置计数器,所以是的,它只是一个无限循环,即“分支到此处”。[请注意,某些汇编器使用
$
或*
而不是.
]In many assemblers
.
means the current location counter, so yes, it's just an infinite loop, i.e. "branch to here".[Note that some assemblers use
$
or*
rather than.
]