程序的機器級表示 -- 數據格式

《深入理解計算機系統(第三版)》閱讀隨筆

在 Intel CPU 體系中,其最早的 8086 是 16 位機,Intel 用術語“字”表示 16 位數據類型,後來發展到 32 位機時,稱 32 位數據類型爲“雙字”,直到現在的 64 位機,稱 64 位數爲“四字”。C 語言數據類型在 x86-64 機器中的大小對應關係如下圖所示:

C 聲明 Intel 數據類型 彙編代碼後綴 字節大小
char 字節 b 1
short w 2
int 雙字 l 4
long 四字 q 8
char* 四字 q 8
float 單精度 s 4
double 雙精度 l 8

其中彙編代碼後綴與彙編代碼指令結合使用,例如移動雙字操作就是 movl,其中四字操作就是 movq。整形雙字後綴和浮點型雙精度後綴雖然都是 l,但是由於它們屬於不同的指令集,因此命名不會衝突。

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