1. 第一章 a. 符號約定 a1. 位元組順序 a2. 保留的比特位和軟體相容性 a3. 指令操作數 a4. 十六進位和二進位數 a5. 分段地址 a. 符號約定 a1. 位元組順序 intel的32和64架構均使用小端地址模式。小端:高位元組在高地址,大端:高位元組在低地址。例如: 31 24 23 1 ...
1. 第一章
a. 符號約定
a1. 位元組順序
a2. 保留的比特位和軟體相容性
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. 異常
異常是當指令引發錯誤、斷點停止、中斷處理的一個事件。