机器码和伪指令
Mov 立即数受限的原因:因为根据下图,mov的机器指令中立即数最多能有12位,其中有四位代表移位,所以立即数最多能有8位。
伪指令有两种:操作类伪指令和定义类伪指令
定义类伪指令
Global 定义一个全局的变量
Data 定义数据段
Ascii 定义一个字符串
Byte 定义一个字节数据
Word 定义一个字数据
Equ 定义一个宏
例子:
操作类伪指令(实际用其他指令替代)
Ldr 伪指令:作用是把一个立即数存入寄存器中,和访存ldr指令重名, 替代的时候能用mov或者mvn实现的话,就优先用这两个指令,不能用的时候用先将数据存入内存,然后用真正的ldr访存。(别问我为什么对pc基址变址立即数为啥是0,我也不懂,我认为按照正常逻辑应该是8啊)
Nop 伪指令:空指令,其实用的是mov。
例子: