机器码和伪指令

时间:2022-03-04 14:13:27

Mov  立即数受限的原因:因为根据下图,mov的机器指令中立即数最多能有12位,其中有四位代表移位,所以立即数最多能有8位。

机器码和伪指令

 

 

伪指令有两种:操作类伪指令和定义类伪指令

定义类伪指令

 

Global 定义一个全局的变量

Data 定义数据段

Ascii 定义一个字符串

Byte 定义一个字节数据

Word 定义一个字数据

Equ  定义一个宏

例子:

机器码和伪指令

 

 

 

操作类伪指令(实际用其他指令替代)

 

Ldr  伪指令:作用是把一个立即数存入寄存器中,和访存ldr指令重名, 替代的时候能用mov或者mvn实现的话,就优先用这两个指令,不能用的时候用先将数据存入内存,然后用真正的ldr访存。(别问我为什么对pc基址变址立即数为啥是0,我也不懂,我认为按照正常逻辑应该是8啊)

 

Nop 伪指令:空指令,其实用的是mov

例子:

机器码和伪指令