实验三碰到的小麻烦,求解答。
实验三单步运行到pop ax后,在执行会弹出错误窗口遇到无效指令, 代码我是按照书上所述写的。是代码有问题,还是系统兼容问题啊。本帖最后由 莫名其妙 于 2012-3-3 19:06 编辑
dnowload 发表于 2012-3-3 14:49 http://bbs.fishc.com/static/image/common/back.gif
用nd++打的代码 add sp,4 在debug里面显示的是 add sp,+4怎么回事呢,到了下一步pop ax在执行就错误了, ...
估计还是你的代码有问题 我用的也是nd++ 写的代码debug 正常调试到结束!~ 还有 add 的是sp 10 不是4
关于debug会显示 +应该是表示 方向的+号吧 意思是向下或者向后移动 要是-的话就是 向上 向前!~
assume cs:codesgcodesg segment start: mov ax,2000H mov ss,ax mov sp,0 add sp,10 pop ax pop bx push ax push bx pop ax pop bx mov ax, 4c00h int 21Hcodesg endsend start 用nd++打的代码 add sp,4 在debug里面显示的是 add sp,+4怎么回事呢,到了下一步pop ax在执行就错误了,不让继续了。 其实我自己搞明白问题了,后面的课程就有讲解了,汇编指令和编译器的指令是有写不同的,第二个是我的那些代码可能访问了系统内存,保护报错给我弹出来了 我也遇到了同样的问题,求解释,求指导。 我好像是一碰到栈的程序就无法实现工作了 √値臸緟嘞ˇ 发表于 2012-3-12 15:52 static/image/common/back.gif
我好像是一碰到栈的程序就无法实现工作了
访问了不该碰的空间,小问题。 你问的问题我也遇到了——我被TOU了几次——
后来我一想—— 我占用了不概占用的内存,
你换个内存地址使一下——应概就可以了吧,——
页:
[1]