《深入理解計算機系統(第三版)》閱讀隨筆
壓入和彈出棧數據
棧是一種數據結構,遵循“先進先出”原則。按照慣例,棧頂一般放在底部,棧向低地址方向增長,因此壓棧是減小棧指針值,並將數據存在放在內存中,而出棧是從內存中讀取數據,並且增加棧指針的值。
將一個四字值壓入棧中,相當於先將棧指針減八,然後將值寫入到新的棧頂地址,即分別使用 subq 和 movq 指令,共消耗八個字節,而如果使用入棧指令 pushq,只需一個字節即可。
《深入理解計算機系統(第三版)》閱讀隨筆
棧是一種數據結構,遵循“先進先出”原則。按照慣例,棧頂一般放在底部,棧向低地址方向增長,因此壓棧是減小棧指針值,並將數據存在放在內存中,而出棧是從內存中讀取數據,並且增加棧指針的值。
將一個四字值壓入棧中,相當於先將棧指針減八,然後將值寫入到新的棧頂地址,即分別使用 subq 和 movq 指令,共消耗八個字節,而如果使用入棧指令 pushq,只需一個字節即可。
腳本如下: 1 # coding: utf-8 2 3 """ 4 該腳本主要做把源目錄下所有文件,照搬原路徑基礎上覆制文件 5 """ 6 7 import os 8 # import shutil