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

正文內(nèi)容

微機(jī)原理與接口技術(shù)復(fù)習(xí)資料(34)章-閱讀頁(yè)

2024-11-15 19:13本頁(yè)面
  

【正文】 CF 標(biāo)志,在 BCD 碼運(yùn)算或奇偶校驗(yàn)時(shí)才考慮 AF 或 PF 標(biāo)志。 帶符號(hào)數(shù)能表示的范圍 128 ~ +127,而本例中,兩個(gè)正數(shù) 94 和 60 相加,其和為 154,由于 154 超過(guò)了范圍,即產(chǎn)生了溢出, OF= 1 ? INC 增量指令( Increment) 指令格式: INC 目的 指令功能:目的 ? 目的 + 1 操作數(shù)的要求:通用寄存器、內(nèi)存。 ? 如果要使內(nèi)存單元的內(nèi)容增 1,程序中必須說(shuō)明該存儲(chǔ)單元是字還是字節(jié)。 ? AAA 加法的 ASCII 調(diào)整指令 (ASCII Adjust for Addition) 指令格式: AAA 指令功能:在用 ADD 或 ADC 指令對(duì)兩個(gè)非壓縮十進(jìn)制數(shù)或 ASCII 碼表示的十進(jìn)制數(shù)作加法后,運(yùn)算結(jié)果已存在 AL 中,用此指令將 AL 寄存器中的運(yùn)算結(jié)果調(diào)整為一位非壓縮十進(jìn)制數(shù),仍保留在 AL 中。 (注:非壓縮十進(jìn)制數(shù)的高 4 位為全 0,低 4 位為十進(jìn)制數(shù)字 0~9。 例 若 AL= BCD 9, BL= BCD 5,求兩數(shù)之和。 0000 1001…9 。 0000 1110… 低 4 位 9 。只要使用 AAA 指令,可以不必屏蔽高半字節(jié),便能在 AX 中得到一個(gè)正確的非壓縮十進(jìn)制數(shù)。 設(shè) AH= 0,則運(yùn)算過(guò)程如下: MOV AL, ‘9’ 。 BL = 35 H ADD AL, BL 。 + 0011 0101…’5’ AAA 。 + 0000 0110… 加 6 調(diào)整 ; 0111 0100 ; ∧ 0000 1111… 清高 4 位 ; 0000 0100…AL=4 ; CF=1, AF=1, AH=1 。 ASCII 碼表示的十進(jìn)制數(shù),高半字節(jié)均為 3,運(yùn)算時(shí)需用 AND 指令將它屏蔽。 ? DAA 加法的十進(jìn)制調(diào)整指令 (Decimal Adjust for Addition) 指令格式: DAA 指令功能:將兩個(gè)壓縮 BCD 數(shù)相加后的結(jié)果調(diào)整為正確的壓縮 BCD 數(shù)。 調(diào)整過(guò)程: ① 若 AL 的低 4 位> 9 或 AF= 1, 則 AL ? AL 十 06H,對(duì)低 4 位進(jìn)行調(diào)整; ② 若此時(shí) AL 的高 4 位> 9 或 CF= 1, 則 AL ? AL 十 60H,對(duì)高 4 位進(jìn)行調(diào)整,并使 CF 置 1,否則 CF 置 0。 解 運(yùn)算過(guò)程為 MOV AL, 88H 。 BL=49H ADD AL, BL 。 + 0100 1001…49 DAA 。 + 0000 0110… 加 6 調(diào)整 ; 1101 0111… 調(diào)整后高半字節(jié) 9 ; + 0110 0000… 加 60H 調(diào)整 ; 0011 0111… 結(jié)果為 AL= BCD 37, CF=1 ? 減法指令( Subtraction) ( 1) SUB 減法指令( Subtraction) 指令格式: SUB 目的,源 指令功能: 目的 ? 目的-源 例 SUB AX, BX ; AX ? AX- BX SUB DX, 1850H ; DX ? DX- 1850H SUB BL, [BX] ; BL 中內(nèi)容減去物理地址= DS:(BX)處的字節(jié),結(jié)果存入 BL ( 2) SBB 帶借位的減法指令( Subtract with Borrow) 指令格式: SBB 目的,源 指令功能:目的 ? 目的-源- CF ( SBB 主要用于多字節(jié)減法中) 例 SBB AL, CL ; AL ? AL- CL- CF ( 3) DEC 減量指令( Decrement) 指令格式: DEC 目的 指令功能 : 目的 ? 目的- 1 例 DEC BX ; BX ? BX- 1 DEC WORD PTR[BP] ;堆棧段中位于 [BP]偏置處的字減 1 ( 4) NEG 取負(fù)指令 ( Negate) 指令格式: NEG 目的 指令功能: 目的 ← 0-目的,即對(duì)目的操作數(shù)取負(fù) 例 NEG AX ;將 AX 中的數(shù)取負(fù) NEG BYTE PTR[BX] ;對(duì)數(shù)據(jù)段中位于 [BX]偏置處的字節(jié)取負(fù) ( 5) CMP比較指令 ( Compare) 指令格式: CMP 目的,源 指令功能:目的-源 , 結(jié)果不回送到目的操作數(shù)中,僅反映在標(biāo)志位上。 ? 減法指令小結(jié):(上述五種指令都做減法運(yùn)算) ① 對(duì)于雙操作數(shù)指令( SUB、 SBB、 CMP) 源操作數(shù)可以是寄存器、存儲(chǔ)器或立即數(shù); 目的操作數(shù)可以是寄存器、存儲(chǔ)器,但不能為立即數(shù) ; 兩個(gè)操作數(shù)不能同時(shí)為存儲(chǔ)器。 ③ 運(yùn)算之后,除 DEC 指令不影響 CF 標(biāo)志外,其它均影響 OF、 SF、 ZF、 AF、 PF和 CF 標(biāo)志。 例 設(shè) AL= 1011 0001B, DL= 0100 1010B,求 AL- DL。 討論: ▲兩數(shù)為無(wú)符號(hào)數(shù):表示 177 與 74 的差是 103。 ▲兩數(shù)為帶符號(hào)數(shù):表示- 79- (+ 74),結(jié)果應(yīng)為- 153。此時(shí), SF 和 OF 有重要意義。 使用前提:用 SUB 或 SBB 指令對(duì)兩個(gè)非壓縮十進(jìn)制數(shù)或 ASCII 碼表示的十進(jìn)制數(shù)作減法,運(yùn)算結(jié)果已存在 AL。高 4 位和低 4 位分別進(jìn)行調(diào)整。 調(diào)整過(guò)程: ① 如果 AL 寄存器的低 4 位> 9 或 AF= 1 則: AL ← AL- 06H, AF 置 1 ② 如果此時(shí) AL 高半字節(jié)> 9 或標(biāo)志位 CF= 1 則: AL ← AL- 60H, CF 置 1 例 設(shè) AL= BCD 56, CL= BCD 98,求兩數(shù)之差。 0101 0110…BCD 56 。 1011 1110… 低 4 位 9, CF=AF=1 。 ▲ 源操作數(shù)是一個(gè)字節(jié):原操作數(shù)與累加器 AL 中的內(nèi)容相乘,乘積為雙倍長(zhǎng)的16 位數(shù),高 8 位送到 AH,低 8 位送 AL。 ▲ 源操作數(shù)是一個(gè)字 :原操作數(shù)與累加器 AX 的內(nèi)容相乘,結(jié)果為 32 位數(shù),高位字放在 DX寄存器中,低位字放在 AX 寄存器中。 例 MUL DL ; AX ← AL DL MUL CX ; (DX, AX) ← AX CX MUL B[SI] ; AX ← AL (內(nèi)存中某字節(jié) ), B 說(shuō)明字節(jié)乘法 MUL W[BX] ; (DX, AX)← AX (內(nèi)存中某字 ), W 說(shuō)明字乘法 注意: ▲ MUL 指令執(zhí)行后影響 CF 和 OF 標(biāo)志。否則, CF 和 OF 均清 0。 ▲ 乘法指令使 AF、 PF、 SF 和 ZF 的狀態(tài)不定。 解 : MUL BL 結(jié)果: ① AX = 06A4H。 例 試計(jì)算 FFHFFH。 ▲ 作為帶符號(hào)數(shù):表示 (- 1)(- 1)=- 511,顯然結(jié)果不正確。 ? IMUL 整數(shù)乘法指令 ( Integer Multiply) 指令格式: IMUL 源 指令功能:把源操作數(shù)和累加器中的數(shù)都作為帶符號(hào)數(shù),進(jìn)行相乘。 ▲對(duì)標(biāo)志位的影響: 乘積的高半部分不是低半部分的符號(hào)擴(kuò)展 (不是全 0 或全 1),則高位部分為有效位,表示它是積的一部分,于是置 CF= OF= 1; 結(jié)果的高半部分為全 0 或全 1,表明它僅包含了符號(hào)位,那么使 CF=OF= 0。 ? AAM 乘法的 ASCII 調(diào)整指令 (ASCII Adjust for Multiply) 指令格式: AAM 指令功能 : 對(duì) AL 中的兩個(gè)非 壓縮十進(jìn)制數(shù)相乘的乘積進(jìn)行十進(jìn)制數(shù)的調(diào)整,在 AX中得到正確的非壓縮十進(jìn)制數(shù)的乘積,高位在 AH 中,低位在 AL 中。即: AH ← AL / 10 所得的商 AL ← AL / 10 所得的余數(shù) 注意: ▲ 兩個(gè) ASCII 碼數(shù)相乘之前,先屏蔽掉每個(gè)數(shù)字的高半字節(jié),使每個(gè)字節(jié)包含一個(gè)非壓縮十進(jìn)制數(shù)( BCD 數(shù)),再用 MUL 指令相乘,乘積放到 AL 寄存器中,然后用 AAM指令進(jìn)行調(diào)整。 ▲ 8086 的指令系統(tǒng)中,十進(jìn)制乘法運(yùn)算不允許采用壓縮十進(jìn)制數(shù),故調(diào)整指令僅此一條。 解: MOV AL, 09H ;置初值 MOV BL, 06H MUL BL ; AL ← 09 與 06 之乘積 36H AAM ;調(diào)整得 AH= 05H(十位), AL= 04H(個(gè)位) 結(jié)果: AX= 0504H,即 BCD 數(shù) 54。 解:用以下指令實(shí)現(xiàn): AND AL, 0FH ;屏蔽高半字節(jié) AND BL, 0FH MUL BL ;相乘 AAM ;調(diào)整 如要將結(jié)果轉(zhuǎn)換成 ASCII 碼,可用指令 OR AX, 3030H 實(shí)現(xiàn),使 AX= 3534H。 ▲源操作數(shù)為字節(jié): 16 位被除數(shù)必須放在 AX 中, 8 位除數(shù)為源操作數(shù)。 ▲源操作數(shù)為字: 32 位被除數(shù)在( DX, AX)中, 16位除數(shù)作源操作數(shù)。 注意: ▲源操作數(shù)可以是寄存器、存儲(chǔ)單元; ▲DIV 指令執(zhí)行后,所有標(biāo)志位均無(wú)定義。 ▲無(wú)論對(duì) ( DIV)還是 ( IDIV),都要注意溢出問(wèn)題: ? 字節(jié)操作時(shí):被除數(shù)的高 8 位絕對(duì)值大于除數(shù)的絕對(duì)值,則產(chǎn)生溢出。(對(duì)于無(wú)符號(hào)數(shù),允許最大商為 FFFFH;對(duì)于帶符號(hào)數(shù),允許商的范圍為 32768~ +32767,或 8000H~ 7FFFH)。 例 兩個(gè)無(wú)符號(hào)數(shù) 7A86H 和 04H 相除,商應(yīng)為多少? 解: MOV AX, 7A86H MOV BL, 04H DIV BL 結(jié)果: ① 正確的商應(yīng)為 1EA1H。 ( 3) CBW 把字節(jié)轉(zhuǎn)換為字指令( Convert Byte to Word) 指令格式: CBW 指令功能:把寄存器 AL 中字節(jié)的符號(hào)位擴(kuò)充到 AH 的所有位。 ( 4) CWD 把字轉(zhuǎn)換成雙字指令 (Convert Word to Double Word) 指令格式: CWD 指令功能:把 AX 中字的符號(hào)值擴(kuò)充到 DX 寄存器的所有位。 注意: CWD 指令執(zhí)行后,也不影響標(biāo)志位。 調(diào)整過(guò)程: AL ← AH10+ AL; AH ← 00 注意: ▲AX中的兩位非壓縮格式的 BCD 數(shù)除以一個(gè)非壓縮的 BCD 數(shù)前,要先用AAD 指令把 AX 中的被除數(shù)調(diào)整成二進(jìn)制數(shù),并存到 AL 中,才能用 DIV 指令進(jìn)行運(yùn)算。 例 編寫(xiě)程序,計(jì)算 75247。 FOUR 單元 ←第二個(gè)余數(shù) 3 三、邏輯運(yùn)算和移位指令 邏輯運(yùn)算 算術(shù)邏輯移位 NOT 取反 SHL/SAL 邏輯 /算術(shù)左移 AND 邏輯乘(與) SHR 邏輯右移 OR 邏輯加(或)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1