arm汇编的学习

本文深入探讨了ARM处理器的7种工作模式及其寄存器配置,包括特权与非特权模式。详细介绍了CPSR寄存器、汇编指令格式、立即数、寻址方式以及算数逻辑指令。此外,还涵盖了内存操作、跳转指令、状态寄存器操作、异常处理和汇编与C/C++的混合编程实践。
摘要由CSDN通过智能技术生成

 

一.处理器模式(不同架构可能会有所不同,比如cotex A系列的多了几种模式)

模式

描述

Supervisor

(SVC)

当复位或者软中断(SWI)指令被执行时进入

特权模式

FIQ

一个高优先级的快速中断产生时进入

IRQ

一个低优先级的普通中断产生时进入

Abort

用来处理内存访问异常

Undef

用来处理未定义的指令

System

特权模式,与用户模式使用相同寄存器

User

大多数应用程序/操作系统任务执行时的模式

非特权模式

上面的图显示了arm的7种工作模式,其又分为特权模式和非特权模式,其中操作系统就是工作在特权模式的。每种不同的工作模式对应了不同的寄存器,下面我们开始介绍每种工作模式对应的是那些寄存器。

二.寄存器(每个寄存器32位)

用户模式

系统模式

特权模式

中止模式

未定义指令模式

外部中断模式

快速中断模式

R0

R0

R0

R0

R0

R0

R0

R1

R1

R1

R1

R1

R1

R1

R2

R2

R2

R2

R2

R2

R2

R3

R3

R3

R3

R3

R3

R3

R4

R4

R4

R4

R4

R4

R4

R5

R5

R5

R5

R5

R5

R5

R6

R6

R6

R6

R6

R6

R6

R8

R8

R8

R8

R8

R8

R8_fiq

R9

R9

R9

R9

R9

R9

R9_fiq

R10

R10

R10

R10

R10

R10

R10_fiq

R11

R11

R11

R11

R11

R11

R11_fiq

R12

R12

R12

R12

R12

R12

R12_fiq

R13

R13

R13_svc

R13_abt

R13_und

R13_inq

R13_fiq

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值