鱼C论坛

 找回密码
 立即注册
查看: 2865|回复: 3

[汇编作业] 关于实验 7 里面的一个很奇怪的问题

[复制链接]
发表于 2016-12-17 23:31:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 飞翔的石牌人 于 2016-12-18 16:25 编辑

直接上图

问题的重点来了, bx 和 si 寄存器的值是一样的, 那么为什么用了 bx 做偏移以后程序运行起来后就好像卡死一样, 但是用了 si 就可以运行成功, 求大神赐教。
1.png
2.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-12-18 15:54:31 | 显示全部楼层
本帖最后由 zealstar 于 2016-12-18 15:57 编辑

放完整代码,只看部分看不出来问题。

而且你这里不论是用bx,还是si,你后面的代码都没变

add bx,4
add si,2

这里难道没有问题?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-18 16:26:49 | 显示全部楼层
zealstar 发表于 2016-12-18 15:54
放完整代码,只看部分看不出来问题。

而且你这里不论是用bx,还是si,你后面的代码都没变

add bx, 4
add si, 2  这两句是在做一个地址偏移,这里没有问题

这段代码前面没有别的什么,  你就可以认为在我提问的那个问题之前 bx 和 si 的值为 0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-18 16:44:15 | 显示全部楼层
飞翔的石牌人 发表于 2016-12-18 16:26
add bx, 4
add si, 2  这两句是在做一个地址偏移,这里没有问题


怎么会没有关系?
你下面跟着就是一个循环跳转loop s

那么请问,在ds:[bx]和dx:[si}对应的数据:
第一次进入时bx=0,si=0,都是ds:[0]的对应值
但是经过一次loop之后,bx=4,si=2
那么,ds:[4]和ds:[2]对应的数值会一样?

所以我才要你放完整代码看你之前做了什么,在进行div 指令时,对应的数据是什么,是否会触发溢出。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-11 09:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表