能力值:
( LV2,RANK:10 )
|
-
-
2 楼
看不懂~~~~~~~~~
|
能力值:
( LV4,RANK:50 )
|
-
-
3 楼
栈是高地址向低地址的 push之后sp变小了 没有越界
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
入栈之后,sp=sp-2,变小了。你可以看一下王爽的汇编书,那个上面有图有真相,讲得很清楚
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
sp:000EH
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
我知道SP是变小了,但是程序的起初是定义了db 16 dup (0) 的啊。已经定义了16个字节。这个时候在PUSH AX 进去,那么原先栈的内容不是出界了吗?
|
能力值:
( LV4,RANK:50 )
|
-
-
7 楼
sp=16 栈是空的
sp=0 栈满了
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
楼上正解。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
按照内存的分布 入栈的过程 是 由高地址向低地址方向 sp=10H,push ax,sp=0Eh,栈中保存ax的值,即栈段首地址,不知道我说的对否?
|
能力值:
( LV4,RANK:40 )
|
-
-
10 楼
栈是倒着数的,慢慢往下减,当sp<0的时候就溢出了,可能会影响到其他代码。所谓入栈就是从高的值慢慢往下压。
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
push后 sp-2 pop后sp+2才会
|
|
|