X86 汇编/内置数据类型

类型

编辑

从信号上来说, 暂存器和记忆体只存储离散状态值, 每一位非0即1.

从数据的字节数目来说, 有如下尺寸类型(1字节x2n, n=0,1,2,3,4):

  • 单字节: 字节(Byte),符
  • 双字节: 词(Word),字
  • 四字节: 双词(DWord, doubleword)
  • 八字节: 四词(QWord, quadword)
  • 16字节: 双四词, 八词(double quadword)

而数据类型完全由作用于其上的指令去解释:

  • 字串指令把这些离散值当字符
  • 无符号算术指令把它们当自然数
  • 有符号算术指令把它们当整数(编码为双补码, 得于原码之取反加一)
  • 浮点算术指令把它们当浮点数(小数点在01串中可浮动于任何位置). 位数有限致浮点数精度有限.

编码

编辑

x86不同指令执行时, 会把操作数当作如下编码之一进行操作.

  • 无编码:
  • 补码(双补码):
  • 浮点:
    • 单精度
    • 双精度
  • NaN(不是一个数)
  • 指针
  • 位域
  • 压缩SIMD数据类型
  • BCD码与压缩BCD码

汇编中数据的类型及编码将在指令一章中介绍.