关注:两本书、同样的出版社、同样的例程、注释却不一样。

[复制链接]
3672|11
 楼主| 新手forARM 发表于 2007-9-20 10:03 | 显示全部楼层 |阅读模式
ST, ARM, AC, STM, DSP
关注!读书不如无书!两本书、同样的出版社、同样的例子,不同的结果。<br />为了啃ARM的汇编方言,本人手头上有两本书:<br />一本:&lt&lt嵌入式系统开发与应用&gt&gt&nbsp;田泽 编著 北京航空航天大学出版社<br />1、LDR &nbsp;&nbsp;R8,[R10]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;R8&nbsp;&lt-[R0]<br />2、LDENE&nbsp;&nbsp;R2,[R5,#960]!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;(有条件地)R2&lt-[R5+960],R5&lt-R5+960<br />3、STR&nbsp;&nbsp;&nbsp;&nbsp;R2,[R9,#consta&nbsp;-struc]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;consta&nbsp;-struc&nbsp;是常量表达式,该常量值的范围为0-4095<br />4、STRB&nbsp;&nbsp;&nbsp;R0,[R3,-R8,ASR&nbsp;#2]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;R0-&gt[R3-R8/4],存储R0的最低有效字节,R3和R8不变<br />5、STR&nbsp;&nbsp;&nbsp;&nbsp;R5,[R7],#-8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;R5-&gt[R7],R1&lt-R7-8<br />6、LDR&nbsp;&nbsp;&nbsp;&nbsp;R0,localdata&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;加载一个字,该字位于标号lacaldata所在地址<br /><br />另外一本:&lt&ltAT91系列ARM核微控制器结构与开发&gt&gt&nbsp;骊忠梅毒 徐英慧 叶勇建 林明 编著<br />1、LDR &nbsp;&nbsp;R8,[R10]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;R8&nbsp;&lt-[R0]<br />2、LDENE&nbsp;&nbsp;R2,[R5,#960]!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;(有条件地)R2&lt-[R5+960],R5&lt-R5+960<br />3、STR&nbsp;&nbsp;&nbsp;&nbsp;R2,[R9,#consta&nbsp;-struc]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;consta&nbsp;-struc&nbsp;是常量表达式,该常量值的范围为0-4095<br />4、STRB&nbsp;&nbsp;&nbsp;R0,[R3,-R8,ASR&nbsp;#2]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;R0&lt-[R3-R8/4],存储R0的最低有效字节,R3和R8不变<br />5、STR&nbsp;&nbsp;&nbsp;&nbsp;R5,[R7],#-8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;R5&lt-[R7],R1&lt-R7-8<br />6、LDR&nbsp;&nbsp;&nbsp;&nbsp;R0,localdata&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;加载一个字,该字位于标号lacaldata所在地址<br /><br />请留意程序第4行和第五行的注释&nbsp;&nbsp;个人认为前者是对的!<br />面对现在的书真的是无言......而且价格都特贵!!!!!!!!!!<br /><br />另外还有一个关开进栈和出栈问题想请教各位前辈:<br />STMFD&nbsp;&nbsp;SP!&nbsp;{R1-R7,LR}&nbsp;&nbsp;&nbsp;;将R1-R7,LR入栈<br />LDMFD&nbsp;&nbsp;SP!&nbsp;{R1-R7,LR}&nbsp;&nbsp;&nbsp;;数据出栈,放入R1-R7,LR寄存器<br />与常规理解数据加载和储存的方向刚好相反,不好记啊!<br />常规STM数据方向应该是Rn-&gtRd(左到右)&nbsp;&nbsp;&nbsp;<br />常规LDR数据方向应该是Rd&lt-Rn(右到左)<br />怎么这个堆栈操作跟常规的数据加载和储存有点不一样呢?<br />理解不正确之处请大家指正!<br />谢谢!<br />说明:本人是新手&nbsp;&nbsp;&nbsp;
 楼主| 新手forARM 发表于 2007-9-20 10:17 | 显示全部楼层

检讨自己:读书还是靠理解,不能死读书、读死书!

检讨自己:读书还是靠理解,不能死读书、读死书!<br />多寄存器储存指令:<br />LDM/STM{&ltcond&gt}&ltadd&nbsp;mode&gt&nbsp;Rn{!},&ltregisters&gt<br />
Atmel51 发表于 2007-9-20 10:35 | 显示全部楼层

很正常!,我也在学ARM我看的书上有错字和漏字呢!

  
太阳之母 发表于 2007-9-20 15:51 | 显示全部楼层

嘿嘿

第二书的作者是谁?名字有四个字的那位,是日本人吗?
walnutcy 发表于 2007-9-20 16:04 | 显示全部楼层

估计是把著不小心打成毒了吧,呵呵

  
阿南 发表于 2007-9-20 19:25 | 显示全部楼层

我当初仔细学习的是《ARM体系结构与编程》,

看的很仔细,在书上做了很多笔记,可是后来把那本书给丢了,我心疼了好长时间,因为在书上画了很多重点,做了很多注释.后来又去买了一本收藏着,现在只有用到时查一下.<br />楼主可以找一个具体的程序分析,如s3c2410,或s3c44b0x等公版程序的启动代码部分,实践应用中差不多也只有这些部分是汇编了,当然您在仿真调试时有时要看一下反汇编代码,有利于分析.
computer00 发表于 2007-9-20 20:56 | 显示全部楼层

我看的也是《ARM体系结构与编程》,这本书不错,虽然里面

作者比较粗心,有些地方是直接复制过来的,都忘记改了...
Ice_River 发表于 2007-9-21 10:54 | 显示全部楼层

多看书和代码,你的抵抗力会增加。

现在写书的,有多少是纯自己写的,基本都是抄,就看谁抄的水平高了。<br />你的代码前者我认为正确。《ARM体系结构与编程》很不错!
 楼主| 新手forARM 发表于 2007-9-21 11:09 | 显示全部楼层

回太阳之母 SORRY!

第二书的作者是谁?名字有四个字的那位,是日本人吗?<br />马忠梅 徐英慧 叶勇建 林明 编著<br /><br /><br />&nbsp;<br />
 楼主| 新手forARM 发表于 2007-9-21 12:55 | 显示全部楼层

TO南大哥

TO南大哥<br /> 听朋友说&lt&ltARM体系结构与编程&gt&gt这本书相对于其它的书籍来说写得好很多!<br />是吗?准备明天到广州购书中心弄一本回来!继续......
阿南 发表于 2007-9-21 13:33 | 显示全部楼层

老一辈的ARM工程师基本是参考这本书

  
soso 发表于 2007-9-21 13:40 | 显示全部楼层

程序对错,可以用AXD来验证一下。

我想信有N多书上注解都有错误,而且有的就是误导性译法。ARM体系结构与编程不太适合新手看,有些基础后再看会好些。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

37

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部