关于SWI指令切换模式
来源:互联网 发布:黑客攻防编程解析pdf 编辑:程序博客网 时间:2024/06/10 15:39
AREA vectors,CODE,READONLY
ENTRY
vector
ldr PC,Reset_Addr //将程序地址写入PC;ldr PC,[pc, #offset to literal pool]
ldr PC,Undef_Addr
ldr PC,SWI_Addr
ldr PC,Pref_Addr
ldr PC,Abort_Addr
ldr PC,IRQ_Addr
ldr PC,FIQ_Addr
Reset_Addr DCD Reset_Handler //文字库
Undef_Addr DCD Undefined_Handler
SWI_Addr DCD SWI_Handler
Pref_Addr DCD Prefetch_Handler
Abort_Addr DCD Abort_Handler
IRQ_Addr DCD IRQ_Handler
FIQ_Addr DCD FIQ_Handler
start
bReset_Handler
Undefined_Handler
bUndefined_Handler
SWI_Handler
SoftwareInterrupt
LDR R0,[LR,#-4] //将swi的程序指令给R0
BIC R0,R0,#0xFF000000 //将高八位清零,剩下的就是swi 后面的数据(中断号)
CMP R0, #3
LDRLO PC, [PC, R0, LSL #2]
bx lr
SwiFunction
DCD function0 ;0
DCD function1 ;1
DCD function2 ;2
function0
movs r1,#10
bx lr
function1
movs r2,#10
bx lr
function2
movs r3,#10
bx lr //跳转到SWI指令行的下一条指令,lr 保存的是程序发生异常时的下一条指令的地址
Prefetch_Handler
bPrefetch_Handler
Abort_Handler
b Abort_Handler
nop ;/* Reserved vector */
IRQ_Handler
bIRQ_Handler
FIQ_Handler
bFIQ_Handler
注意:一定要确保程序的起始地址从0x0开始,可以通过设置“Options For Target”中link的起始地址
- 关于SWI指令切换模式
- ARM 软中断指令SWI
- ARM 软中断指令SWI
- 关于LPC3250中的SWI函数
- 关于TI sysbios 的SWI
- SWI指令---软件中断实例详解(原创)
- SWI指令---软件中断实例详解
- SWI指令---软件中断实例详解
- ARM汇编的SWI指令软中断
- ARM汇编的SWI指令软中断
- SWI指令---软件中断实例详解
- SWI指令---软件中断实例详解
- SWI指令---软件中断实例详解——转载
- uc/os任务切换分析(基于swi软中断)
- ARM处理器模式切换(含MRS,MSR指令)
- ARM处理器模式切换(含MRS,MSR指令)
- ARM处理器模式切换(含MRS,MSR指令)
- ARM处理器模式切换(含MRS,MSR指令)
- UsageEnviroment的分析
- 通过正则获得pdf页数
- 句柄函数
- DSP的混合编程
- 【操作系统】编程技术--系统调用实现机理
- 关于SWI指令切换模式
- jquery增加/删除列
- linux 客户端中文乱码
- zoj1010——Area
- Firefox中XUL元素可用的Style属性
- Android连网Get、Post和HttpURLConnection
- dbms.buffer.IDEntry
- ucos ii下的硬中断服务问题
- CAP理论及系统一致性