鱼C论坛

 找回密码
 立即注册
查看: 2068|回复: 10

实验3中不解之处,请兄弟帮忙解决,先行谢过!

[复制链接]
发表于 2012-10-22 23:28:20 | 显示全部楼层 |阅读模式

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

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

x
我按实验3的要求编辑好t1.asm文件,并编译连接后,生成t1.exe,运行正常。
assume cs:codesg

codesg segment
        mov ax,2000H
        mov ss,ax
        mov sp,0
        add sp,4
        pop ax
        pop bx
        push ax
        push bx
        pop ax
        pop bx
        
        mov AX,4c00H
        int 21H
codesg ends
end
但DEBUG追踪到 POP AX 时,下一条命令并不是 POP BX,而是 INT 3.
重复执行了两次都同样的结果,不知道是什么原因。求解答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-10-23 00:24:32 | 显示全部楼层
不知道是什么原因。求解答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-10-23 08:32:49 | 显示全部楼层
有没有可能跟硬件有关?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-10-24 00:08:04 | 显示全部楼层
应该不能从这个内存读取数据吧、、
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-10-24 09:20:32 | 显示全部楼层
我试着去更改sp值,当值为6时可以正常调示。不知道为什么4不可以,5也不可以呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-8-20 23:39:08 | 显示全部楼层
王爽第2版,add sp,10H
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-20 23:39:53 | 显示全部楼层
有人说,那是系统的地方,不让动。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-21 08:49:34 | 显示全部楼层
add sp,10     的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-9-10 22:52:17 | 显示全部楼层
这个问题我也遇到过,  过几天在使就可以了—— 要说怎么回事,我也不太清楚,我听小甲鱼说过一次,
   好像和系统成序有冲出,好像出现这样,再T 单步查的话,系统就会把你T出来。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-9-11 07:51:36 | 显示全部楼层
因为一开始SS段指向2000
pop ax这句把SS:SP指向的2000:0数据出栈放入ax中,2000:0处存放的都是0,所以CS的值被改变成了0
代码段已经不在原有的地方。
0000:0014刚好存放的数据是CC,被当做指令int 3执行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-9-11 09:23:14 | 显示全部楼层

pop ax把SS:SP指向的2000:0数据出栈放入ax中,但是为什么会改cs的值呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-29 01:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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