汇编语言课后检测点6.1第二题求助
这一题我按照课本给出的空间补充完整后成下面的样子,运行后得到正确的结果,assume cs:code
code segment
dw 0123H,0456H,0789H,0abcH,0defH,0fedH,0cbaH,0987H
dw 0,0,0,0,0 →我的疑问在这个地方
start: mov ax,cs
mov ss,ax
mov sp,26
mov ax,0
mov ds,ax
mov bx,0
mov cx,8
s: push
pop cs:
add bx,2
loop s
mov ax,4c00H
int 21H
code ends
end start
上面箭头处是我的疑问所在,箭头处定义的空间是我们作为栈空间使用的,下面循环实际使用的只有一个字单元,debug跟踪sp一直在1aH和18H跳动,也就是实际使用的栈空间只有最后一个0所占的栈空间,那么我想是不是只要定义一个子单元做为栈空间就可以了呢? 但是我把程序改成下面这样后,确得不到正确结果
assume cs:code
code segment
dw 0123H,0456H,0789H,0abcH,0defH,0fedH,0cbaH,0987H
dw 0
start: mov ax,cs
mov ss,ax
mov sp,18
mov ax,0
mov ds,ax
mov bx,0
mov cx,8
s: push
pop cs:
add bx,2
loop s
mov ax,4c00H
int 21H
code ends
end start
因为程序会引发中断,需要进行现场保护。学到后边的中断你就明白了 我才学一半,大家一起努力把 敉沧 发表于 2012-10-20 11:40 static/image/common/back.gif
因为程序会引发中断,需要进行现场保护。学到后边的中断你就明白了
谢谢!看来还要加油继续往后学习啊 luffy 发表于 2012-10-22 10:30 static/image/common/back.gif
我才学一半,大家一起努力把
我才学习到第九章。共勉之 我也不明白:'( 大头 发表于 2012-11-12 23:33 static/image/common/back.gif
我也不明白
牵扯到中断~~往后继续学就可以明白了~~ 我也试过只定义一个字空间,但是sp改为18H 就没有问题了,理论上12h就好了的,但是后面几个字不能复制,我也是刚学到这里。{:5_109:}
页:
[1]