Intel IA-32 / Intel 64 指令架構 之 指令解碼
 
引言:  -------------------------------------  IA-32 到 Intel 64 架構中 每一條匯編指令也由特定的格式給CPU的指令解碼器,或調試器的反匯編器(disassembler)解析,因而我們可以直觀地知道這些指令,第一層人類有能力看得懂的語言,其中每條指令由以下組件組成:    1. Instruction prefixes( 指令前輟) :  -------------------------------------    指令前輟分為4組:   Group 1 :  - Lock/repeat prefix :  F0h : LOCK prefix  F2h : REPNE/REPNZ  F3h : REP or REPE/REPZ , F3h prefix 更預設用在POPCNT,LZCNT,ADOX指令上   - Bound prefix :    Group 2:  - Segment override prefix:  2Eh - CS segment override  36h - SS segment override  3Eh - DS segment override  26h - ES segment override  64h - FS segment override  65h - GS segment override   - Branch hints(分支)  2Eh - 分支沒效,只有jcc指令使用  3Eh - 分支有效,只有jcc指令使用   Group 3 :  66h - Operand-size override    Group 4 :  67h - address-size override    LOCK prefix    - 強制向cpu發送LOCK#信號,確保原子操作  Repeat prefix - 重覆執行指定指令 比如movs, cmps, scas, lods, stos, ins, outs  Branch hint prefix  - 用於提醒CPU,最有可能的執行路徑(分支)  Operand/address-size override prefix  - 用於尋址時,operand/內存的16bit / 32bit大小切換    2. Opcode...