《ARM嵌入式系统开发-软件设计与优化 》翻译错误?

wewe2000   2010-1-30 00:40 楼主
在《ARM嵌入式系统开发-软件设计与优化 》P106页说:
SUBS r1,r1,#1                      ;comprare i with 1,i=i-1
BGT  loop                          ;if(i+1>1) goto loop
红色部分是不是错了,应该要i-1吧?

回复评论 (4)

好像是错了吧。
好久不看ARM汇编指令集了
GT是条件码

点赞  2010-1-30 09:40
BGT  一般直接跟在有符号数减法或比较指令之后

大于0转移
if(i+1>1) goto loop

即为 if(i>0)
点赞  2010-1-30 10:30
while(--i>0);

应该是这个意思吧~~~
点赞  2010-2-1 12:17
引用: 引用楼主 luoliushui 的回复:
在《ARM嵌入式系统开发-软件设计与优化 》P106页说:
SUBS r1,r1,#1? ? ? ? ? ? ? ? ? ? ? ;comprare i with 1,i=i-1
BGT? loop? ? ? ? ? ? ? ? ? ? ? ? ? ;if(i+1>1) goto loop
红色部分是不是错了,应该要i-1吧?


这个是对照上面说的,上面已经说了i=i-1;
那么下面来说的话,原i应该是i+1。
原i>1才会使得GT成立,也就是(新i+1)>1。
呵呵,我看了下原版的英文,两本书都是这么写的。
点赞  2010-2-4 20:51
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复