ARM知识汇总

来源:互联网 发布:自动整点报时软件 编辑:程序博客网 时间:2024/04/30 13:24

一、ARM的7种工作模式


 1、用户模式(usr):运行应用程序的普通模式;

 2、系统模式(sys):运行操作系统的特权任务。与用户模式类似,但具有直接切换到其他模式等;[特权];

 2、管理模式(SVC):复位或执行SWI软中断指令时(适合OS,这个模式有额外的特权,允许你进一步控制处理器),进入该模式;[特权.异常];

 3、终止模式(abt):处理器访问存储器失败时,进入该模式;[特权.异常];

 4、未定义指令模式(und):处理器遇到不支持的指令时,进入该模式;[特权.异常];

 5、中断模式(irq):处理器响应irq中断时,进入该模式;[特权.异常];
(快速中断模式比中断模式的寄存器要多,中断模式进出中断要自行保存现场和恢复现场)
(导致IRQ的设备有键盘、定时器、串行口、硬盘、软盘、等等...)

 6、快速中断模式(fiq):处理器响应fiq中断时,进入该模式;[特权.异常];
(常用于支持特殊的数据传送与通道处理,特权)

 

二、ARM指令


 1、bic  Rd,Rn,Oprand2   ;位清除指令
 [对Rn中的值和Operand2的值的反码按位进行逻辑“与”运算;]

 2、RSB  Rd,Rn,Oprand2   ;反向减法
 [将Oprand2 - Rn赋值给Rd;]

 3、ORR  Rd,Rn,Oprand2   ;或指令
 [将Rn与Oprand2相或后赋值给Rd;]

 4、ldr  Rn,Oprand2       ;赋值指令
 [把Oprand2存储的值读到寄存器Rn中]
       ldr  Rn,=Oprand2     
 [把Oprand2读到寄存器Rn中]

 5、STR  R0,[R1],#8    ;传送指令         
[将R0中的字数据写入以R1为地址的存储器中,并将新地址R1+8写入R1]
       STR  R0,[R1,#8]             
[将R0中的字数据写入以R1+8为地址的存储器中。]
       STR  r1, [r0]                      
[将r1寄存器的值,传送到地址值为r0的(存储器)内存中]


 

 

0 0
原创粉丝点击