一个很菜鸟的汇编问题

来源:百度知道 编辑:UC知道 时间:2024/07/01 06:57:03
我刚学汇编语言有下面一段代码看不懂,希望大家指点一二:
-A100
XXXX:0100 XOR AL,AL
XXXX:0102 INC AL
XXXX:0104 DAA
XXXX:0105 JMP 102
XXXX:0107
执行 T命令后得到 AL=00;
XXXX:0102 INC AL
然后执行命令 T1B(即连续执行步)
得到的AL=0A.
我感觉很奇怪,INC AL的意思是使AL中的数据每次加,执行27次后,结果应该是AL=1B呀,怎么会是AL=0A.里面有个DAA,查了一下,是表示十进制加法转化,具体在这个程序里起什么作用就不知道了.还请高手讲一下

你每次调用T命令,debug只会执行一条语句,你调用T1B,是执行了27条语句,但是并不是27次循环,你的每个循环体里面有3条语句,执行了27条后,循环体应该被运行了9次,所以,AL里面是9。并不是你说的0A,你是不是又单步执行了一次啊。
我运行的结果也是09H

T1B命令应该是连续执行代码中的命令
0100 //执行第一步
0102 //第二步
0104 //第三步
0105 //第四步 然后再回到0102 是第五步,一直循环
不知对否?