ARM寄存器与指令模拟器  点击右侧指令执行,观察左侧寄存器变化(黄色=刚修改)

← 点击右侧指令
数据传送
MOV R0, #10 R0 = 10(十进制)
MOV R1, #0x12345678 R1 = 0x12345678
MOV R2, R0 R2 = R0(复制)
算术运算
ADD R3, R0, R1 R3 = R0 + R1
SUB R4, R1, R0 R4 = R1 - R0
位操作(GPIO控制关键)
AND R5, R1, #0xFF R5 = R1 AND 0xFF(取最低字节,清零高位)
ORR R6, R0, #0x80 R6 = R0 OR 0x80(bit7置1)
AND R0, R1, R2 官方样题:R1=0x12345678, R2=0xFF008899
加载/存储
LDR R0, [R1, #4] 从地址R1+4读取字到R0(R1不变)
LDR R0, [R1, #4]! 从R1+4读取字到R0,R1自动更新(!回写)
子程序调用(填空题必考)
BL MySubroutine 跳转并保存返回地址到 LR(R14)
MOV PC, LR 子程序返回(PC = LR)