【发布时间】:2016-11-07 02:51:10
【问题描述】:
我编写了一个汇编代码,其中包括:
XOR BL,BL
MOV CX,0
TOP:
INC BL,1
MOV AH,2
MOV DL, BL
INT 21H
LOOP TOP
循环执行的次数非常多(肯定超过 10,000 次)。如此长时间的循环执行背后的可能原因是什么?我对汇编语言非常陌生,发现与 CX=0 相关的代码没有任何效率。提前致谢。
【问题讨论】:
-
在调试器中单步执行代码并观察寄存器会发现这一点。在第一次迭代后你会看到 CX=0xFFFF,这会提示你去手册中查找它并发现它在递减之前没有检查。