ATT彙編學習筆記——數據格式

ATT彙編的數據格式

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

因爲Intel處理器的體系結構是從16位擴展到32位的,Intel用術語字(word)表示16位數據類型,雙字(double words)表示32位數據類型,四字(quad words)表示64位數據類型。

上表中給出了C語言中的數據類型和Intel數據類型的對應關係,同時,大多數GCC生成的彙編代碼指令都有一個字符的後綴,表明操作數據的大小。

對於浮點數主要兩種數據類型:單精度(4字節)值,對應於C語言中的float數據類型;雙精度(8字節)值,對應於C語言中的double數據類型。

很明顯雙字(int)型和雙精度(double)的後綴是一樣,可能會引起指令的衝突,實際上並不會,因爲,浮點數使用的指令和寄存器和整數所使用的完全不同。

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