11、ARM处理器的位操作与高级乘法指令解析

ARM处理器的位操作与高级乘法指令解析

1. ARM的桶形移位器与位操作概述

ARM处理器内部有一个名为“桶形移位器”的机制,它可以将一个字中的位向左或向右移动。与大多数微处理器不同,ARM没有独立的移位指令,而是将移位操作作为其他指令的一部分。这种位移动操作非常重要,因为向左或向右移动位可以快速实现数字的乘法或除法。

ARM支持三种类型的移位操作:逻辑移位、算术移位和循环移位。其中,循环移位没有算术功能,仅用于移动位模式。以下是可用的六种位移动指令:
| 助记符 | 含义 |
| ---- | ---- |
| LSL | 逻辑左移 |
| LSR | 逻辑右移 |
| ASL | 算术左移 |
| ASR | 算术右移 |
| ROR | 循环右移 |
| RRX | 带扩展的循环右移 |

虽然桶形移位器在移位和循环移位操作时处于工作状态,但实际上其操作对用户是透明的。

2. 逻辑移位操作

逻辑移位操作通过将数字向左或向右移动一位,可以实现数字的翻倍或减半。通过增加逻辑移位的次数,可以相应地实现数字的乘法和除法。

2.1 逻辑左移(LSL)

逻辑左移时,最显著位(b31)会移出并进入进位标志(Carry flag),而b0移位到b1时留下的空位会被填充为0。例如,单字节二进制值00010001(十进制为17),执行一次逻辑左移(LSL #1)后得到00100010(十进制为34),实现了数字的翻倍。

在ARM中,使用四字节数据,整个字会以这种方式向左移位。最高位(位31)移出后会进入进位标志

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值