水之境界 发表于 2012-6-19 20:05:51

汇编问题7.9栈空间问题

本帖最后由 水之境界 于 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,
    and al, 11011111b
    mov , 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 就完全没有问题了,
请问这是什么原因?是和栈空间不足有关吗?

水之境界 发表于 2012-6-22 20:58:50

唉!没人理啊
页: [1]
查看完整版本: 汇编问题7.9栈空间问题