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调试,则栈中还会有一些其它数据,会随着数据进栈出栈而浮动,在利用栈数据的时候要小心。
本文详细解析了如何使用栈来保存数据,特别强调了设置合适sp值的重要性,以及在debug环境下栈的动态变化。通过实例展示了代码段,展示了如何通过调用divdw函数实现栈操作和数据传递。
3013

被折叠的 条评论
为什么被折叠?



