assume cs:code
code segment
start: mov ax,temp
mov ss,ax
mov sp,16
mov ax,4240H
mov dx,000FH
mov cx,0AH
call divdw
mov ax,4c00h
int 21h
divdw: push ax
mov ax,dx
mov dx,0
div cx
push ax
mov bp,sp
mov ax,[bp+2]
div cx
mov cx,dx
mov dx,[bp]
add sp,4
ret
code ends
end start
用栈来保存数据,栈顶仅仅和sp有关,和stack segment自定义的数据段无关,要使栈和定义的数据段吻合,需要设置合适的sp值。如果用debug调试,则栈中还会有一些其它数据,会随着数据进栈出栈而浮动,在利用栈数据的时候要小心。