ARM指令中的内存访问指令的总结
时间:11-20
来源:互联网
点击:
内存访问指令
LDR,STR,LDM,STM
LDR:表示从内存中读取数据到寄存器当中,如ldr r0,[r2];表示从r2指向的内存单元读取数据保存到r0当中
STR:表示把寄存器当中的数据保存到内存单元当中,如str r1,[r2];表示把r1中的值保存到地址为r2指向的内存单元当中
LDM/STM是指内存访问指令,用一条指令就可以读取多个数据,格式如下
LDM{cond}
STM{cond}
其中cond代表条件码
1.ia (incrementafter):事后递增方式
2.ib (incrementbefore):事先递增方式
3.da(decrementafter):事后递减方式
4.db(decrementbefore):事先递减方式
rn保存内存单元的地址,如果加上!,表示,使用后更新,等于下一个内存单元的地址
irq_handler:sublr, lr, #4 ;计算返回地址stmdbsp!, {r0-r12, lr} ;事前递减,!使得sp = sp -14*4,lr保存在高地址当中sp, r0保存在低地址当中 sp - 14*4ldrr2, = int_handler ;中断处理函数blr2 ;真实中断处理ldrlr, = int_return; ;从中断中返回irq_retrun:ldmiasp!, {r0-r12, lr}^ ;^将spsr拷贝到cpsr,!使得sp = sp + 14*4,r0中的值是低地下中的sp,lr中的得到是高地址sp +14*4指向的值
ARM指令内存访问指 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)