Chinaunix首页 | 论坛 | 博客
  • 博客访问: 94049
  • 博文数量: 19
  • 博客积分: 1455
  • 博客等级: 上尉
  • 技术积分: 210
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-04 14:14
文章分类
文章存档

2010年(14)

2008年(5)

我的朋友

分类: 嵌入式

2010-04-21 16:30:39

LDM指令: 带状态寄存器的批量内存字数数据读取指令
    LDM指令将数据从连续的内存单元中读取到指令中寄存器列表中的各寄存器中。它同时将当前处理器模式对应的SPSR寄存器内容复制到CPSR寄存器中。用于从异常中断中返回 恢复压栈的寄存器值
 
STM指令:将指令中寄存器列表中的各寄存器中的各寄存器数值写入到连续的内存单元中。
    它主要用于块数据的写入、数据栈操作以及进入子程序时保存相关的寄存器操作。
 
 
 
 
汇编指令长跳转:通过直接向PC寄存器读取子数据,程序可以实现在4GB的地址空间的任意跳转,这种跳转叫做长跳转。在下面的代码段中,程序将跳转到子程序Function处开始执行。子程序执行完成后,将返回到return_here处。
 
ADD LR,PC,#4    ;将子程序function的返回地址设置为当前地址后12字节处,即return_here处
 
LDR PC,[PC,#-4] ;从下一条指令(DCD function)中读取跳转的目标地址,这里为function
DCD function    ;DCD微操作保存跳转的地址
return_here
 
阅读(6411) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~