用ARM 汇编指令,分别完成下列操作: a) r0 = 16 b) r0 = r1 / 16 (带符号的数字) c) r1 = r2 * 3 d) r0 = -r0
时间: 2024-02-25 17:56:53 浏览: 100
判断下列指令正误并说明理由?-ARM汇编 第3章ARM指令系统
a) 将数字 16 存储到寄存器 r0 中,汇编指令如下:
```
MOV r0, #16
```
b) 将寄存器 r1 中的带符号数字除以 16,结果存储到寄存器 r0 中,汇编指令如下:
```
ASR r0, r1, #4
```
其中,ASR 表示算术右移,#4 表示移动 4 个位,相当于除以 16。
c) 将寄存器 r2 中的数字乘以 3,结果存储到寄存器 r1 中,汇编指令如下:
```
MOV r1, r2, LSL #1
ADD r1, r1, r2
```
其中,LSL 表示逻辑左移,#1 表示移动 1 个位,相当于乘以 2。因此,先将 r2 左移 1 位,再加上原值,即为乘以 3。
d) 将寄存器 r0 中的数字取反,结果存储到寄存器 r0 中,汇编指令如下:
```
RSB r0, r0, #0
```
其中,RSB 表示反减,#0 表示减去 0,相当于取反。
阅读全文