freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第三章--8086指令系統(tǒng)及匯編語言-資料下載頁

2025-08-15 23:05本頁面
  

【正文】 高位有進位 。 CF=0 二進制加法中最高有效位向高位無進位。 ZF=1 加法結(jié)果為 0 ; ZF=0 加法結(jié)果不為 0 。 OF=1 兩同符號數(shù)相加(正數(shù) +正數(shù)、或負數(shù) +負數(shù)),而結(jié)果符號與其相反。 OF=0 不同符號數(shù)相加。注意 : (不同符號數(shù)相加不會產(chǎn)生溢出 ) SF=1 加法結(jié)果為負(符號位為 1)。 SF=0 加法結(jié)果為正(符號位為 0)。 8位無符號數(shù)為: 0~ 255,有符號數(shù)為: 128~ +127, 16位無符號數(shù)為: 0~ 65535,有符號數(shù)為: 32768 ~ +32767。 無符號數(shù)的加減不存在溢出,但有符號的數(shù)加減會產(chǎn)生溢出。 例: 1) 4+11=15 無符號 有符號 0000 0100 + 0000 1011 0000 1111 0000 0111 + 1111 1011 1 0000 0010 4 +( 11) 15 CF=0 4 +( +11) 15 0F=0 例: 2) 7+251=258 無符號 有符號 7 +( 251) 2 CF=1 7 +( 5) 2 0F=0 結(jié)果正確 結(jié)果正確 0000 1001 + 0111 1100 1000 0101 1000 0111 + 1111 0101 1 0111 1100 9 +124 133 CF=0 9 +( +124) 133 0F=1 例: 4) 135+245=380 無符號 有符號 135 +( 245) 380 CF=1 124 (121) +( 11) 132 0F=1 例: 3) 9+124=133 無符號 有符號 同符號數(shù)相加 ,結(jié)果符號不同 ,結(jié)果錯誤 結(jié)論 :有符號數(shù)相加 ,結(jié)果由標志位 0F決定 同符號數(shù)相加 ,結(jié)果符號不同 ,結(jié)果錯誤 (3) INC OPR 加 1指令 功能:對指定的操作數(shù)進行加 1操作 , 其操作數(shù) OPRD可以是任意一個通用寄存器 , 也可以在內(nèi)存單元中 。 加 1操作時 , 把操作數(shù)看作為無符號的二進制數(shù) 。 該指令影響標志位 , 但 不影響 CF標志位 。 完成的操作: OPR OPR+1 語法格式: INC reg/mem INC指令常用于在循環(huán)程序中修改地址指針和循環(huán)次數(shù)等 。 例如: INC AL ; AL← AL+1 INC ( SI) ; ( SI) ( SI) +1 例題 加法 MOV AX,7348H; AX= 7348H ADD AL,27H ; AL= 48H+ 27H= 6FH( 01101111) ; OF= 0, SF= 0, ZF= 0, PF= 1, CF= 0, AF=0 ADD AX,3FFFH ; AX= 736FH+ 3FFFH= B36EH( 01101110) ; OF= 1, SF= 1, ZF= 0, PF= 0, CF= 0 , AF=1 例題 無符號雙字加法 mov ax,5678h 。 AX= 5678H add ax,0bcdeh 。 AX= 1356H , CF=1 mov dx,1234h 。 DX= 1234H adc dx,789ah 。 DX= 8ACFH , CF=0 12345678H + 789ABCDEH = ? 1234 5678H + 789A BCDEH = 8ACF 1356H 2. 減法指令 (1) SUB DST, SRC 不帶借位減法指令 功能:進行兩個操作數(shù)的相減操作 , 結(jié)果送回 DST。 完成的操作: DST←DST - SRC (2) SBB DST, SRC 帶借位減法指令 功能:與 SUB相類似 , 但相減時還應減去標志 CF的當前值 。 完成的操作: DST←DST - SRC- CF 語法格式: SUB( SBB) reg/mem , reg/mem/imm DST、 SRC可以是存儲器或寄存器, 但不能同時為存儲器。運算結(jié)果對標志位有影響。操作數(shù)正負由程序設(shè)計者定義。 (3) DEC OPR 減 1指令 功能:實現(xiàn)對操作數(shù)的減 1操作 , 操作數(shù)可以是通用寄存器 , 也可以在內(nèi)存單元中 。 減 1操作時 , 把操作數(shù)看作為無符號的二進制數(shù) 。 完成的操作: OPRD OPRD1 語法格式: DEC reg/mem 例如: DEC BX ; BX BX1 DEC( DI) ; ( DI) ( DI) 1 注意 :運算結(jié)果對標志位 CF沒有影響 , 但影響其它標志位 。 4) 變負數(shù)指令 ( 求補指令 ) 指令格式: NEG OPR 功能:對操作數(shù)進行求補操作 , 即對操作數(shù)按位取反后加 1。 OPR可以為任意 REG或 MEM。 影響標志位 。 完成的操作: OPR OPRD +1 或: OPR FFFFH ( OPR) +1 語法格式: NEG reg/mem 例如: NEG AL NEG (AX) NEG (2022H) (5) 比較指令 指令格式: CMP OPR1, OPR2; OPR1- OPR2 結(jié)果影響標志位 。 語法格式: CMP reg/mem , reg/mem/imm 功能:做兩個數(shù)的比較 , 與減法指令一樣執(zhí)行 OPR1-OPR2操作 , 但相減后不回送結(jié)果 , 只是根據(jù)相減結(jié)果修改標志位 。 OPR OPR2可以是存儲器或寄存器 , 不能同時為存儲器 , OPR2還可為立即數(shù) , 運算結(jié)果對標志位有影響 。 例如: CMP AL, 100 CMP AX, SI CMP AX, DATA[ BX] 該指令也可以用于任一寄存器與立即數(shù)或別的寄存器及任一內(nèi)存操作數(shù)之間的比較 , 例如: CMP BX, 04FEH CMP DX, DI CMP CX, COUNT[ BP] 該指令還可以用于內(nèi)存操作數(shù)與立即數(shù)及任一寄存器中操作數(shù)之間的比較 。 例如: CMP DATA, 100 CMP COUNT[ SI] , AX CMP POINTER[ DI], BX CMP AX, BX 比較結(jié)果有三種可能: AXBX 、 AXBX 、 AX=BX 條件碼設(shè)置: CF=1 減法中最高有效位向高位有借位 ( AXBX ) 。 CF=0 減法中最高有效位向高位無借位( AX≥ BX )。 ZF=1 結(jié)果為 0( AX=BX); ZF=0 ,結(jié)果不為 0( AX≠BX ) OF=1 兩數(shù)符號相反(正數(shù) 負數(shù)、或負數(shù) 正數(shù)),而結(jié)果符號與減數(shù)( BX)相同。 OF=0 同符號數(shù)相減。 例如:字長為 8位的兩個數(shù)相減,其可表示數(shù)的范圍為:帶符號數(shù)( 128)~( +127)( 80H ~ 7FH),無符號數(shù) 0~ 255( 00H ~ FFH), 運算結(jié)果超出可表示范圍為溢出,說明結(jié)果有錯。 16位有符號數(shù)為 32768~+32767( 8000H~ 7FFFH) ,無符號數(shù) 0 ~ 65535 。 計算機減法運算過程: 先將減數(shù)求補,然后轉(zhuǎn)化為加法運算,所以計算機設(shè)置 CF的方法是:最高有效位不產(chǎn)生進位時, CF=1; 最高有效位產(chǎn)生進位時, CF=0;這和做減法時有借位 CF=1,無借位 CF=0是一致的 。 例題 減法 SUB AH,F0H ; AH= B3H- F0H= C3H(11000011) ; OF= 0(同符號 ), SF= 1, ZF= 0, PF= 1, CF= 1 MOV WORD PTR[0200H],EF00H ; [0200H]= 00H, [0201H]= EFH 標志不變 SUB [0200H],AX ; [0200H]= EF00H- C36EH= 2B92H ; OF= 0 (同符號 ) , SF= 0, ZF= 0, PF= 0, CF= 0 SUB SI,SI ; SI= 0 ; OF= 0, SF= 0, ZF= 1, PF= 1, CF= 0 例 1: 43H16H=2DH 6722=45 0100 0011 0100 0011 0001 0110 + 1110 1010 0010 1101 1 ← 0010 1101 CF=0, OF=0(同符號數(shù)相減 ) 2) C8H66H=62H 無符號數(shù) :200102=98 ,有符號數(shù) :56102=158 1100 1000 1100 1000 0110 0110 + 1001 1010 0110 0010 1 ← 0110 0010 CF=0, OF=1 說明: OF對無符號數(shù)加減運算無意義,只對有符號數(shù)有意義! 在上例中如為無符號數(shù)運算則結(jié)果正確,但為有符號數(shù)則有溢出, OF=1,結(jié)果無效,是否為有符號數(shù),有程序設(shè)計者定義! C8H= - 56,- 56- 102=- 158(有溢出) 判斷條件 : OF=1 兩數(shù)符號相反(正數(shù) 負數(shù)、或負數(shù) 正數(shù)),而結(jié)果符號與減數(shù)( BX)相同 3) 54H76H=DEH 有符號時: 84118=34=DEH 0101 0100 0101 0100 0111 0110 + 1000 1010 1 1101 1110 1101 1110 CF=1, OF=0 說明:如為無符號數(shù)運算, CF=1,向高位有借位,如為有符號數(shù) OF=0,無溢出,結(jié)果有效。 4) 4BHB6H=95H 75-(- 74) =149 0100 1011 0100 1011 1011 0110 + 0100 1010 1 1001 0101 1001 0101 CF=1, OF=1 說明:如為無符號數(shù)運算,被減數(shù)<減數(shù),減法運算有借位,CF=1,有借位。如為有符號數(shù), 不同符號數(shù)相減,結(jié)果符號與減數(shù)符號相同, OF=1,結(jié)果也無效! 例:若自 BLOCK開始的內(nèi)存緩沖區(qū)中 , 有 100個帶符號的數(shù) ,希望找到其中最大的一個值 , 并將它放到 MAX單元中 。 MOV BX, OFFSETBLOCK ;將要比較的數(shù)據(jù)區(qū)的地址取到 BX中 MOV AX, [ BX] ;取第一個數(shù)據(jù) , 數(shù)據(jù)為 16位 INC BX ;地址移到第二個數(shù)據(jù) INC BX MOV CX, 99 AGAIN: CMP AX, [ BX] ;第一個數(shù)據(jù)與第二個數(shù)據(jù)比較 JG NEXT ;不小于等于 ( 或大于 ) 則轉(zhuǎn) , AX[BX] MOV AX,[ BX] ;保存兩數(shù)中的大數(shù) NEXT: INC BX ;指向下一個要比較的數(shù) INC BX DEC CX JNZ AGAIN ;所有的數(shù)比較完了嗎 ? 沒完轉(zhuǎn) AGAIN繼續(xù) MOV (MAX), AX 3. 乘法指令 ( 分無符號和帶符號數(shù)乘法指令兩種 ) (1)
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1