DEBUG下標誌位對照表 來自搜尋引擎

2021-06-08 20:56:34 字數 1383 閱讀 2624

中為英文全拼或簡拼(~為簡化部分),單詞中的大寫部分為簡寫所取字元。

標誌名                     標誌為1時          標誌為0時

of[overflow flag]          ov[overflow]       nv[not overflow]

df[direction flag]         dn[down]           up[up]

if[interrupt flag]         ei[enable i~t]     di[disable i~t]

sf[sign flag]              ng[negative sign]  pl[plus sign]

zf[zero flag]              zr[zero]           nz[not zero]

af[auxiliary carry flag]   ac[auxiliary carry]na[not aux~]

pf[parity flag]            pe[parity even]    po[parity odd]

cf[carry flag]             cy[carry]          nc[not carry]

加法指令:add、adc、inc、xadd除了inc不影響cf標誌位外,都影響條件標誌位。

cf、zf、sf、of

cf最高位是否有進製

df若兩個運算元符號相同而結果符號與之相反of=1,否則of=0.

減法指令:sub、sbb、dec、neg、cmp、cmpxchg、cmpxchg8b

前六種除了dec不影響cf標誌外都影響標誌位。cmpxhg8b只影響zf。

cf說明無符號數相減的溢位,同時又確實是被減數最高有效位向高位的借位。

of位則說明帶符號數的溢位

無符號運算時,若減數》被減數,有借位cf=1,否則cf=0.

of若兩個數符號相反,而結果的符號與減數相同則of=1.否則of=0.

乘法指令:mul、imul

mul:如果乘積高一半為0,則cf和of位均為0,否則cf和of均為1.

imul:如果高一半是低一半符號的擴充套件,則cf位和of位均為0,否則就均為1.

除法指令:div、idiv   對所有條件位均無定義。

邏輯指令:and、or、not、xor、test

not不允許使用立即數,其它4條指令除非源運算元是立即數,至少要有乙個運算元必須存放在暫存器中。另乙個運算元則可以使用任意定址方式。

not不影響標誌位,其餘4種cf、of、置0,af無定義,sf、zf、pf位看情況而定。

定位掃瞄指令:bsf正向位掃瞄、bsr反向位掃瞄

源運算元可以是除立即數以外的任一種定址方式,目的運算元必須是暫存器,影響zf位。

dosbox中debug的標誌位

debug中的標誌位顯示順序 1 of df if sf zf af pf cf of 標誌位 溢位 of 1,顯示為ovof 0,顯示為nv 影響of的指令舉例,inc df 標誌位 方向 df 0,顯示為updf 1,顯示為dn 影響df的指令舉例,cld,std if 標誌位 中斷 if 0,...

微機原理 標誌位及debug下的表示

debug中的標誌位顯示順序 of df if sf zf af pf cf of 溢位標誌位。記錄了有符號運算的結果是否發生了溢位,如果發生溢位of 1,如果沒有of 0。of 1,顯示ov of 0,顯示nv 影響of的指令 inc df 方向標誌位。在串處理指令中,每次操作後,如果df 0,s...

彙編DEBUG裡標誌暫存器狀態位英文全稱

2011 09 22 12 41 09 分類 assembly 字型大小 of ov nv over 溢位 標誌位 溢位 ov overflow溢位 nv no overflow未溢位 df dn up direction 方向 標誌位 方向 dn down減少 up up增加 if ei di e...