当前位置: 代码迷 >> 汇编语言 >> 新手请问一上关于Loop指令
  详细解决方案

新手请问一上关于Loop指令

热度:4562   发布时间:2013-02-26 00:00:00.0
新手请教一下关于Loop指令
我在看汇编语言第二版这书的时候学习到了loop指令,按书中的说明Loop指令的执行顺序为:

loop: 
第一步:cx-1
第二步:是否为零
第三步:如果为零着不循环接着执行下面的指令,如果不为零就跳转到标记处循环

如果按这样的思路来说,比如说我要求2的三次方
那么我的CX是否该设置为4呢?


因为如果我设置为2,那么loop只循环了两次,因为loop是先减去然后再判断。
麻烦前辈和学长解答一下我的想法是否正确呢?

------解决方案--------------------------------------------------------
执行到loop才减
------解决方案--------------------------------------------------------
求三次方,就是要循环 2 次吧,所以,如你所说就是设置为 2 了。
操作顺序方面,loop 的结构一般是:
l_loop:
  ; needed coding here
  loop l_loop
即往往是先执行操作,然后是 loop 指令进行判断;如果需要防止 cx 初始为 0 时的严重错误,可以之前用 jcxz 进行跳转。
  相关解决方案