关于实验 7 里面的一个很奇怪的问题
本帖最后由 飞翔的石牌人 于 2016-12-18 16:25 编辑直接上图
问题的重点来了, bx 和 si 寄存器的值是一样的, 那么为什么用了 bx 做偏移以后程序运行起来后就好像卡死一样, 但是用了 si 就可以运行成功, 求大神赐教。 本帖最后由 zealstar 于 2016-12-18 15:57 编辑
放完整代码,只看部分看不出来问题。
而且你这里不论是用bx,还是si,你后面的代码都没变
add bx,4
add si,2
这里难道没有问题? zealstar 发表于 2016-12-18 15:54
放完整代码,只看部分看不出来问题。
而且你这里不论是用bx,还是si,你后面的代码都没变
add bx, 4
add si, 2这两句是在做一个地址偏移,这里没有问题
这段代码前面没有别的什么,你就可以认为在我提问的那个问题之前 bx 和 si 的值为 0 飞翔的石牌人 发表于 2016-12-18 16:26
add bx, 4
add si, 2这两句是在做一个地址偏移,这里没有问题
怎么会没有关系?
你下面跟着就是一个循环跳转loop s
那么请问,在ds:和dx:[si}对应的数据:
第一次进入时bx=0,si=0,都是ds:的对应值
但是经过一次loop之后,bx=4,si=2
那么,ds:和ds:对应的数值会一样?
所以我才要你放完整代码看你之前做了什么,在进行div 指令时,对应的数据是什么,是否会触发溢出。
页:
[1]