小甲鱼讲loop时的问题?
小甲鱼在讲计算ffff:0006单元中的数乘以3,结果存储在dx中。mov al,mov ah,0mov dx,0把mov al,和mov ah,0合在一起我发现执行后的dx的值是不一样的,我觉得应该是不可以合在一起的我想知道的是可不可以合在一起用,有的话就给个例子看下,谢谢!ps:当时小甲鱼是说可以合一起用的我翻了下书这题是讲loop 循环指令的
mov al mov ah这两个指令执行完后修改的是ax 的值 跟DX没关系的
dx有关的是在 后面add dx,ax把dx的值加上ax 结果存在dx中 然后循环3次 想当于执行了ax的值乘以3 结果放在DX中
我调试可执行文件两种是不一样的,到第4步的ds:0006=2f37,一个是ds:0006=37,到最后的dx里的值是不一样,那样子值不一样应该就是不可以合一起了,我也搞不懂哦! 我也认为是不能合在一起的,课本中的才是正确的。原因如下:
因为假设:
ds:=12H ds:=34h
则:
按照小甲鱼合在一起的方式:执行:mov ax,后 ax=3412h
按照课本的编写方式:执行
mov al,
mov ah,0
后:al=12h ah=00h 即:ax=0012h
所以执行:
mov dx,0
add dx,ax
得出的结果肯定是不一样的。
只有当ds:=12H ds:=00h的时候。才可以合在一起。。
不知道这么说对不对,请高人指点。。。
学习学习 学习学习
页:
[1]