組合語言中的跳轉指令以及標誌位總結

2021-10-03 16:55:06 字數 1272 閱讀 2606

of:overflow,有符號溢位標誌位。設定為1說明產生溢位,否則為0

df:direction,方向標誌位,控制si/di 的增減。df為0時,si/di遞增;否則遞減

if:interupt enable,中斷允許標誌位,設為1則接受外部中斷,否則遮蔽外部中斷。

sf:sign,符號標誌位。運算結果為正則設定sf=0,否則設定為1。

zf:zero,零標誌位。指令執行後結果為0那麼zf=1,否則為0

af:auxiliary carry,半進製標誌。運算進製則設為1,否則設為0。(此處的進製是指二進位制位,舉個簡單的例子,如 b01+b01,得到b10,此處則進製了)

pf:parity,奇偶標誌位。運算結果最後一位為1(即結果為奇數),則設定為0,否則設定為0

cf:carry,進製標誌位(無符號溢位標誌位),若溢位則設定為1,否則設定為0

jmp [address]:無條件跳轉指令

jcxz [address]:若cx為0則跳轉

jecxz [address]:若ecx為0則跳轉

je [address]:jump equal,比較結果相等則跳轉(判斷zf,若為1則跳轉)

jne [address]: jmp not equal,不相等則跳轉

jz [address]:zf為1則跳轉

jnz [address]:zf為0則跳轉

此外,還有js,jns,jc,jnc,jo,jno,jp,jnp指令,分別根據sf,cf,of,op的值不同進行跳轉,規則同jz不再闡述

ja [address]:無符號大於則跳轉

jna [address]:無符號不大於則跳轉

jnae [address]:無符號不大於等於則跳轉

jg表示有符號大於則跳轉,jb表示無符號小於則跳轉,jl表示有符號小於則跳轉,jng,jnge,jnb,jnbe,jnl,jle,jnle同上模擬

組合語言Assemble標誌位

zf 零標誌位 1結果為0 0結果為1 pf奇偶標誌位 1結果二進位制表示中有偶數個1 0結果二進位制表示中有奇數個1 sf符號標誌位 1結果為負 最高位為1 0結果為正 最高位為0 cf進製標誌位 1產生進製或者借位 0不產生進製或者借位 of溢位標誌位 1發生溢位 0不發生溢位 of overf...

組合語言各「標誌位」含義

1 進製標誌cf carry flag 進製標誌cf主要用來反映運算是否產生進製或借位。如果運算結果的最高位產生了乙個進製或借位,那麼,其值為1,否則其值為0。使用該標誌位的情況有 多字 位元組 數的加減運算,無符號數的大小比較運算,移位操作,字 位元組 之間移位,專門改變cf值的指令等。2 奇偶標...

組合語言 比較指令 跳轉指令 JCC

一 jmp 指令 修改eip 當前執行的下一條指令 jmp暫存器 立即數 目標類似 mov eip,暫存器 立即數 call指令 呼叫函式 call 位址a 暫存器 等價 push位址b 儲存call的下一條指令位址,壓棧,作為返回值,mov eip,位址a 暫存器 將函式首位址作為eip ret指...