日常刻书

程序的机器级表示 -- 数据格式

2021-09-24  本文已影响0人  F_wind

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

在 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,但是由于它们属于不同的指令集,因此命名不会冲突。

上一篇 下一篇

猜你喜欢

热点阅读