| 通用寄存器 | |||||
|---|---|---|---|---|---|
| EAX | 累加(Accumulator)寄存器 | AX(AH、AL) | 常用于乘、除法和函數返回值 | ||
| EBX | 基址(Base)寄存器 | BX(BH、BL) | 常做內存數據的指針, 或者說(shuō)常以它為基址來(lái)訪(fǎng)問(wèn)內存. | ||
| ECX | 計數器(Counter)寄存器 | CX(CH、CL) | 常做字符串和循環(huán)操作中的計數器 | ||
| EDX | 數據(Data)寄存器 | DX(DH、DL) | 常用于乘、除法和 I/O 指針 | ||
| ESI | 來(lái)源索引(Source Index)寄存器 | SI | 常做內存數據指針和源字符串指針 | ||
| EDI | 目的索引(Destination Index)寄存器 | DI | 常做內存數據指針和目的字符串指針 | ||
| ESP | 堆棧指針(Stack Point)寄存器 | SP | 只做堆棧的棧頂指針; 不能用于算術(shù)運算與數據傳送 | ||
| EBP | 基址指針(Base Point)寄存器 | BP | 只做堆棧指針, 可以訪(fǎng)問(wèn)堆棧內任意地址, 經(jīng)常用于中轉 ESP 中的數據, 也常以它為基址來(lái)訪(fǎng)問(wèn)堆棧; 不能用于算術(shù)運算與數據傳送 | ||
| 指令指針寄存器 | |||||
| EIP | 指令指針(Instruction Pointer)寄存器 | 總是指向下一條指令的地址; 所有已執行的指令都被它指向過(guò). | |||
| 標志寄存器 | |||||
| EFLAGS | 標志(Flag)寄存器: | 0 | CF | 進(jìn)位(Carry)標志 | 目標無(wú)法容納無(wú)符號算術(shù)運算的結果, 需要進(jìn)位或借位時(shí)被設置; 可用 STC 指令設置, CLC 指令取消. |
| 1 | |||||
| 2 | PF | 奇偶(Parity)標志 | 低 8 位中有偶數個(gè) 1 時(shí)被設置 | ||
| 3 | |||||
| 4 | AF | 輔助(Auxiliary)標志 | 使用 BCD 碼運算導致 3 位到 4 位產(chǎn)生進(jìn)位時(shí)被設置 | ||
| 5 | |||||
| 6 | ZF | 零(Zero)標志 | 運算結果為 0 時(shí)被設置 | ||
| 7 | SF | 符號(Sign)標志 | 運算結果為負數時(shí)被設置 | ||
| 8 | |||||
| 9 | |||||
| 10 | DF | 方向(Direction)標志 | 字符串操作是從高位到低位時(shí)被設置; 可用 STD 指令設置, CLD 指令取消. | ||
| 11 | OF | 溢出(Overflow)標志 | 因有符號運算的結果太寬而導致數據丟失時(shí)被設置 | ||
| ... | |||||
| 31 | |||||
| ... | |||||
聯(lián)系客服