汇编语言loop的简单执行过程

assume cs:codesg codesg segment start: mov ax,0001 mov cx,3
s:add ax,0001 loop s mov ax,4C00H int 21H
codesg ends
end start
上述过程的步骤是不是
先把0001(十进制)赋给ax,3赋给cx。
最关键步骤是循环,是这样吗?(1)首先无条件执行一次add ax,0001,ax变成0002,cx还是3.(2)现在cx-1成2,2不等于0,然后可以执行循环,add ax,0001,现在ax=0003.(3)然后cx-1=1不等于0,然后可以执行循环,add ax,0001,现在ax=0004(4)然后cx-1=0,退出循环,程序退出。

我在OD演示


 循环控制指令LOOP

 格式: LOOP 标号

 功能: (CX)<--(CX)-1,(CX)<>0,则转移至标号处循环执行, 直至(CX)=0,继续执行后继指令.

本指令是用CX寄存器作为计数器,来控制程序的循环.


温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-04
正确无误。给CX是多少,就循环多少遍。
相似回答