机器码和伪指令

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

842584-20160308213539100-1682718053.jpg

 

 

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

定义类伪指令

 

Global 定义一个全局的变量

Data 定义数据段

Ascii 定义一个字符串

Byte 定义一个字节数据

Word 定义一个字数据

Equ  定义一个宏

例子:

842584-20160308213541757-1230279187.jpg

 

 

 

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

 

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

 

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

例子:

842584-20160308213543788-1293944238.jpg

 





转载于:https://www.cnblogs.com/dchipnau/p/5255838.html

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值