新手请教一下关于Loop指令
我在看汇编语言第二版这书的时候学习到了loop指令,按书中的说明Loop指令的执行顺序为:
loop:
第一步:cx-1
第二步:是否为零
第三步:如果为零着不循环接着执行下面的指令,如果不为零就跳转到标记处循环
如果按这样的思路来说,比如说我要求2的三次方
那么我的CX是否该设置为4呢?
因为如果我设置为2,那么loop只循环了两次,因为loop是先减去然后再判断。
麻烦前辈和学长解答一下我的想法是否正确呢?
[解决办法]
执行到loop才减
[解决办法]
求三次方,就是要循环 2 次吧,所以,如你所说就是设置为 2 了。
操作顺序方面,loop 的结构一般是:
l_loop:即往往是先执行操作,然后是 loop 指令进行判断;如果需要防止 cx 初始为 0 时的严重错误,可以之前用 jcxz 进行跳转。
; needed coding here
loop l_loop