关于王爽的汇编语言第四章实验
assume cs:codesgcodesg 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
为什么我用t单步执行到pop ax的时候就显示错误,谁能给个意见,谢谢了,最好能解释下
因为windows和DOS的运行机制是不一样的
在windows的命令行中debug和在纯DOS中debug是不一样的
windows在安全性方面比DOS更好
在windows中某些内存空间是不能直接访问
建议这个实验跳过,对后面的学习是没有什么影响的。
[此贴子已经被作者于2007-6-11 21:11:23编辑过]
pop只是把ss:[sp]中的数据提出来而已
它能否执行与是否有对应的push是没有关系的
最多就是你提出来的数据不是你想要的数据而已
pop只是把ss:[sp]中的数据提出来而已
它能否执行与是否有对应的push是没有关系的
最多就是你提出来的数据不是你想要的数据而已
但是在开始你没有东西入栈
栈是空栈 就不能出栈拉嘛
[此贴子已经被作者于2007-6-14 22:22:16编辑过]