导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→助,向各位大哥请教 对 加载/存储指令 LDM 和 STM 

* 84285: 助,向各位大哥请教 对 加载/存储指令 LDM 和 STM ,有礼了!

   星星电灯 
星星电灯发表的帖子 

 助,向各位大哥请教 对 加载/存储指令 LDM 和 STM ,有礼了!
请教:
LDMIA   R0!,{R3-R9}     ;加载 R0 指向的地址上的多字节数据,保存到 R3-R9 中,R0 值更新
STMIA   R1!,{R3-R9}     ;将 R3-R9 的值存储到 R1 指向的地址上,R1 值更新
STMFD   SP!,{R0-R7,LR}  ;现场保护,将 R0-R7,LR 入栈
LDMFD   SP!,{R0-R7,PC}^ ;恢复现场,异常处理返回 

这里有几个问题向各位大哥请教:

问题一:
LDMIA   R0!,{R3-R9} ;加载 R0 指向的地址上的多字节数据,保存到 R3-R9 中,R0 值更新

小问题1:
假设 R0 的初值是 0x11,R0 又不是指针,怎么能说 R0 指向的地址呢?
还有又怎么知道 R0 指向的地址值是多少呢?

小问题2:
假设 R0 的初值是 0x11 ,是不是给 R3-R9 中的每个寄存器都赋值 0x11 啊?

小问题3:
假设 R0 的初值是 0x11 ,那么 R0 值更新后,R0 值是多少啊?


问题二:

STMFD   SP!,{R0-R7,LR}  ;现场保护,将 R0-R7,LR 入栈

小问题1:
这句话的意思能不能理解为:将 R0-R7,LR 的数据存储到 SP 指向的地址上?

小问题2:SP 的值要不要更新,如果会更新的话,那么和原来的值相比,是
        增加多少?或者减少多少?
小问题3:
        现场保护 为什么要把 LR 也入栈呢?

问题三:
      LDMFD   SP!,{R0-R7,PC}^ ;恢复现场,异常处理返回
       
小问题1:
       PC 得到的值,是 STMFD   SP!,{R0-R7,LR} 的
       LR 的值吗?

       SP 的值要不要更新,如果会更新的话,那么和原来的值相比,是
        增加多少?或者减少多少?

在此多谢各位大哥! 



发表时间:2005年9月28日17:17:03

  
回复该帖

本主题共有 1 帖,分页:>>>>>该主题的所有内容[1]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:不能的, 综合的时候会出现错误。 http://www.9iv.com/down/i
[下一篇帖子]:quartus 5.0也可以找得到。 http://www.9iv.com/dow