1. 第一章架構
a. 符號約定 spa
a1. 字節順序事件
a2. 保留的比特位和軟件兼容性table
a3. 指令操做數兼容性
a4. 十六進制和二進制數軟件
a5. 分段地址語法
a. 符號約定二進制
a1. 字節順序程序
intel的32和64架構均使用小端地址模式。小端:高字節在高地址,大端:高字節在低地址。例如:數據
31 24 23 16 15 8 7 0
Byte3 | byte2 | byte1 | byte0 |
Byte0 | Byte1 | Byte2 | Byte3 |
4 小端
0 大端
a2. 保留的比特位和軟件兼容性
大多數寄存器都有地址映射,某些位可能標記爲保留,以便將來使用。軟件應視其爲未知、無效的。
使用保留位可能發生意想不到的錯誤,也不利於軟件的兼容性。
a3. 指令操做數
指令的形式以下,標籤:助記符 參數一,參數二,參數三。標籤,暗示一段代碼或者數據的開始,指
向代碼或數據段的首地址;助記符,指令做用的符號;參數可選。
a4. 十六進制和二進制數
十六進制以H符號結尾,二進制數以B符號結尾。例如:OFB2EH爲十六進制,10111B爲二進制。
a5. 分段地址
處理器使用字節尋址,也就是說地址空間由一個個字節組成,不管一次訪問一個或者多個字節,一個
地址只能對應於一個字節。處理器支持分段地址,有的程序的代碼、數據、棧可能不在同一個段內,可
以使用下列形式訪問:
DS:ffeeH
CS:EIP
a5. 新的獲取CPUID、CR和MSR寄存器值的語法
經過使用CPUID指令、檢查控制寄存器對應位或讀模式聲明寄存器獲取特性標誌、狀態或系統信息。
a6. 異常
異常是當指令引起錯誤、斷點中止、中斷處理的一個事件。