fish-john 发表于 2014-6-10 12:48:22

关于王爽老师汇编语言第四章的实验问题

为什么在编译和连接后,在debug命令下不能没有 mov sp,0这一步而且这两步变成了一步。求大神解释?

fish-john 发表于 2014-6-10 13:41:28

有没有大神来解决下?

xiaosawanjava 发表于 2014-6-10 14:30:43

本帖最后由 xiaosawanjava 于 2014-6-10 14:32 编辑

这个是因为movss,ax 屏蔽了中断,在给 ss 栈段寄存器赋值的时候 默认是和sp赋值紧接这 在一起的,如果不是这样那我只设置了ss 然后debug 就执行中断,此时中断压入的栈顶是错误的,因为我们都还没有设置sp的值
反正总的来说是这样字的,在给ss赋值的时候,下面一条指令是一起执行的:比如
mov ss,ax
mov ax,0   
mov sp,0

这样你就看不到 mov ax,0 这句话的执行了,而mov sp,0 可以看到

fish-john 发表于 2014-6-10 16:49:59

xiaosawanjava 发表于 2014-6-10 14:30 static/image/common/back.gif
这个是因为movss,ax 屏蔽了中断,在给 ss 栈段寄存器赋值的时候 默认是和sp赋值紧接这 在一起的,如果 ...

是不是说再赋值ss的时候后面的那一条是一起执行的

xiaosawanjava 发表于 2014-6-10 17:56:03

fish-john 发表于 2014-6-10 16:49 static/image/common/back.gif
是不是说再赋值ss的时候后面的那一条是一起执行的

嗯,就是这样子的。
页: [1]
查看完整版本: 关于王爽老师汇编语言第四章的实验问题