|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 水之境界 于 2012-6-19 20:08 编辑
王爽老师的书,问题7.9
assume cs:code, ds:data, ss:stack
stack segment
dw 0,0,0
stack ends
data segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modfiy '
data ends
code segment
start:
mov ax, stack
mov ss, ax
mov sp, 6
mov ax, data
mov ds, ax
mov bx, 0h
mov cx, 4h
s1: push cx
mov di, 0h
mov cx, 4h
s2: mov al, [bx+di+3]
and al, 11011111b
mov [bx+di+3], al
inc di
loop s2
add bx, 16
pop cx
loop s1
mov ax, 4c00H
int 21H
code ends
end start
如果这样写debug到mov di, 0h这一行必出错,
但是如果增加栈空间到8字节或以上,即把红色字体部分改为 dw 0,0,0,0 mov sp, 8 就完全没有问题了,
请问这是什么原因?是和栈空间不足有关吗?
|
|