黑龙G 发表于 2012-4-14 20:41:57

小甲鱼讲loop时的问题?

小甲鱼在讲计算ffff:0006单元中的数乘以3,结果存储在dx中。mov al,mov ah,0mov dx,0把mov al,和mov ah,0合在一起我发现执行后的dx的值是不一样的,我觉得应该是不可以合在一起的我想知道的是可不可以合在一起用,有的话就给个例子看下,谢谢!ps:当时小甲鱼是说可以合一起用的

莫名其妙 发表于 2012-4-14 21:59:28

我翻了下书这题是讲loop 循环指令的
mov al   mov ah这两个指令执行完后修改的是ax 的值 跟DX没关系的
dx有关的是在 后面add dx,ax把dx的值加上ax 结果存在dx中 然后循环3次 想当于执行了ax的值乘以3 结果放在DX中

黑龙G 发表于 2012-4-14 22:10:25

我调试可执行文件两种是不一样的,到第4步的ds:0006=2f37,一个是ds:0006=37,到最后的dx里的值是不一样,那样子值不一样应该就是不可以合一起了,我也搞不懂哦!

┅☆伈随风飞 发表于 2012-4-14 22:48:02

我也认为是不能合在一起的,课本中的才是正确的。原因如下:
因为假设:
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的时候。才可以合在一起。。
不知道这么说对不对,请高人指点。。。

fishc1008 发表于 2017-1-21 14:08:38

学习学习

fishc1008 发表于 2017-1-21 14:15:44

学习学习
页: [1]
查看完整版本: 小甲鱼讲loop时的问题?