求解栈段空间定义的问题??
求解?栈定义空间中,2字节的栈和16字节的栈,为什么16字节的栈定义可以运行,而2字节的栈空间运行到push时就退出程序了?assume cs:code,ss:stack,ds:data ;问题7.9 将datasg段中每个单词前4个字母改为大写字母。data segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
data ends
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start: mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,16
mov bx,0
mov cx,4
s0: push cx
mov cx,4
s: mov al,
and al,11011111b
mov ,al
inc bx
loop s
add bx,16
pop cx
loop s0
mov ax,4c00h
int 21h
code ends
end startnt] 栈太小了中debug的时候可能出现问题,因为单步中断时会把flags,cs,ip压栈
而你的栈空间太小,可能会覆盖掉有用的数据 BngThea 发表于 2017-12-1 13:57
栈太小了中debug的时候可能出现问题,因为单步中断时会把flags,cs,ip压栈
而你的栈空间太小,可能会覆盖 ...
目前,想也可能是debug对栈出错了,我在debug中调试,结果不能执行的 http://bbs.fishc.com/thread-100585-1-1.html
他的程序用debug调试的时候就出现了一些内容,这就是如果只设置一个字节的栈的话,debug调试就会错误。 兰陵月 发表于 2017-12-1 19:05
http://bbs.fishc.com/thread-100585-1-1.html
他的程序用debug调试的时候就出现了一些内容,这就是如果 ...
也就是说实际运行是正常的?? lengtian 发表于 2017-12-2 06:12
也就是说实际运行是正常的??
很有可能~无法得知 兰陵月 发表于 2017-12-2 10:56
很有可能~无法得知
谢了
页:
[1]