檢測點(diǎn)11.2
進(jìn)位 溢出 負(fù)/非負(fù) 零/非零 偶數(shù)/奇數(shù)(個(gè)一)
CF OF SF ZF PF
sub al,al 0 0 0 1 1
mov al,10H 0 0 0 1 1
add al,90H 0 0 1 0 1
mov al,80H 0 0 1 0 1
add al,80H 1 1 0 1 1
mov al,0FCH 1 1 0 1 1
add al,05H 1 0 0 0 0
mov al,7DH 1 0 0 0 0
add al,0BH 0 1 1 0 1
運(yùn)算全過程
解析
- 傳送指令(mov push pop)不影響標(biāo)志符
- 8位表示有符號(hào)數(shù)范圍 -128~127魂务,轉(zhuǎn)換成十進(jìn)制運(yùn)算曼验,判斷是否溢出
- 遇到負(fù)數(shù),要先轉(zhuǎn)換成補(bǔ)碼粘姜,再通過十進(jìn)制運(yùn)算鬓照,判斷是否溢出
mov al,0FCH
0FCH = 1111 1100B
如果進(jìn)行的是有符號(hào)數(shù)運(yùn)算,
最高位的1表示這是一個(gè)負(fù)數(shù)相艇,
需要轉(zhuǎn)換成補(bǔ)碼
補(bǔ)碼形式為 0000 0011 + 1 = 0000 0100 = 04H = 4D
說明這個(gè)數(shù)是十進(jìn)制的 -4 (負(fù)四)
add al,05H
5H = 5D
十進(jìn)制運(yùn)算 5 + (-4) = 1 在范圍 -128~127 內(nèi)颖杏,
所以沒有產(chǎn)生溢出,
溢出標(biāo)志符 OF = 0
- 其他標(biāo)志符的判斷坛芽,全部當(dāng)做無符號(hào)數(shù)運(yùn)算即可
解題參考
https://www.cnblogs.com/yangbin990/archive/2011/11/22/2258249.html