机器码和伪指令

Posted DChipNau

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器码和伪指令相关的知识,希望对你有一定的参考价值。

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

 

 

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

定义类伪指令

 

Global 定义一个全局的变量

Data 定义数据段

Ascii 定义一个字符串

Byte 定义一个字节数据

Word 定义一个字数据

Equ  定义一个宏

例子:

 

 

 

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

 

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

 

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

例子:

 





以上是关于机器码和伪指令的主要内容,如果未能解决你的问题,请参考以下文章

ARM汇编

ARM汇编

嵌入式:ARM符号定义伪操作详解

汇编指令机器码说明

汇编指令对应的机器码 ,问 为啥这个汇编指令对应的是这个机器码?

汇编指令和机器码的转换?