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

2021-10-05 02:44:33 字數 1299 閱讀 2155

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,si、di遞增,如果df=1,si、di遞減;注意此處df的值是由程式設計師進行設定的 cld命令是將df設定為0,std命令是將df設定為1。

df = 0, 顯示up

df = 1, 顯示dn

影響df的指令:cld, std

if:中斷允許標誌位。它用來控制8086是否允許接收外部中斷請求。若if=1,8086能響應外部中斷,反之則遮蔽外部中斷。

if = 0,顯示di

if = 1, 顯示ei

影響if的指令: cli, sti

sf:符號標誌位。相關指令執行後結果為負那麼sf=1,結果非負數則sf=0。

sf = 1, 顯示ng, 表示負數

sf = 0, 顯示pl, 表示為正數

影響sf的指令舉例:inc

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

zf = 1, 顯示zr

zf = 0, 顯示nz

影響zf的指令舉例:xor

af:輔助進製標誌位。運算過程中看最後四位,不論長度為多少。最後四位向前有進製或者借位,af=1,否則af=0。

af = 0, 顯示na

af = 1, 顯示ac

影響af的指令舉例:inc

pf:奇偶標誌位。相關指令執行後結果所有bit中1的個數為偶數,那麼pf=1,1的個數為奇數則pf=0。

pf = 1, 顯示pe

pf = 0, 顯示po

影響pf的指令舉例:inc

cf:進製標誌位。在無符號運算時,記錄了運算結果的最高有效位向更高位的進製值或從更高位借位,產生進製或借位時cf=1,否則cf=0。

cf = 1, 顯示 cy

cf = 0, 顯示 nc

影響cf的指令舉例:clc, stc

參考:

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,...

linux下suid標誌位的作用

include include include include include include intmain void if write fd,buf,18 1 system cat eff real.txt return0 這段程式用來對乙個由 root 建立 名為 eff real.txt 的...

真正用來學習微機原理及彙編的好書

我買過一本微機原理 上學的教材就不算了 兩本彙編 黃皮和黑皮 都是國內的教科書,通過一段時間的學習,我感覺真的是很困難,我一直在懷疑是不是我的智商有問題,不過我沒有放棄,我共去了西單圖書大廈四趟,算是把微機原理和彙編方面的書都瀏覽了一遍,現在可以做個總結了。家不在北京的朋友,可以參考我的意見,希望通...