assume cs:code,ss:stack stack segment db 4 dup(11h);create 4 byte's memory and inject 11*4 stack ends code segment start: mov ax,stack mov ss,ax mov ax,4 mov sp,ax mov ax,8888h push ax ;acording to the size of ax code ends end start
assume干嘛的我也不清楚,其实去掉这一句没什么影响
下面就是定义一个栈段,存的地方好像编译器会处理,你可以直接读
还没定义sp的时候是这样的,一旦定了sp
就是随机数
这是你定义的sp,指向第四对值,因为你的栈是db就是两个数为一组的
push一下,发现sp变成了2
sp push就向后退,好像只能push ax16位寄存器大小的数,就是十六进制0000h 二进制就是0000 0000 0000 0000
如果你用了pop
就变回原来的样子,sp到原来的4
标签:汇编,0000,实现,sp,mov,操作,push,ax,stack From: https://www.cnblogs.com/Frank-dev-blog/p/16927786.html