全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
算數(shù)類指令經(jīng)常會影響標(biāo)志位 搞清楚以下兩個概念 算數(shù)類指令經(jīng)常會影響標(biāo)志位 搞清楚以下兩個概念 對標(biāo)志對標(biāo)志沒有定義沒有定義 指令執(zhí)行后這些標(biāo)志是任意的 指令執(zhí)行后這些標(biāo)志是任意的 不可預(yù)測不可預(yù)測 就是誰也不知道是 就是誰也不知道是 0 還還 是是 1 對標(biāo)志對標(biāo)志沒有影響沒有影響 指令執(zhí)行 指令執(zhí)行不改變不改變標(biāo)志狀態(tài)標(biāo)志狀態(tài) 注意有符號數(shù)進行計算是用其補碼進行計算的 注意有符號數(shù)進行計算是用其補碼進行計算的 有符號有符號數(shù)在計算機里是以數(shù)在計算機里是以補補碼的形式碼的形式 進行進行存儲存儲的 的 使用內(nèi)存地址為尋址方式時 一定要用偽指令指明操作數(shù)類型 使用內(nèi)存地址為尋址方式時 一定要用偽指令指明操作數(shù)類型 加法類加法類 帶符號數(shù)相加要考慮溢出帶符號數(shù)相加要考慮溢出 1 加法指令加法指令 ADD ADD 目的操作數(shù) 源操作數(shù)目的操作數(shù) 源操作數(shù) 將源與目的操作數(shù)相加 結(jié)果送到目的操將源與目的操作數(shù)相加 結(jié)果送到目的操 作數(shù)作數(shù) 目的操作數(shù) 目的操作數(shù) reg mem 源操作數(shù) 源操作數(shù) imm reg mem 注意 注意 1 存儲器之間不能相加 存儲器之間不能相加 2 根據(jù)結(jié)果對相應(yīng)的標(biāo)志位作出改變 即 根據(jù)結(jié)果對相應(yīng)的標(biāo)志位作出改變 即 影響標(biāo)志位 影響標(biāo)志位 2 帶進位加法指令帶進位加法指令 ADC ADD 目的操作數(shù) 源操作數(shù)目的操作數(shù) 源操作數(shù) 將源 目的操作數(shù)與將源 目的操作數(shù)與 CF 標(biāo)志位相加 標(biāo)志位相加 結(jié)果送到目的操作數(shù)結(jié)果送到目的操作數(shù) 目的操作數(shù) 目的操作數(shù) reg mem 源操作數(shù) 源操作數(shù) imm reg mem 注意 注意 1 存儲器之間不能相加 存儲器之間不能相加 2 根據(jù)結(jié)果對相應(yīng)的標(biāo)志位作出改變 即 根據(jù)結(jié)果對相應(yīng)的標(biāo)志位作出改變 即 影響標(biāo)志位 影響標(biāo)志位 3 ADC 指令主要與指令主要與 ADD 配合 實現(xiàn)配合 實現(xiàn)多精度加法運算 多精度加法運算 4 CF 是本指令執(zhí)行前的狀態(tài)是本指令執(zhí)行前的狀態(tài) 多精度加法運算示例多精度加法運算示例 mov ax 4652h ax 4652h add ax 0f0f0h ax 3742h CF 1 mov dx 0234h dx 0234h adc dx 0f0f0h dx f325h CF 0 DX AX 0234 4652H F0F0 F0F0H F325 3742H 3 增量指令增量指令 INC increment INC 指令對操作數(shù)加指令對操作數(shù)加 1 增量 增量 INC reg mem 操作數(shù) 操作數(shù) reg mem 注意 注意 1 不影響進位不影響進位 CF 標(biāo)志 按定義設(shè)置其他狀態(tài)標(biāo)志 標(biāo)志 按定義設(shè)置其他狀態(tài)標(biāo)志 僅不影響 僅不影響 CF 還會影響其他 還會影響其他 2 主要用于對計數(shù)器和地址指針的調(diào)整 而不用來做單純的算術(shù)計算 主要用于對計數(shù)器和地址指針的調(diào)整 而不用來做單純的算術(shù)計算 3 當(dāng)使用存儲器操作數(shù)時 不得出現(xiàn)二義性 當(dāng)使用存儲器操作數(shù)時 不得出現(xiàn)二義性 減法類 減法類 4 減法指令減法指令 SUB 目的操作數(shù)減去源操作數(shù) 結(jié)果送到目的操作數(shù) 目的操作數(shù)減去源操作數(shù) 結(jié)果送到目的操作數(shù) sub 目的操作數(shù) 源目的操作數(shù) 源 操作數(shù) 操作數(shù) 目的操作數(shù) 目的操作數(shù) reg mem 源操作數(shù) 源操作數(shù) imm reg mem 注意 注意 1 存儲器之間不能相減 存儲器之間不能相減 2 根據(jù)結(jié)果對相應(yīng)的標(biāo)志位作出改變 即 根據(jù)結(jié)果對相應(yīng)的標(biāo)志位作出改變 即 影響標(biāo)志位 影響標(biāo)志位 3 看清誰是減數(shù) 誰是被減數(shù) 看清誰是減數(shù) 誰是被減數(shù) 5 帶借位減法指令帶借位減法指令 SBB 將目的操作數(shù)減去源操作數(shù) 再減去借位 將目的操作數(shù)減去源操作數(shù) 再減去借位 CF 進位 進位 結(jié)果送到 結(jié)果送到 目的操作數(shù) 目的操作數(shù) 目的操作數(shù) 目的操作數(shù) reg mem 源操作數(shù) 源操作數(shù) imm reg mem 注意 注意 1 存儲器之間不能相減 存儲器之間不能相減 2 根據(jù)結(jié)果對相應(yīng)的標(biāo)志位作出改變 即 根據(jù)結(jié)果對相應(yīng)的標(biāo)志位作出改變 即 影響標(biāo)志位 影響標(biāo)志位 3 看清誰是減數(shù) 誰是被減數(shù)看清誰是減數(shù) 誰是被減數(shù) 4 SBB 指令主要與指令主要與 SUB 配合 實現(xiàn)多精度減法運算配合 實現(xiàn)多精度減法運算 5 CF 是本指令執(zhí)行前的狀態(tài)是本指令執(zhí)行前的狀態(tài) 多精度減法運算示例多精度減法運算示例 mov ax 4652h ax 4652h sub ax 0f0f0h ax 5562h CF 1 mov dx 0234h dx 0234h sbb dx 0f0f0h dx 1143h CF 1 DX AX 0234 4652H F0F0 F0F0H 1143 5562H 6 減量指令減量指令 DEC decrement 操作數(shù) 操作數(shù) reg mem 注意 注意 1 不影響進位不影響進位 CF 標(biāo)志 按定義設(shè)置其他狀態(tài)標(biāo)志 標(biāo)志 按定義設(shè)置其他狀態(tài)標(biāo)志 僅不影響 僅不影響 CF 還會影響其他 還會影響其他 2 主要用于對計數(shù)器和地址指針的調(diào)整 而不用來做單純的算術(shù)計算 主要用于對計數(shù)器和地址指針的調(diào)整 而不用來做單純的算術(shù)計算 3 當(dāng)使用存儲器操作數(shù)時 不得出現(xiàn)二義性 當(dāng)使用存儲器操作數(shù)時 不得出現(xiàn)二義性 7 求補指令求補指令 NEG negative 用零減去操作數(shù) 然后結(jié)果 用零減去操作數(shù) 然后結(jié)果返回該操作數(shù)返回該操作數(shù) 操作數(shù) 操作數(shù) reg mem 注意 注意 1 也可以表達成 將操作數(shù)按位取反后加也可以表達成 將操作數(shù)按位取反后加 1 2 NEG 指令對標(biāo)志的影響與用零作減法的指令對標(biāo)志的影響與用零作減法的 SUB 指令一樣 指令一樣 影響標(biāo)志位 影響標(biāo)志位 課本課本 P49 頁兩種求補方式 頁兩種求補方式 8 比較指令比較指令 CMP compare CMP 指令將目的操作數(shù)減去源操作數(shù) 按照定義相應(yīng)指令將目的操作數(shù)減去源操作數(shù) 按照定義相應(yīng)設(shè)置狀設(shè)置狀 態(tài)標(biāo)志 結(jié)果不回送目的操作數(shù)態(tài)標(biāo)志 結(jié)果不回送目的操作數(shù) 目的操作數(shù) 目的操作數(shù) reg mem 源操作數(shù) 源操作數(shù) imm reg mem 注意 注意 1 存儲器之間不能相減 存儲器之間不能相減 2 根據(jù)結(jié)果對相應(yīng)的標(biāo)志位作出改變 即 影響標(biāo)志位 根據(jù)結(jié)果對相應(yīng)的標(biāo)志位作出改變 即 影響標(biāo)志位 3 看清誰是減數(shù) 誰是被減數(shù) 看清誰是減數(shù) 誰是被減數(shù) 4 不更改目的操作數(shù) 不更改目的操作數(shù) 十進制調(diào)整指令 重要 十進制調(diào)整指令 重要 十進制數(shù)調(diào)整指令對二進制運算的結(jié)果進行十進制調(diào)整 以得到十進制的運算結(jié)果十進制數(shù)調(diào)整指令對二進制運算的結(jié)果進行十進制調(diào)整 以得到十進制的運算結(jié)果 分成壓縮分成壓縮 BCD 碼和非壓縮碼和非壓縮 BCD 碼調(diào)整 碼調(diào)整 BCD 碼在計算機中仍以十六進制表示 但是認碼在計算機中仍以十六進制表示 但是認 為是十進制數(shù) 為是十進制數(shù) 壓縮壓縮 BCD 碼碼 壓縮壓縮 BCD 碼就是通常的碼就是通常的 8421 碼 它用碼 它用 4 個個二進制位表示一個十進制位 二進制位表示一個十進制位 一個字節(jié)一個字節(jié)可可 以表示以表示兩個十進制位兩個十進制位 即 即 00 99 非壓縮非壓縮 BCD 碼碼 非壓縮非壓縮 BCD 碼用碼用 8 個個二進制位表示一個十進制位 二進制位表示一個十進制位 只用低只用低 4 個個二進制位二進制位表示表示一個十進一個十進 制位制位 0 9 高高 4 位任意 通常默認為位任意 通常默認為 0 示例 示例 二進制二進制編碼編碼的的十十進制數(shù) 一位十進制數(shù)用進制數(shù) 一位十進制數(shù)用 4 位二進制編碼來表示位二進制編碼來表示 8086 支持壓縮支持壓縮 BCD 碼和非壓縮碼和非壓縮 BCD 碼的調(diào)整運算碼的調(diào)整運算 真值真值 8 64 二進制編碼二進制編碼 08H 40H 壓縮壓縮 BCD 碼碼 08H 64H 非壓縮非壓縮 BCD 碼碼08H 0604H 壓縮壓縮 BCD 碼加碼加 DAA 減 減 DAS 調(diào)整指令調(diào)整指令 操作數(shù)隱含 為寄存器操作數(shù)隱含 為寄存器 AL ADD AL i8 r8 m8 ADC AL i8 r8 m8 DAA 注意課本 注意課本 P47 例題 兩條件都滿足的情況 例題 兩條件都滿足的情況 使用條件 使用條件 1 當(dāng)當(dāng) AF 標(biāo)志位為標(biāo)志位為 0 或或 AL 寄存器的寄存器的低低 4 位超出位超出 BCD 數(shù)的計數(shù)符號數(shù)的計數(shù)符號 則則 AL 寄存器的內(nèi)容加寄存器的內(nèi)容加 06F 且將 且將 AF 置置 1 2 當(dāng)當(dāng) CF 標(biāo)志位為標(biāo)志位為 1 或或 AL 寄存器的高四位超出寄存器的高四位超出 BCD 數(shù)的計數(shù)符號數(shù)的計數(shù)符號 則則 AL 寄存器的內(nèi)容加寄存器的內(nèi)容加 60H 且將 且將 CF 置置 1 AL 將將 AL 的加和調(diào)整為壓縮的加和調(diào)整為壓縮 BCD 碼碼 SUB AL i8 r8 m8 SBB AL i8 r8 m8 DAS 使用條件 使用條件 1 當(dāng)當(dāng) AF 標(biāo)志位為標(biāo)志位為 1 或 或 AL 寄存器的低寄存器的低 4 位超出位超出 BCD 數(shù)的計數(shù)符號數(shù)的計數(shù)符號 則 則 AL 寄存器的內(nèi)容減寄存器的內(nèi)容減 06F 且將 且將 AF 置置 1 2 當(dāng)當(dāng) CF 標(biāo)志位為標(biāo)志位為 1 或 或 AL 寄存器的高四位超出寄存器的高四位超出 BCD 數(shù)的計數(shù)符號數(shù)的計數(shù)符號 則 則 AL 寄存器的內(nèi)容減寄存器的內(nèi)容減 60H 且將 且將 CF 置置 1 AL 將將 AL 的減差調(diào)整為壓縮的減差調(diào)整為壓縮 BCD 碼碼 注意注意 1 使用使用 DAA 或或 DAS 指令前 應(yīng)先執(zhí)行指令前 應(yīng)先執(zhí)行以以 AL 為目的操作數(shù)為目的操作數(shù)的加法或減法指令的加法或減法指令 2 DAA 和和 DAS 指令指令對對 OF 標(biāo)志標(biāo)志無定義 按結(jié)果影響其他標(biāo)志 例如無定義 按結(jié)果影響其他標(biāo)志 例如 CF 反映壓縮反映壓縮 BCD 碼相加或減的進位或借位狀態(tài)碼相加或減的進位或借位狀態(tài) 乘法類乘法類 乘法指令乘法指令 1 無符號乘法無符號乘法 MUL r8 m8 無符號字節(jié)乘法 無符號字節(jié)乘法 AX AL r8 m8 MUL r16 m16 無符號字乘法 無符號字乘法 DX AX AX r16 m16 操作數(shù) 操作數(shù) 目的操作數(shù)隱含 為目的操作數(shù)隱含 為 AX AL 源操作數(shù)為源操作數(shù)為 imm8 reg8 或或 imm16 reg16 2 有符號乘法有符號乘法 IMUL r8 m8 有符號字節(jié)乘法 有符號字節(jié)乘法 AX AL r8 m8 IMUL r16 m16 有符號字乘法 有符號字乘法 DX AX AX r16 m16 注意 注意 1 立即數(shù)不能作操作數(shù) 立即數(shù)不能作操作數(shù) MUL 3 是錯的 是錯的 2 分清楚是有符號乘法還是無符號乘法 分清楚是有符號乘法還是無符號乘法 3 影響標(biāo)志位 影響標(biāo)志位 對標(biāo)志位的影響 對標(biāo)志位的影響 乘法指令如下影響乘法指令如下影響 OF 和和 CF 標(biāo)志 標(biāo)志 MUL 指令指令 若乘積的高一半 若乘積的高一半 AH 或或 DX 為 為 0 則 則 OF CF 0 否則 否則 OF CF 1 IMUL 指令指令 若乘積的高一半是低一半的若乘積的高一半是低一半的符號擴展符號擴展 則 則 OF CF 0 否則均 否則均 1 乘法指令對乘法指令對其他其他狀態(tài)標(biāo)志狀態(tài)標(biāo)志沒有定義沒有定義 標(biāo)識為影響示例 標(biāo)識為影響示例 mov al 0b4h al b4h 180 mov bl 11h bl 11h 17 mul bl ax Obf4h 3060 OF CF 1 AX 高高 8 位不為位不為 0 mov al 0b4h al b4h 76 mov bl 11h bl 11h 17 imul bl ax faf4h 1292 OF CF 1 AX 高高 8 位含位含有效數(shù)字有效數(shù)字 除法類除法類 除法指令除法指令 1 無符號除法無符號除法 DIV r8 m8 無符號字節(jié)除法 無符號字節(jié)除法 AL AX r8 m8 的的商商 Ah AX r8 m8 的的余數(shù)余數(shù) DIV r16 m16 無符號字除法 無符號字除法 AX DX AX r16 m16 的的商商 DX DX AX r16 m16 的的 余數(shù)余數(shù) 操作數(shù) 操作數(shù) 目的操作數(shù)隱含 為目的操作數(shù)隱含 為 AX 或或 DX 源操作數(shù)為源操作數(shù)為 imm8 reg8 或或 imm16 reg16 2 有符號除法有符號除法 IDIV r8 m8 有符號字節(jié)除法 有符號字節(jié)除法 AL AX r8 m8 的商 的商 Ah AX r8 m8 的余數(shù)的余數(shù) IDIV r16 m16 有符號字除法 有符號字除法 AX DX AX r16 m16 的商 的商 DX DX AX r16 m16 的的 余數(shù)余數(shù) 注意 注意 1 立即數(shù)不能作操作數(shù) 立即數(shù)不能作操作數(shù) DIV 3 是錯的 是錯的 2 分清楚是有符號乘法還是無符號乘法 分清楚是有符號乘法還是無符號乘法 3 除法指令對標(biāo)志除法指令對標(biāo)志沒有定義 沒有定義 4 除法指令會除法指令會產(chǎn)生結(jié)果溢出 產(chǎn)生結(jié)果溢出 溢出 溢出 當(dāng)被除數(shù)遠大于除數(shù)時 所得的商就有可能超出它所能表達的范圍 如果存放商當(dāng)被除數(shù)遠大于除數(shù)時 所得的商就有可能超出它所能表達的范圍 如果存放商 的寄存器的寄存器 AL AX 不能表達 便產(chǎn)生溢出 不能表達 便產(chǎn)生溢出 8086CPU 中就產(chǎn)生中就產(chǎn)生編號為編號為 0 的內(nèi)部中斷的內(nèi)部中斷 除法錯中斷除法錯中斷 對對 DIV 指令 除數(shù)為指令 除數(shù)為 0 或者在字節(jié)除時商 或者在字節(jié)除時商超過超過 8 位位 或者在字除時商 或者在字除時商超過超過 16 位位 則發(fā)生除法溢出 則發(fā)生除法溢出 對對 IDIV 指令 除數(shù)為指令 除數(shù)為 0 或者在字節(jié)除
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025生源地信用助學(xué)貸款借款合同范本
- 2024年項目工程代理合作協(xié)議標(biāo)準版版B版
- 高科技產(chǎn)品委托加工研發(fā)合作
- 鉆石礦防水施工安全準則
- 化工危險廢物處置中心施工協(xié)議
- 重慶市政務(wù)服務(wù)管理導(dǎo)則
- 利潤分紅協(xié)議書范例
- 醫(yī)院空調(diào)系統(tǒng)安裝合同
- 設(shè)備助理聘用合同須知
- 航空工程監(jiān)理管理與評標(biāo)方案
- 合伙開公司股份分配協(xié)議書
- 2023年聊城市人民醫(yī)院招聘備案制工作人員考試真題
- 2024年R1快開門式壓力容器操作證考試題庫及答案
- 《數(shù)學(xué)物理方法》期末測試卷及答案
- 儺戲面具制作課程設(shè)計
- 滬科版九年級物理下冊教案全冊
- 2024中國華電集團限公司校招+社招高頻難、易錯點練習(xí)500題附帶答案詳解
- 歷史期中復(fù)習(xí)課件八年級上冊復(fù)習(xí)課件(統(tǒng)編版)
- 智能工廠梯度培育行動實施方案
- 保護性約束完整版本
- 23J916-1 住宅排氣道(一)
評論
0/150
提交評論