赞
踩
汇编里把一段内存空间定义为一个栈,栈总是先进后出,栈的最大空间为64K
比如把内存中的 10000H 到 1000FH 这段内存空间定义为一个栈,那么就需要执行如下汇编
mov ax,1000H
mov ss,ax
mov sp,0010H
这样设置了SS为1000H ,SP为0010,栈的指针执行1000:0010 也就是 10010H,这个地址是段地址的最大地址加1的位置,此时栈为空,
1: 执行压栈操作
mov ax,ff11h
push ax
执行push ax时先把sp=sp-2 ,也就是sp变为000E,再把ax放入到1000eH,1000FH位置(高高低低原则,1000EH放11H,1000FH放的是FFH)
此时压栈完成,继续push与此类似,push总是先压入高地址,再压低地址,而且必须是以字为单位,也就是必须2个字节 2个字节压入。
2: 然后执行pop bx出栈执行
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。