这个程序这样改为什么不行?
assume cs:codesg,ss:stacksg,ds:datasg
stacksg segment
dw 0,0,0,0,0,0,0,0 这里改成一个0
stacksg ends
datasg segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
datasg ends
codesg segment
start:
mov ax,stacksg
mov ss,ax
mov sp,16 这里改成2
mov ax,datasg
mov ds,ax
mov bx,0
mov cx,4
s0:
push cx
mov si,0
mov cx,4
s:
mov al,[bx+3+si]
and al,11011111b
mov [bx+3+si],al
inc si
loop s
add bx,16
pop cx
loop s0
mov ax,4c00h
int 21h
codesg ends
end start
这程序不是始终在重复的使用SP指向的那两个字节入栈和出栈嘛,怎么我改后,程序运行到第三步,就终止了?