標志寄存器


必須背會

記住這幾個寄存器位置和名稱

1.進位標志CF(Cary Flag):如果運算結果的最高位產生一個進位或借位,那么其值位1,否則位0

MOV AL, 0xFF  ADD AL,1

2.奇偶標志(Parity Flag):奇偶標志PF用于反映運算結果“1”的個數(shù)的奇偶性。如果"1"的個數(shù)位偶數(shù),則PF的值為1,否則值位0

MOV AL,3
ADD AL,3
ADD AL,2

3.輔助僅為標志AF(Auxiliary Carry Flag)在發(fā)生下列情況時,輔助進位標志AF的值位1.否則其值位0

  • 1,在字操作時,發(fā)生低字節(jié)向高字節(jié)進位或借位
  • 2,在字操作時,發(fā)生低4位字節(jié)向高4節(jié)進位或借位時
MOV EAX,0x55EEFFFF
ADD EAX, 2

MOV AX ,5FEF
ADD AX, 2

MOV AL,4E
ADD AL,2

4. 零標志ZF(Zero Flag):零標志ZF用來反映計算結果是否位0 ,如果運算結果位0,在判斷結果是否為0時,可使用此標志位。

XOR EAX,EAX

MOV EAX,2
SUB EAX,2

5. 符號標志位(Sign Flag):符號標志位SF用來反映運算結構的符號位,他與運算結果的最高位相同。

MOV AL,7F
ADD AL,2

6.溢出標志位OF(Overflow Flag):溢出標志用于反映有符號數(shù)加減運算所得結果是否溢出。如果運算結果超過當前運算位所能表示的范圍,則成為溢出,OF的值被置為1,否則OF的值被清為0

有無符號

看球:
8位取值范圍球

1.無符號,有符號都不溢出

MOV AL, 8
ADD AL, 8

2.無符號溢出,有符號不溢出

MOV AL ,0FF
ADD AL , 2

3.無符號不溢出。有符號溢出

mov al,7F
add al,2

4.無符號.有符號有溢出

MOV AL,0FE
ADD AL,80

剩余指令

ADC指令:帶進位加法

格式:ADC R/M,R/M/IMM  兩邊不能同時為內存
ADC AL,CL
ADC BYTE PTR DS:[12ffc4],2
ADC BYTE PTR DS:[12ffc4],AL

SBB指令:帶進位減法

格式 :SBB R/M,R/M /IMM 兩邊不能同時為內存 寬度要一樣

SBB AL,CL
SBB BYTE PTR DS:[12ffc4],2
SBB BYTE PTR DS:[12ffc4],AL

XCHG指令:交換數(shù)據(jù)

格式: XCHG R/M,R/M  兩邊不 能同時為內存,寬度要一樣 

MOVS指令:移動數(shù)據(jù) 內存-內存

BYTE/WORD/DWORD
MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]  簡寫:MOVSB
MOVS WORD PTR ES:[EDI],WORD PTR DS:[ESI]  簡寫:MOVSW
MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]  簡寫:MOVSD

STOS指令 將AL/AX/EAX的值存儲到[EDI] 指定的內存單元

STOS BYTE PTR ES:[EDI]     簡寫:STOSB
STOS WORD PTR ES:[EDI]     簡寫:STOSW
STOS D WORD PTR ES:[EDI]     簡寫:STOSD

REP指令: 按計數(shù)寄存器(ECX) 中指定的次數(shù)重復執(zhí)行字符串指令

MOV ECX, 10
REP MOVSD
REP STOSD
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 標志寄存器 這就是計算機中的標志寄存器,說到標志我們就應該想到flag,bool類型。而一個bool類型用1bit...
    豆瓣奶茶閱讀 2,265評論 0 2
  • 標志寄存器flag的3個作用: 1、用來存儲相關指令的某些執(zhí)行結果。 2、用來為CPU執(zhí)行相關指令提供行為依據(jù)。 ...
    Stroman閱讀 1,518評論 0 0
  • zf標志:零標志位,zf=1代表結果為0,否則為1 mov ax,1 sub ax,1 sub結果為0,所以zf=...
    一川煙草i蓑衣閱讀 1,109評論 0 0
  • 1. 進位標志CF(Carry Flag) 如果運算結果的最高位產生了一個進位或借位,那么,其值為1,否則其值為0...
    1301c72閱讀 1,082評論 1 2
  • 標志寄存器一共16位,一共只有0,2,4,6,7,8,9,10,11位有意義分別是CF(carry),PF(par...
    官總哦閱讀 1,332評論 0 3

友情鏈接更多精彩內容