在ARM汇编中如何区分LDR是指令还是伪指令

本文介绍了ARM汇编语言中的LDR指令与LDR伪指令的区别,并通过实例展示了如何从指令的操作数来判断其是真实的指令还是伪指令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ARM汇编中,由于LDR指令和LDR伪指令的指令助记符是一样的,所以在阅读汇编代码时,如何确定一条LDR是指令还是伪指令呢?

由于LDR指令和伪指令的助记符相同,所以我们必须从指令操作数的格式来区分。

先来看看LDR伪指令和LDR指令的语法格式。

1)LDR伪指令的语法格式

图1: LDR 伪指令语法格式

2)LDR (immediate offset)指令语法格式:


图2:LDR (immediate offset)指令语法格式

3)LDR (register offset)指令语法格式


图3:LDR (register offset)指令语法格式


4)LDR (PC-relative)指令语法格式


图4:LDR (PC-relative)指令语法格式

5)LDR (register-relative)指令语法格式


图5:LDR (register-relative)指令语法格式

由图1到图5可以看出,LDR伪指令只有一个操作数且操作数前有一个“=”前缀符号。

故这个前缀符号“=”就是区分LDR伪指令的关键。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值