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碼

匯編中數據的類型及編碼將在指令一章中介紹.