條件碼:
①OF(Overflow Flag)溢出標誌,溢出時爲1,否則置0.標明一個溢出了的計算,如:結構和目標不匹配.
②SF(Sign Flag)符號標誌,結果爲負時置1,否則置0.
③ZF(Zero Flag)零標誌,運算結果爲0時置1,否則置0.
④CF(Carry Flag)進位標誌,進位時置1,否則置0.注意:Carry標誌中存放計算後最右的位.
⑤AF(Auxiliary carry Flag)輔助進位標誌,記錄運算時第3位(半個字節)產生的進位置。
有進位時1,否則置0.
⑥PF(Parity Flag)奇偶標誌.結果操作數中1的個數爲偶數時置1,否則置0.
控制標誌位:
⑦DF(Direction Flag)方向標誌,在串處理指令中控制信息的方向。
⑧IF(Interrupt Flag)中斷標誌。
⑨TF(Trap Flag)陷井標誌。
test eax. eax
將2操作數做與操作。(如果eax值爲0,則Z標誌位置1)(test邏輯與運算結果爲零,就把ZF(零標誌)置1;)
cmp opr, src
實質是對2操作數相減,改變標誌位ZF。opr==src則,ZF=0 (cmp 算術減法運算結果爲零,就把ZF(零標誌)置1)
所有函數或過程調用後的返回值都是存放在EAX中
00400000到00401000存儲的是PE文件的文件頭(包括MOS頭在內的各種亂七八糟的頭)
test eax eax ;eax爲0,設置ZF=1,否則爲0