1. 写一条 ARM 指令,分别完成下列操作:
a) r0 = 16
b) r0 = r1 / 16 (带符号的数字)
c) r1 = r2 * 3
d) r0 = -r0
a:MOV R0,#16
b:MOV R0,R1,ASR #4
说明:乘法是左移(左移1位是乘2)
除法是右移(右移1位是除2)
c:ADD R1,R2,R2,LSL #2 ;R1=R2+R2*2(R2中的值不变)
d:MVN R0,R0
2. 下面哪些立即数是数据处理指令中有效的数据?
a) 0x00AB0000 b) 0x0000FFFF c) 0xF000000F
d) 0x08000012 e) 0x00001f80 f) 0xFFFFFFFF
a: 合法 b: 非法 c:合法 d:非法 e:合法 f:非法(mvn)
3. BIC指令做什么用?
位清零
4. 为什么ARM 处理器增加了一条RSB 指令?
SUB R0,R1,#0X12
SUB R0,#0X12, R1 ;错误
方法一:
RSB R0,R1,#0X12 ;R0=0X12-R1
方法二:
MOV R2,#0X12
SUB R0,R2,R1
ARM汇编练习
最新推荐文章于 2024-05-05 12:37:13 发布