終于到了最后一個(gè)寄存器了--標(biāo)志寄存器(叫她flag),8086是16位
(1)標(biāo)志寄存器作用:
a、用在存儲(chǔ)相關(guān)指令的某些執(zhí)行結(jié)果
b、用來(lái)為CPU執(zhí)行相關(guān)指令提供行為依據(jù)
c、用來(lái)控制CPU的相關(guān)工作方式
(2)flag存儲(chǔ)的信息稱為程序狀態(tài)字(PSW)
(3)各位詳解:
a、第0位 CF:進(jìn)位(借位)標(biāo)志位,對(duì)無(wú)符號(hào)運(yùn)算有意義
b、第2位 PF:奇偶標(biāo)志位, 偶數(shù)PF=1
c、第6位 ZF:結(jié)果是否是0
d、第7位 SF:結(jié)果是否為負(fù)
e、第10位 DF:方向標(biāo)志位
DF:0 每次操作后SI、DI遞增,使用CLD置DF為0
DF:1 每次操作后SI、DI遞減,使用STD置DF為1
f、第11位 OF:溢出標(biāo)志位,對(duì)有符號(hào)運(yùn)算有意義
(4)相關(guān)指令
a、adc == add + CF ,用于任意大數(shù)的加法
b、sbb == sub - CF, 用于任意大數(shù)的減法
c、cmp
je/jb/jnb/ja/jna 配套為有條件轉(zhuǎn)移
d、 rep
movsb/mobsw 配合DF用于內(nèi)存拷貝 ,相當(dāng)于
s : ((es)*16+(di)) = ((ds)*16+(si))
inc si ;DF為0的情況,為1則是dec si
inc di
loop s
e、pushf :將FLAG壓棧 / POPF : 將棧中內(nèi)容彈出寫(xiě)入標(biāo)志寄存器中
posted on 2007-06-13 22:50
merlinfang 閱讀(1799)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
匯編語(yǔ)言