LOOP指令
Loop指令和cx寄存器配合使用, 用于循环操作,类似于高级语言中的do while循环
使用格式
mov cx,循环次数
标号:
循环执行的程序代码
loop 标号
标号的名称可以自定义...执行流程
第一步:不管cx中值是否大于0, 先执行一遍循环体(因为程序还未执行到loop 标号位置时,程序不知道是个循环体, 当做正常流程代码执行)
第二步: 执行到loop 标号位置,确认是个循环体后..., 先将cx减1,也就是cx=cx-1
第三步:减1后结果如果大于1,则重复执行循环体, 否则跳过循环体代码,继续执行loop 标号后面的代码
总结
因此,从代码层面上看cx的值代表了循环次数, 事实上只循环了...因为-1在计算机里面对应的十六进制为FFFF, 二进制第一位为符号位
小练习
题目: 取出以下内存地址中的值并且相加取和
FFFF0H----->20h #每个内存单元存放一个字节数据
FFFF1H...dx,ax
mov al,[1]
mov ah,0h
add dx,ax
mov al,[2]
mov ah,0h
add dx,ax
这种方式保证了数据超出后自动进位, 最后结合loop