1将参数压入堆栈
2保存返回地址值
这两个步骤实现方法单一都是通过压栈来实现,确切的说是修改内存和ESP的值,并不是访问内存
至于保存寄存器的值的这个步骤,不太明白楼主的意思
BP为基地址。SP为堆栈的偏移地址
SS是堆栈段地址
物理地址表示形式为SS:SP
所以如果不存放数据时物理地址为:SS:SP=2000h:0016h
当初放了8字节数据后(堆栈单元放的是16位数据)所以地址加4即SS:SP=2000h:001ah
以上就是关于堆栈是怎么一回事全部的内容,包括:堆栈是怎么一回事、在用汇编语言编程时,程序调用与堆栈如何使用、memorymappingsegment发生段错误,如何回溯等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)