关于栈的分配
今天看到 小甲鱼老师 寄存器(内存访问)第18视频,突然有个想法 不知道对不对 请大家指点下mov ax,1000
mov ss,ax
mov sp,ff
把sp 栈顶指向 10FF 是不是就是分配了 FD 大小的栈空间?
在CPU看来,栈空间是没有大小的。sp定下来之后(假如sp=1000),当你往栈中push数据,数据的存放空间就是从1000:FFFF~1000:0000;当你push到sp=0000的时候,从人类来看,栈空间已经“满了”,但从CPU来看不是这样,你再push一个,它就sp=sp-2=0000-2=FFFE,所以它会用新push进来的数据覆盖原1000:FFFE字空间中的数据。所以栈的“大小”是人类的概念,只能由你在编程时来把握来控制。 你这还是答非所问 ,我好奇的是 是不是这样的事情 比如 C++ 分配内存是NEW一样
页:
[1]