程序的机器级表示 -- 访问信息(三)

《深入理解计算机系统(第三版)》阅读随笔

压入和弹出栈数据

栈是一种数据结构,遵循“先进先出”原则。按照惯例,栈顶一般放在底部,栈向低地址方向增长,因此压栈是减小栈指针值,并将数据存在放在内存中,而出栈是从内存中读取数据,并且增加栈指针的值。

将一个四字值压入栈中,相当于先将栈指针减八,然后将值写入到新的栈顶地址,即分别使用 subq 和 movq 指令,共消耗八个字节,而如果使用入栈指令 pushq,只需一个字节即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章