【LV12 Day9 专用指令】

状态寄存器传送指令
@读 CPSR
MRS R1,CPSR
@写CPSR
MSR CPSR,#0X10

软中断指令
软中断跳转到异常向量表后不能直接写中断程序,要写一条跳转指令跳转到处理程序
@异常向量表
B .MAIN
B .
B .SWI_HANDLER ----地址0x00000008
B .
B .
B .
B .
B .
@应用程序
MAIN:
MOV SP,#0X00000040
MSR CPSR,#0X10
MOV R1,#1
MOV R2,#2
SWI #1 软中断指令,PC值变为0x00000008
ADD R3,R2,R1
B STOP
@异常处理程序
SWI_HANDLER:
STMFD SP!,{R1,R2,LR} @压栈保护现场
MOV R1,#10
MOV R2,#20
SUB R3,R2,R1
LDMFD SP!,{R1,R2,PC}^ @出栈,小三角实现SPSR的值复制给CPSR

在这里插入图片描述

协处理器指令
协处理器运算指令
CDP
协处理器存储器访问指令
STC 将协处理器中的数据存储到存储器
LDC 将存储器中的数据读取到协处理器中
协处理器寄存器传送指令
MRC 将协处理器中寄存器的数据传送到ARM处理器中的寄存器
MCR 将ARM处理器中寄存器的数据传送到协处理器中的寄存器

伪指令
本身不是指令,编译器可以将其替换为若干条指令
@空指令
NOP
@指令
LDR R1,[R2]

@伪指令
LDR R1,0X12345678 @可以将任意一个32位数据放入寄存器

@将STOP的地址写入R1寄存器
LDR R1,=STOP

@将STOP的地址中的内容写入R1寄存器
LDR R1,STOP

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值