首页
社区
课程
招聘
用DEBUG调试时出错
发表于: 2009-1-29 23:20 3751

用DEBUG调试时出错

2009-1-29 23:20
3751
各位老师,这是我在学习王爽老师编的汇编语言时的课后作业,用DEBUG跟踪一个可执行程序,我是按书上的代码抄的,不知为什么调试时堆栈操作就出错,例如将下面的代码编译连接后,在DEBUG中用T跟,到POP AX 就出错,提示c:\windows\system32\cmd.exe-debug c:\masm\t1.exe  ntvdm cpu 遇到无效的指令,不知是为什么:
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

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
老师们帮助一下嘛,我不知道错在哪里了
2009-1-30 08:40
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
3
16位程序建议在虚拟机装个纯DOS,或者用8086模拟器来跑,NT下的ntvmd提供的虚拟86环境与真正8086实模式有一定的区别,所以出了错也不太容易搞清楚原因。

虚拟机推荐使用bochs,模拟器我记得有一个软件叫emu8086,这两种环境都自带调试功能,连调试器都可以省了。
2009-1-30 13:35
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
看不懂。。。差距啊
2009-1-30 21:33
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢版主,我试试,我其它知识不多
2009-1-31 12:19
0
雪    币: 231
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
qdk
6
程序里加上
.model small看看
我也遇到过这样的问题
2009-1-31 13:14
0
游客
登录 | 注册 方可回帖
返回
//