《指令系統(tǒng)系統(tǒng)》PPT課件.ppt

上傳人:san****019 文檔編號(hào):21204528 上傳時(shí)間:2021-04-25 格式:PPT 頁(yè)數(shù):134 大?。?75.60KB
收藏 版權(quán)申訴 舉報(bào) 下載
《指令系統(tǒng)系統(tǒng)》PPT課件.ppt_第1頁(yè)
第1頁(yè) / 共134頁(yè)
《指令系統(tǒng)系統(tǒng)》PPT課件.ppt_第2頁(yè)
第2頁(yè) / 共134頁(yè)
《指令系統(tǒng)系統(tǒng)》PPT課件.ppt_第3頁(yè)
第3頁(yè) / 共134頁(yè)

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《《指令系統(tǒng)系統(tǒng)》PPT課件.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《《指令系統(tǒng)系統(tǒng)》PPT課件.ppt(134頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、8086指 令 系 統(tǒng) 系 統(tǒng) 第 4章 8086指 令 系 統(tǒng) 系 統(tǒng) 本 章 重 點(diǎn) : 掌 握 8086/8088 CPU的 尋 址 方 式 、 指 令 系 統(tǒng)中 指 令 的 分 類 及 其 常 用 指 令 的 格 式 和 功 能 。本 章 難 點(diǎn) : 靈 活 運(yùn) 用 指 令 解 決 問(wèn) 題 及 其 快 速 查 閱 指 令 表 。 概 述指 令 是 微 處 理 器 執(zhí) 行 某 種 操 作 的 命 令 , 微 處 理 器 全 部 指 令的 集 合 稱 為 指 令 系 統(tǒng) ( 指 令 集 ) 。指 令 有 兩 種 書 寫 格 式 : 機(jī) 器 指 令 和 符 號(hào) 指 令 。F機(jī) 器 指 令 指

2、 令 的 二 進(jìn) 制 數(shù) 描 述硬 件 只 能 識(shí) 別 機(jī) 器 指 令 , 用 機(jī) 器 指 令 書 寫 的 程 序 可 以 直 接 運(yùn)行F符 號(hào) 指 令 用 規(guī) 定 的 助 記 符 和 規(guī) 定 的 書 寫 格 式 書寫 的 指 令 與 機(jī) 器 指 令 一 一 對(duì) 應(yīng) , 需 要 翻 譯 成 機(jī) 器 指 令 才 能 運(yùn) 行10110000 00000001 MOV AL, 11. 指 令 2. 程 序程 序 是 為 解 決 某 一 問(wèn) 題 而 編 寫 在 一 起 的 指 令 序 列機(jī) 器 語(yǔ) 言 程 序 : 由 機(jī) 器 指 令 書 寫 的 程 序匯 編 語(yǔ) 言 程 序 : 由 符 號(hào) 指 令 書

3、 寫 的 程 序高 級(jí) 語(yǔ) 言 程 序 : 由 高 級(jí) 語(yǔ) 言 書 寫 的 程 序 , 高 級(jí) 語(yǔ) 言 的 基 礎(chǔ)是 語(yǔ) 句 , 而 不 是 處 理 器 的 指 令 系 統(tǒng)匯 編 語(yǔ) 言 程 序 和 高 級(jí) 語(yǔ) 言 程 序 必 須 先 翻 譯 成 機(jī) 器 語(yǔ) 言 程 序 才 能 執(zhí)行 。 這 一 翻 譯 過(guò) 程 對(duì) 匯 編 語(yǔ) 言 程 序 叫 做 匯 編 ( assemble) , 對(duì) 高級(jí) 語(yǔ) 言 程 序 叫 做 編 譯 ( compilation) 或 解 釋 ( interpretation) 符 號(hào) 指 令 的 書 寫 格 式 為 :標(biāo) 號(hào) : 操 作 碼 助 記 符 操 作 數(shù) 助

4、記 符 ;注 釋 標(biāo) 號(hào) 代 表 該 指 令 在 存 儲(chǔ) 器 中 的 地 址 , 為 分 支 、 循 環(huán) 提供 轉(zhuǎn) 移 目 標(biāo) 。 可 選操 作 碼 助 記 符 如 ADD, MOV等 , 指 出 指 令 要 實(shí) 現(xiàn) 的 功能操 作 數(shù) 是 指 令 操 作 的 對(duì) 象 。 當(dāng) 一 條 指 令 需 要 一 個(gè) 以 上的 操 作 數(shù) 時(shí) , 操 作 數(shù) 間 用 逗 號(hào) 分 隔 , 逗 號(hào) 前 為 目 標(biāo) 操作 數(shù) , 逗 號(hào) 后 為 源 操 作 數(shù) 。注 釋 可 增 強(qiáng) 可 讀 性 。 可 選 3. X86系 列 微 處 理 器 指 令 系 統(tǒng) 的 發(fā) 展基 本 指 令 集8086/8088 11

5、6條 指 令 基 本 指 令 集增 強(qiáng) 指 令 集系 統(tǒng) 控 制 指 令 集保 護(hù) 模 式 實(shí) 模 式Pentium306條 指 令 4.1 尋 址 方 式尋 址 方 式 : 尋 址 方 式 是 指 在 指 令 中 用 于 說(shuō) 明 操 作 數(shù) 所 在 地址 的 方 法 。 8086指 令 系 統(tǒng) 把 尋 址 方 式 分 為 與 數(shù) 據(jù) 有 關(guān) 的 尋址 方 式 和 與 地 址 有 關(guān) 的 尋 址 方 式 兩 類 。 操 作 數(shù) 有 三 種 可 能 的 存 放 方 式 :直 接 包 含 在 指 令 中 立 即 數(shù) 立 即 尋 址包 含 在 某 個(gè) 寄 存 器 中 寄 存 器 操 作 數(shù) 寄 存

6、器 尋 址在 內(nèi) 存 中 存 儲(chǔ) 器 操 作 數(shù) ( 內(nèi) 存 操 作 數(shù) ) 存 儲(chǔ) 器 尋 址 (1) 立 即 尋 址 方 式 定 義 : 有 一 部 分 指 令 所 用 的 8位 或 16位 操 作 數(shù)就 直 接 放 在 指 令 中 , 緊 跟 在 操 作 碼 的 后 面 ,與 操 作 碼 一 同 放 在 代 碼 段 區(qū) 域 中 。用 途 : 主 要 用 來(lái) 給 寄 存 器 或 儲(chǔ) 存 單 元 賦 值 。MOV AL, 80H4.1 尋 址 方 式4.1.1 與 數(shù) 據(jù) 有 關(guān) 的 尋 址 方 式 (2) 寄 存 器 尋 址 方 式定 義 : 指 令 中 操 作 數(shù) 由 寄 存 器 提 供

7、 的 尋 址 方式 。 MOV DL, AL INC CX 4.1 尋 址 方 式4.1.1 與 數(shù) 據(jù) 有 關(guān) 的 尋 址 方 式 (3) 直 接 尋 址 方 式定 義 : 有 效 地 址 EA在 指 令 的 操 作 碼 后 面 直 接給 出 的 尋 址 方 式 。說(shuō) 明 : 默 認(rèn) 段 寄 存 器 DS, 若 操 作 數(shù) 在 其 他 段 ,應(yīng) 在 指 令 中 使 用 段 跨 越 前 綴 。 即 : EA=段 寄 存 器 : 位 移 量 ; PA=(段 寄 存 器 )左 移 4位 位 移 量 MOV AX, 1000H4.1 尋 址 方 式4.1.1 與 數(shù) 據(jù) 有 關(guān) 的 尋 址 方 式

8、指 令 中 的 操 作 數(shù) 部 分 直 接 給 出 操 作 數(shù) 的 有 效 地 址 EA,操 作 數(shù) 可 以 是 16位 或 32位 整 數(shù) , 操 作 數(shù) 默 認(rèn) 在 DS段 中MOV AX, 3000H 低 地 址高 地 址CS段操 作 碼00H30H34H12H34H12HAX DS段5000053000DS 50000300053000+ 如 果 操 作 數(shù) 在 DS以 外 的 其 他 段 ( CS,SS,ES ) 中 , 指令 中 必 須 包 含 段 超 越 前 綴MOV AX, ES:3000H 低 地 址高 地 址CS段操 作 碼00H30H34H12H34H12HAX FS段2

9、000023000ES 20000300023000+ (4) 寄 存 器 間 接 尋 址 方 式定 義 : EA存 放 在 由 指 令 指 明 的 寄 存 器 中 ; 只 有 通 過(guò) 訪問(wèn) 寄 存 器 才 間 接 得 到 EA。 ( BX) ( SI) 操 作 數(shù) 存 放 在 由 DS指 示 的 數(shù) 據(jù) 段 。 ( DI) PA=(DS)左 移 4位 +(BX)/( SI) /( DI) ( BP) 操 作 數(shù) 存 放 在 由 SS指 示 的 堆 棧 段 中 。 PA=(SS)左 移 4位 +(BP) 如 果 DS=2000H, SI=1000H, 21000H=40H, 21001=32H

10、。 MOV AX, SI指 令 執(zhí) 行 后 結(jié) 果 : AX=3240H。 4.1.1 與 數(shù) 據(jù) 有 關(guān) 的 尋 址 方 式 低 地 址高 地 址CS段操 作 碼34H12H34H12HAX SS段7000073000SS 70000300073000+MOV AX, BPBP (5) 寄 存 器 相 對(duì) 尋 址 方 式定 義 : 以 寄 存 器 (BX、 SI、 DI和 BP)內(nèi) 容 為 基 地址 加 上 位 移 量 (8位 或 16位 )得 到 有 效 地 址 EA的尋 址 方 式 。 4.1 尋 址 方 式4.1.1 與 數(shù) 據(jù) 有 關(guān) 的 尋 址 方 式 低 地 址高 地 址CS段操

11、 作 碼00H15H34H12H34H12HDX DS段7000073500BX 150073500+MOV DX, BX+1500DS 700002000 若 選 擇 BX、 SI、 DI寄 存 器 相 對(duì) 尋 址 , 存放 操 作 數(shù) 的 段 寄 存 器 默 認(rèn) 為 DS, 若 選 擇 BP寄存 器 相 對(duì) 尋 址 , 則 對(duì) 應(yīng) 的 段 寄 存 器 默 認(rèn) 為 SS。如 果 操 作 數(shù) 不 在 默 認(rèn) 段 , 則 要 用 前 綴 指 出 相應(yīng) 的 段 寄 存 器 名 。 即 操 作 數(shù) 的 有 效 地 址 為 : 位位移量16位位移量8DIISBPBXEA MOV AX, SI+10H4

12、.1.1 與 數(shù) 據(jù) 有 關(guān) 的 尋 址 方 式 (6) 基 址 變 址 尋 址 方 式定 義 : 由 基 址 寄 存 器 (BX, BP)的 內(nèi) 容 加 上 變址 寄 存 器 (SI, DI)的 內(nèi) 容 得 到 操 作 數(shù) 有 效 地址 EA的 尋 址 方 式 。操 作 數(shù) 的 有 效 地 址 為 : DI SIBP BXEAMOV AX, BX+DI設(shè) DS=1000H, BX=5000H, DI=2000H, 在 執(zhí) 行 時(shí) ,有 效 地 址 為 7000H, 指 令 執(zhí) 行 結(jié) 果 為 17000H和17001H兩 單 元 的 內(nèi) 容 取 到 AX中 。 4.1.1 與 數(shù) 據(jù) 有 關(guān)

13、 的 尋 址 方 式 (7) 基 址 變 址 相 對(duì) 尋 址 方 式 由 基 址 寄 存 器 (BX, BP)的 內(nèi) 容 加 上 變 址寄 存 器 (SI, DI)的 內(nèi) 容 , 再 加 上 位 移 量 (8位或 16位 )得 到 操 作 數(shù) 有 效 地 址 EA的 方 式 稱 為 基址 變 址 相 對(duì) 尋 址 方 式 。操 作 數(shù) 的 有 效 地 址 為 : MOV AX, BX+SI+4500H 若 DS=3000H, BX=2000H, SI=1000H, 37500H=56H, 37501H=12H, 指 令 執(zhí) 行 后 AX=1256H。 位 位 移 量位 位 移 量168DISIB

14、PBXEA4.1.1 與 數(shù) 據(jù) 有 關(guān) 的 尋 址 方 式 單 元 (0,0)單 元 (0,1)單 元 (0,n)( 位 移 量 )二 維 數(shù) 組 的 基 址 加 變 址 尋 址 方 式基 址 寄 存 器+MOV AX, BX+SI+100H 單 元 (1,0)單 元 (1,n)單 元 (1,1)單 元 (m,n)變 址 寄 存 器+ 在 8086指 令 系 統(tǒng) 中 , 有 一 些 對(duì) 指 令 的 地 址進(jìn) 行 尋 址 的 指 令 , 這 種 尋 址 方 式 叫 與 地 址 有 關(guān)的 尋 址 方 式 。(1) 段 內(nèi) 直 接 尋 址 用 段 內(nèi) 直 接 尋 址 方 式 時(shí) , 指 令 中 給

15、 出 一 個(gè)相 對(duì) 位 移 量 , 有 效 轉(zhuǎn) 移 地 址 為 IP的 當(dāng) 前 內(nèi) 容 再加 上 一 個(gè) 8位 或 16位 的 位 移 量 。 段 內(nèi) 直 接 轉(zhuǎn) 移尋 址 也 稱 為 相 對(duì) 尋 址 。4.1.2 與 地 址 有 關(guān) 的 尋 址 方 式 (2) 段 內(nèi) 間 接 尋 址 用 段 內(nèi) 間 接 尋 址 方 式 時(shí) , 有 效 地 址 總 是 在寄 存 器 中 或 者 在 內(nèi) 存 單 元 中 , 段 內(nèi) 間 接 尋 址 方式 可 適 用 于 于 無(wú) 條 件 轉(zhuǎn) 移 指 令 和 調(diào) 用 指 令 。(3) 段 間 直 接 尋 址 用 段 間 直 接 尋 址 方 式 進(jìn) 行 尋 址 時(shí) ,

16、 指 令 中要 給 出 轉(zhuǎn) 移 地 址 的 段 值 和 偏 移 量 。 產(chǎn) 生 轉(zhuǎn) 移 時(shí) ,將 段 值 送 入 CS中 , 將 偏 移 量 送 入 IP中 。 用 這 種尋 址 方 式 , 可 以 提 供 一 種 使 程 序 從 一 個(gè) 代 碼 段轉(zhuǎn) 移 到 另 一 個(gè) 代 碼 段 的 方 法 。 4.1.2 與 地 址 有 關(guān) 的 尋 址 方 式 (4) 段 間 間 接 尋 址 在 段 間 間 接 尋 址 方 式 下 產(chǎn) 生 轉(zhuǎn) 移 時(shí) , IP和CS的 內(nèi) 容 用 內(nèi) 存 中 2個(gè) 連 續(xù) 的 字 來(lái) 替 換 。 而 對(duì)這 2個(gè) 內(nèi) 存 字 , 可 以 通 過(guò) 對(duì) 數(shù) 據(jù) 的 各 種 尋

17、 址 方式 來(lái) 訪 問(wèn) , 不 過(guò) 立 即 數(shù) 尋 址 方 式 和 寄 存 器 尋 址方 式 除 外 。 段 間 轉(zhuǎn) 移 和 段 內(nèi) 間 接 轉(zhuǎn) 移 必 須 是 無(wú)條 件 轉(zhuǎn) 移 指 令 和 調(diào) 用 指 令 。 換 句 話 說(shuō) , 條 件 轉(zhuǎn)移 指 令 只 能 用 段 內(nèi) 直 接 尋 址 方 式 , 而 且 轉(zhuǎn) 移 范圍 只 能 是 指 令 所 在 位 置 前 后 的 -128 +127個(gè) 單元 。 4.1.2 與 地 址 有 關(guān) 的 尋 址 方 式 總 結(jié) :尋 址 方 式 既 針 對(duì) 源 操 作 數(shù) , 也 針 對(duì) 目 標(biāo) 操 作 數(shù)實(shí) 模 式 下 段 的 最 大 長(zhǎng) 度 為 64KB,

18、因 此 必 須 保 證 有效 地 址 不 超 過(guò) FFFFH立 即 寄 存 器 寄 存 器 間 接 寄 存 器 相 對(duì) 直 接 基 址 變 址 相 對(duì) 基 址 變 址 8086 8088的 指 令 系 統(tǒng) 中 包 含 133條 基 本指 令 , 可 以 分 為 以 下 六 個(gè) 功 能 組 。 (1)傳 送 指 令 ; (2)邏 輯 運(yùn) 算 和 移 位 指 令 ; (3)控 制 轉(zhuǎn) 移 指 令 ; (4)算 術(shù) 運(yùn) 算 指 令 ; (5)串 操 作 指 令 ; (6)處 理 器 控 制 指 令 。4.2 8086指 令 系 統(tǒng) 8086數(shù) 據(jù) 傳 送 指 令 有 如 下 四 類 : (1) 通

19、用 傳 送 指 令 ; (2) 累 加 器 專 用 傳 送 指 令 ; (3) 地 址 傳 送 指 令 ; (4) 標(biāo) 志 傳 送 指 令 。4.2 8086指 令 系 統(tǒng) 4.2.1 傳 送 指 令 1 通 用 傳 送 指 令 ( General Purpose Transfer) 通 用 傳 送 指 令 中 包 括 MOV、 XCHG、 堆 棧 和地 址 傳 送 指 令 。(1) 最 基 本 的 傳 送 指 令格 式 : MOV DST, SRC功 能 : 把 一 個(gè) 字 節(jié) 或 字 的 源 操 作 數(shù) 送 到 目 標(biāo) 操 作 數(shù) 所 在 的 單 元 。例 : MOV AL, BL ; B

20、L中 的 8位 數(shù) 據(jù) 送 AL 4.2.1 傳 送 指 令 MOV MEM, REG MOV REG, MEM MOV REG1, REG2 MOV REG, DATA MOV MEM, DATA MOV SREG, REG MOV SREG, MEM MOV REG, SREG MOV MEM, SREG具 體 指 令 可 以 字 型 , 也 可 以 字 節(jié)型 , 但 是 必 須 匹 配 只 能 是 字 型 操 作MOV AX , 100MOV AX , 100H的 區(qū) 別 ? l操 作 數(shù) 即 可 以 是 字 節(jié) 型 , 也 可 以 是 字 型 ,但 兩 個(gè) 類 型 必 須 相 同 。l

21、兩 個(gè) 操 作 數(shù) 不 能 都 是 存 儲(chǔ) 器 操 作 數(shù)l代 碼 段 寄 存 器 不 能 是 目 標(biāo) 操 作 數(shù)l段 寄 存 器 不 能 直 接 用 立 即 數(shù) 賦 值l兩 個(gè) 操 作 數(shù) 必 須 有 一 個(gè) 能 確 定 類 型l所 有 MOV指 令 不 影 響 標(biāo) 志 寄 存 器注 意 : (2) 堆 棧 操 作 指 令 堆 棧 操 作 指 令 分 為 : 入 棧 指 令 PUSH和 出 棧 指 令 POP。格 式 : PUSH SRC功 能 : 堆 棧 指 針 SP減 2后 , 把 一 個(gè) 字 的 源 操 作 數(shù) 傳 送 到 目 的 操 作 數(shù) 所 在 的 單 元 。格 式 : POP

22、DST功 能 : 把 SP指 出 的 棧 頂 中 的 一 個(gè) 字 傳 送 到 目 標(biāo) 操 作 數(shù) 所 在 的 單 元 , 然 后 加 2。說(shuō) 明 : 堆 棧 是 按 “ 先 進(jìn) 后 出 ” 原 則 工 作 的 一 段 存 儲(chǔ) 器 區(qū) 域 。 例 : PUSH AX ; 將 AX的 內(nèi) 容 推 入 堆 棧 PUSH DS ; 將 DS的 內(nèi) 容 推 入 堆 棧 PUSH BX ; 將 棧 頂 兩 單 元 彈 出 送 BX 4.2.1 傳 送 指 令 注 釋 所 有 堆 棧 操 作 都 是 16位 的 操 作 除 CS外 , 段 寄 存 器 都 可 以 作 為 POP的 操作 數(shù) 棧 操 作 不

23、允 許 立 即 數(shù) 不 影 響 標(biāo) 志 寄 存 器 (3) 交 換 指 令格 式 : XCHG DST, SRC功 能 : 使 源 操 作 數(shù) 與 目 的 操 作 數(shù) 相 互 交 換 。說(shuō) 明 : 交 換 指 令 XCHG可 以 實(shí) 現(xiàn) 字 節(jié) 交 換 , 也 可 以 實(shí) 現(xiàn) 字 交 換 。例 : XCHG AL, BL XCHG 2530, CX4.2.1 傳 送 指 令 注 釋 可 以 字 節(jié) , 也 可 以 字 操 作 , 但 是 類 型 要一 致 不 能 出 現(xiàn) 段 寄 存 器 不 能 兩 個(gè) 存 儲(chǔ) 器 操 作 數(shù) 不 能 有 立 即 數(shù) 不 影 響 標(biāo) 志 寄 存 器 2 累 加

24、器 專 用 傳 送 指 令 累 加 器 專 用 傳 送 指 令 主 要 有 輸 入 指 令 IN、輸 出 指 令 OUT和 換 碼 指 令 XLAT。(1) 輸 入 輸 出 指 令格 式 : IN AL,PORT功 能 : 把 來(lái) 自 端 口 PORT的 一 個(gè) 字 節(jié) 送 入 AL寄 存 器 中4.2.1 傳 送 指 令 2 累 加 器 專 用 傳 送 指 令 輸 入 輸 出 指 令格 式 : IN AX,PORT功 能 : 把 來(lái) 自 PORT和 PORT +1兩 個(gè) 端 口 的 數(shù) 據(jù) 構(gòu) 成 一 個(gè) 字 送 入 AX寄 存 器 中格 式 : OUT PORT,AL功 能 : 把 AL寄

25、 存 器 中 的 一 個(gè) 字 節(jié) 送 入 端 口 PORT格 式 : OUT PORT,AX功 能 : 把 AX寄 存 器 中 的 一 個(gè) 字 送 入 PORT和 PORT+1 兩 個(gè) 端 口 4.2.1 傳 送 指 令 注 釋 可 以 8位 也 可 以 16位 , 8位 時(shí) AL, 16位 時(shí)AX 若 端 口 地 址 小 于 256, 可 以 直 接 在 指 令 中給 出 , 否 則 必 須 由 DX提 供 端 口 地 址 所 有 輸 入 或 輸 出 必 須 借 助 累 加 器 AL或AX 傳 輸 , 其 他 寄 存 器 不 行 (2) 換 碼 指 令 (Translate) 格 式 : X

26、LAT OPRD 功 能 : 設(shè) BX指 向 一 張 256個(gè) 字 節(jié) 的 表 的 起點(diǎn) , AL為 表 的 索 引 值 , 本 指 令 執(zhí) 行 后AL中 即 為 查 表 所 得 到 的 信 息 , XLAT經(jīng)常 用 來(lái) 把 一 種 代 碼 翻 譯 成 另 一 個(gè) 代 碼 。 4.2.1 傳 送 指 令 3 地 址 傳 送 指 令 8086指 令 系 統(tǒng) 中 , 有 3條 專 用 于 傳 送 地 址 的指 令 : LEA、 LDS和 LES。(1) 取 有 效 地 址 指 令 格 式 : LEA REG16, MEM 功 能 : 將 源 操 作 數(shù) 的 有 效 地 址 送 到 指 定 寄 存器

27、 中 。4.2.1 傳 送 指 令 (2) 將 地 址 指 針 裝 入 DS和 另 一 個(gè) 寄 存 器 的 指 令格 式 : LDS REG16, MEM功 能 : 把 源 操 作 數(shù) SRC的 前 16位 送 入 目 標(biāo) 操 作 數(shù) REG, 后 16位 送 入 DS寄 存 器 中 。(3) 將 地 址 指 針 裝 入 ES和 另 一 個(gè) 寄 存 器 的 指 令 LES REG16, MEM LES指 令 和 LDS指 令 的 格 式 及 使 用 方 法 是類 似 的 , 只 是 LES是 將 一 個(gè) 地 址 指 針 裝 入 ES和另 一 個(gè) 寄 存 器 。 4 標(biāo) 志 傳 送 指 令(1)

28、 讀 取 標(biāo) 志 指 令 ( Load AH with Flags)格 式 : LAHF功 能 : 將 標(biāo) 志 位 寄 存 器 中 的 低 8位 傳 送 到 AH中說(shuō) 明 : 將 SF、 ZF、 AF、 PF和 CF傳 送 到 AH寄 存 器的 相 應(yīng) 位 , 即 D7、 D6、 D4、 D2和 D0位 , 執(zhí) 行LAHF指 令 后 , AH寄 存 器 的 D5、 D3、 D1位 沒(méi) 有意 義 , 如 圖 所 示 。 OF DF IF TF SF ZF AF PF CF D7 D6 D4 D2 D0FLAG AH 4.2.1 傳 送 指 令 (2) 設(shè) 置 標(biāo) 志 指 令 ( Store AH

29、 into Flags)格 式 : SAHF功 能 : 將 AH寄 存 器 的 相 應(yīng) 位 傳 送 到 標(biāo) 志 寄 存 器 低8位 。 (3) 對(duì) 標(biāo) 志 寄 存 器 的 推 入 堆 棧 指 令格 式 : PUSHF功 能 : 將 標(biāo) 志 寄 存 器 的 值 推 入 堆 棧 頂 部 , 同 時(shí) ,棧 指 針 SP的 值 減 2, 此 指 令 在 執(zhí) 行 時(shí) 標(biāo) 志 寄 存器 的 值 不 變 。4.2.1 傳 送 指 令 (4)對(duì) 標(biāo) 志 寄 存 器 的 彈 出 堆 棧 指 令 格 式 : POPF 功 能 : 在 執(zhí) 行 時(shí) 從 堆 棧 中 彈 出 一 個(gè) 字 送 到 標(biāo) 志寄 存 器 中 ,

30、 同 時(shí) 堆 棧 指 針 SP的 值 加 2。 PUSHF和 POPF指 令 一 般 用 在 子 程 序 和 中 斷 處理 程 序 的 首 尾 , 起 保 存 主 程 序 標(biāo) 志 和 恢 復(fù) 主程 序 標(biāo) 志 的 作 用 。 4.2.1 傳 送 指 令 總 結(jié) 所 有 傳 輸 類 指 令 , 除 POPF和 SAHF外 ,均 不 影 響 標(biāo) 志 寄 存 器 所 有 傳 輸 類 指 令 不 允 許 兩 個(gè) 操 作 數(shù) 均 為存 儲(chǔ) 器 操 作 數(shù) ( 堆 棧 指 令 除 外 ) 要 注 意 段 寄 存 器 的 搭 配 使 用 注 意 數(shù) 據(jù) 類 型 默 認(rèn) 的 段 寄 存 器 搭 配操 作 段

31、寄 存 器 段 內(nèi) 地 址 段 跨 越 示 例取 指 令 CS IP 無(wú)源 串 DS SI CS,ES,SS MOVS DI,CS:SI目 標(biāo) 串 ES DI 無(wú) MOVSW堆 棧 SS SP 無(wú) POP AX通 用 數(shù) 據(jù) 操 作無(wú) BP參 與 DS 各 種 有 效 地 址 CS,ES,SS MOV AL, 2000H有 BP參 與 SS 各 種 有 效 地 址 CS,ES,DS MOV AL, ES:BP 已 知 (BX)=2000H, (DI)=3000H,(SS)=4000H, (DS)=6000H, (SS)=5000H,66000H單 元 的 內(nèi) 容 為 28H, 則 指 令 MO

32、V AL, BX+DI+1000H的 執(zhí) 行 結(jié) 果 是_。 指 令 “ MOV AX,BX”源 操 作 數(shù) 的 尋 址 方式 為 _。 8086的 I/O指 令 有 _和_兩 種 尋 址 方 式 。 設(shè) 當(dāng) 前 的 (SP)=0100H, 執(zhí) 行 PUSH AX指令 后 , (SP)=_H 在 尋 址 方 式 中 , 可 作 基 址 寄 存 器 的 有_、 _。 若 (DS)=2000H, (ES)=2100H,(CS)=1500H, (SI)=00A0H, (BX)=0100H, (BP)=0010H, 數(shù) 據(jù) 量 COUNT的 偏 移 地 址為 0050H, 則 執(zhí) 行 指 令 LEA

33、AX, BXSI 之 后 , (AX)=_H, 源 操 作 數(shù) 是_尋 址 方 式 。 指 令 LEA DX,BUFFER 的 功 能 是 將_傳 送 給 DX。 累 加 器 專 用 傳 送 指 令 IN間 接 訪 問(wèn) I/O端 口 ,端 口 號(hào) 地 址 范 圍 為 _。 針 對(duì) 源 操 作 數(shù) 按 下 列 尋 址 方 式 各 舉 出 一條 指 令 (1) 直 接 尋 址 方 式 指 令 : (2) 寄 存 器 間 接 尋 址 方 式 指 令 : (3) 寄 存 器 相 對(duì) 尋 址 方 式 指 令 : (4) 基 址 加 變 址 尋 址 方 式 指 令 : (5) 寄 存 器 方 式 指 令

34、: IBM-PC有 哪 些 寄 存 器 可 用 來(lái) 指 示 存 儲(chǔ) 器偏 移 地 址 ? MOV DS, 1000H LEA BX,DATA ; 變 量 名 ( ) 執(zhí) 行 下 列 指 令 可 以 將 其 00H送 到 端 口 地 址 為2F8H的 外 設(shè) 上 : ( ) MOV AL, 00H MOV DX, 2F8H OUT DX, AL MOV WORD PTR BX, 1000H ( ) IN AL, N ; ( N255) ( ) MOV BXDI, 10 ( ) MOV DS, AX ( ) MOV CS, AX ( ) 執(zhí) 行 下 列 指 令 可 以 將 00H送 到 端 口 地

35、 址 為 1A0H的 外 設(shè)上 。 MOV AL, 00H MOV 1A0H , AL ( ) MOV BX, 1000 ( ) MOV ES,3F00H ( ) PUSH AL ( ) IN AL,DX ( ) MOV BX,SI ( ) XCHG CS, AX ( ) XCHG BX, IP ( ) PUSH CS ( ) PUSH SS ( ) POP ES ( ) IN BX, DX ( ) 算 術(shù) 運(yùn) 算 指 令 共 有 以 下 五 類 : 加 法 運(yùn) 算 指 令 、減 法 運(yùn) 算 指 令 、 乘 法 運(yùn) 算 指 令 、 除 法 運(yùn) 算指 令 、 轉(zhuǎn) 換 指 令 。1 加 法 指 令

36、 (1) 不 帶 進(jìn) 位 位 的 加 法 指 令格 式 : ADD DST, SRC功 能 : 執(zhí) 行 源 操 作 數(shù) SRC和 目 的 操 作 數(shù) DST的相 加 操 作 , 結(jié) 果 放 在 目 的 操 作 數(shù) 的 中 。4.2 8086指 令 系 統(tǒng) 4.2.2 算 術(shù) 運(yùn) 算 指 令 (2) 帶 進(jìn) 位 位 的 加 法 指 令格 式 : ADC DST, SRC功 能 : ADC與 ADD類 似 , 不 同 的 是 將 進(jìn) 位 標(biāo) 志CF 的 值 加 在 和 中 。 ADD AL, 50H ADC AX, SI (3) 增 量 指 令格 式 : INC SRC功 能 : 將 源 操 作

37、數(shù) 的 內(nèi) 容 加 1, 再 送 回 該 源 操 作 數(shù) 。4.2.2 算 術(shù) 運(yùn) 算 指 令 2 減 法 指 令 (1) 不 考 慮 借 位 的 減 法 指 令格 式 : SUB DST, SRC功 能 : 將 目 的 操 作 數(shù) 減 去 源 操 作 數(shù) , 結(jié) 果 放在 目 的 操 作 數(shù) 中 , 主 要 完 成 2個(gè) 字 節(jié) 或 2個(gè)字 的 相 減 。(2) 考 慮 借 位 的 減 法 指 令格 式 : SBB DST, SRC功 能 : 目 的 操 作 數(shù) 減 去 源 操 作 數(shù) 的 同 時(shí) , 還要 減 去 CF的 值 。 SBB AX, 2030H 4.2.2 算 術(shù) 運(yùn) 算 指

38、令 (3) 減 量 指 令格 式 : DEC DST功 能 : 使 目 的 操 作 數(shù) 減 1, 再 送 回 到 目 的 操 作數(shù) 中 。(4) 求 補(bǔ) 指 令格 式 : NEG DST功 能 : 對(duì) 目 的 操 作 數(shù) 求 補(bǔ) 碼 , 結(jié) 果 送 回 目 的操 作 數(shù) 中 。 4.2.2 算 術(shù) 運(yùn) 算 指 令 (5) 比 較 指 令格 式 : CMP DST, SRC功 能 : 執(zhí) 行 兩 個(gè) 數(shù) 的 相 減 操 作 , 但 不 送 回 相 減的 結(jié) 果 , 只 是 使 結(jié) 果 影 響 標(biāo) 志 位 AF、 CF、 OF、PF、 SF和 ZF。 對(duì) 于 有 符 號(hào) 數(shù) 的 比 較 , 要 根

39、 據(jù) OF和 SF兩 者的 關(guān) 系 來(lái) 判 斷 結(jié) 果 。 OF和 SF的 值 相 同 , 則說(shuō) 明 被 減 數(shù) 比 減 數(shù) 大 , 反 之 , 被 減 數(shù) 比 減 數(shù)小 。4.2.2 算 術(shù) 運(yùn) 算 指 令 3 乘 法 指 令 (1) 無(wú) 符 號(hào) 數(shù) 的 乘 法 指 令格 式 : MUL SRC功 能 : 將 AL( 8位 ) 或 AX( 16位 ) 中 的 數(shù) 據(jù) 與 源 操 作 數(shù) 相 乘 , 結(jié) 果 放 在 AX或 DX與 AX兩 寄 存 器 中 。 MUL BL ; AL中 的 8位 數(shù) 和 BL中 的 8位 數(shù) 相 乘 , 結(jié) 果 在 AX中 (2) 有 符 號(hào) 數(shù) 的 乘 法 指

40、 令格 式 : IMUL SRC功 能 : 功 能 和 形 式 上 與 MUL很 類 似 , 只 是 要 求 兩 個(gè) 乘 數(shù) 必 須 均 為 有 符 號(hào) 數(shù) 。 IMUL BX ; AX和 BX中 的 兩 個(gè) 16位 有 符 號(hào) 數(shù) 相 乘 , 結(jié) 果 在 DX和 AX中4.2.2 算 術(shù) 運(yùn) 算 指 令 4 除 法 指 令(1)符 號(hào) 數(shù) 的 除 法 指 令格 式 : DIV SRC功 能 : 把 AX( 或 DX, AX) 中 的 被 除 數(shù) 除 以 8位 ( 或 16位 ) 源 操 作 數(shù) , 商 數(shù) 放 在 AL(或 AX), 余 數(shù) 放 在 AH(或 DX)中 。 DIV CL ;

41、AX中 的 數(shù) 據(jù) 除 以 CL中 的 數(shù) 據(jù) , 商 在 AL中 , 余 數(shù) 在 AH中 4.2.2 算 術(shù) 運(yùn) 算 指 令 (2) 有 符 號(hào) 數(shù) 的 除 法 指 令格 式 : IDIV SRC功 能 : 與 DIV相 似 , 不 同 的 是 將 除 數(shù) , 被 除 數(shù) ,商 和 余 數(shù) 都 看 作 是 帶 符 號(hào) 數(shù) 。 IDIV BX; 將 DX和 AX中 的 32位 數(shù) 除 以 BX中 的16位 數(shù) , 運(yùn) 算 后 , 商 在 AX中 , 余 數(shù) 在 DX中 除 法 運(yùn) 算 時(shí) , 要 求 用 16位 數(shù) 除 以 8位 數(shù) , 或者 用 32位 數(shù) 除 以 16位 數(shù) , 當(dāng) 被 除

42、 數(shù) 只 有 8位 時(shí) ,必 須 將 此 8位 數(shù) 據(jù) 放 在 AL中 , 并 對(duì) 高 8位 AH進(jìn) 行 擴(kuò)展 。 同 樣 , 當(dāng) 被 除 數(shù) 只 有 16位 , 而 除 數(shù) 也 為 16位時(shí) , 必 須 將 16位 被 除 數(shù) 放 在 AX中 , 并 對(duì) 高 16位 DX進(jìn) 行 擴(kuò) 展 。4.2.2 算 術(shù) 運(yùn) 算 指 令 (3) 將 字 節(jié) 擴(kuò) 展 成 字 的 指 令格 式 : CBW 功 能 : 將 AL寄 存 器 中 的 符 號(hào) 位 擴(kuò) 展 到 AH中 。 即 當(dāng)AL 80H時(shí) , 執(zhí) 行 CBW后 , AH=0; 當(dāng) AL 80H時(shí) ,執(zhí) 行 CBW后 , AH=FFH。(4) 將

43、字 擴(kuò) 展 成 雙 字 的 指 令格 式 : CWD功 能 : 用 CWD指 令 將 AX中 的 被 除 數(shù) 擴(kuò) 展 成 雙 字 。 4.2.2 算 術(shù) 運(yùn) 算 指 令 5 BCD碼 運(yùn) 算 指 令 (1) BCD碼 加 法 十 進(jìn) 制 調(diào) 整 指 令 非 組 合 BCD碼 的 加 法 調(diào) 整 指 令 。格 式 : AAA功 能 : 對(duì) 兩 個(gè) 非 組 合 的 BCD碼 相 加 結(jié) 果 進(jìn) 行 調(diào) 整 ,產(chǎn) 生 一 個(gè) 非 組 合 的 BCD碼 。 組 合 BCD碼 的 加 法 調(diào) 整 指 令 。格 式 : DAA功 能 : 對(duì) 兩 個(gè) 組 合 的 BCD碼 相 加 結(jié) 果 進(jìn) 行 調(diào) 整 ,

44、產(chǎn) 生 一 個(gè) 組 合 的 BCD碼 。4.2.2 算 術(shù) 運(yùn) 算 指 令 (2) BCD碼 減 法 十 進(jìn) 制 調(diào) 整 指 令 非 組 合 BCD碼 的 減 法 調(diào) 整 指 令格 式 : AAS功 能 : 對(duì) 兩 個(gè) 非 組 合 的 BCD碼 的 相 減 結(jié) 果 進(jìn) 行 調(diào)整 。 組 合 BCD碼 的 減 法 調(diào) 整 指 令 。格 式 : DAS功 能 : 對(duì) 兩 個(gè) 組 合 的 BCD碼 數(shù) 據(jù) 的 相 減 結(jié) 果 進(jìn) 行調(diào) 整 , 得 到 一 個(gè) 組 合 的 BCD碼 的 差 。 4.2.2 算 術(shù) 運(yùn) 算 指 令 (3) 非 組 合 BCD碼 乘 法 調(diào) 整 指 令格 式 : AAM功

45、 能 : 用 于 將 非 組 合 BCD碼 乘 法 的 結(jié) 果 (在 AL中 )轉(zhuǎn) 換 成 兩 個(gè) 非 組 合 型 BCD碼 (AH和 AL中 )。 (4) 非 組 合 BCD碼 除 法 調(diào) 整 指 令格 式 : AAD功 能 : 常 用 于 DIV指 令 之 前 , 將 AX中 的 兩 位 非 組合 BCD碼 變 為 二 進(jìn) 制 數(shù) 。 即 : 將 (AH) 10+(AL)送 到 AL中 , 0送 到 AH中 。4.2.2 算 術(shù) 運(yùn) 算 指 令 作 業(yè)1. 將 物 理 地 址 為 1F784H字 單 元 的內(nèi) 容 , 送 到 物 理 地 址 為 89764H單 元2. 不 用 加 法 指

46、令 , 計(jì) 算4567H+6487H的 值 , 送 到 DX寄存 器 3. 如 BUFFER為 數(shù) 據(jù) 段 中 0032單 元 的 符號(hào) 地 址 其 中 存 放 的 內(nèi) 容 為 2345H,試 問(wèn)以 下 兩 條 指 令 有 什 么 區(qū) 別 ?指 令 執(zhí) 行 完成 后 AX寄 存 器 的 內(nèi) 容 是 什 么 ? (1)MOV AX,BUFFER (2)LEA AX,BUFFER 一 個(gè) 32位 數(shù) 存 放 在 DX, AX中 , 試 編寫 一 段 程 序 , 對(duì) 這 個(gè) 32位 數(shù) 求 補(bǔ) , 結(jié) 果 仍然 存 放 在 DX, AX中 。 內(nèi) 存 中 有 8位 無(wú) 符 號(hào) 變 量 X, Y, Z

47、和 16位 變 量 W, 編 程 計(jì) 算 W=( ( X+Y) *Z/100+45) *Y 邏 輯 運(yùn) 算 和 移 位 指 令 包 括 邏 輯 運(yùn) 算 、 移 位 和循 環(huán) 移 位 指 令 。 1 邏 輯 運(yùn) 算 指 令 “ 與 ” 操 作 指 令格 式 : AND DST, SRC “ 或 ” 操 作 指 令格 式 : OR DST, SRC “ 異 或 ” 操 作 指 令格 式 : XOR DST, SRC 測(cè) 試 指 令格 式 : TEST DST, SRC 求 反 指 令格 式 : NOT SRC4.2.3 邏 輯 運(yùn) 算 和 移 位 指 令 在 程 序 設(shè) 計(jì) 中 , 一 般 用 A

48、ND指 令 對(duì) 一 個(gè) 數(shù)據(jù) 的 指 定 位 清 0。 OR指 令 常 常 用 來(lái) 對(duì) 一 些 指 定位 置 1。 XOR指 令 常 常 用 在 一 些 程 序 的 開 頭 使 某個(gè) 寄 存 器 清 0, 以 配 合 初 始 化 工 作 的 完 成 。 NOT指 令 常 用 來(lái) 將 某 個(gè) 數(shù) 據(jù) 取 成 反 碼 。 TEST指 令 一般 用 來(lái) 檢 測(cè) 指 定 位 是 1還 是 0, 而 這 個(gè) 指 定 位 往往 對(duì) 應(yīng) 一 個(gè) 物 理 量 。 AND AL, 0FH OR AL, 30H XOR AL, 0FH TEST AX, 8000H NOT AL 2 移 位 指 令非 循 環(huán) 移

49、位 指 令 算 術(shù) 左 移 指 令格 式 : SAL DST, SRC功 能 : 對(duì) 字 或 字 節(jié) 各 位 進(jìn) 行 左 移 , 最 高 位 進(jìn) CF,右 端 補(bǔ) 0 邏 輯 左 移 指 令格 式 : SHL DST, SRC功 能 : 同 SAL 4.2.3 邏 輯 運(yùn) 算 和 移 位 指 令 算 術(shù) 右 移 指 令格 式 : SAR DST, SRC功 能 : 最 高 位 不 動(dòng) , 其 它 各 位 右 移 , 最 低 位 進(jìn)CF。 邏 輯 右 移 指 令格 式 : SHR DST, SRC功 能 : 對(duì) 字 和 字 節(jié) 進(jìn) 行 右 移 , 最 低 位 進(jìn) CF, 左端 補(bǔ) 0。 循 環(huán)

50、移 位 指 令 不 帶 進(jìn) 位 位 的 循 環(huán) 左 移 指 令格 式 : ROL DST, SRC 不 帶 進(jìn) 位 位 的 循 環(huán) 右 移 指 令格 式 : ROR DST, SRC 循 環(huán) 移 位 指 令 帶 進(jìn) 位 位 的 循 環(huán) 左 移 指 令格 式 : RCL DST, SRC 帶 進(jìn) 位 位 的 循 環(huán) 右 移 指 令格 式 : RCR DST, SRC 4.2.4 串 操 作 指 令 數(shù) 據(jù) 串 是 存 儲(chǔ) 器 中 的 一 串 字 節(jié) 或 字 的序 列 , 長(zhǎng) 度 可 達(dá) 64KB。 串 操 作 指 令 用 于 對(duì) 存 儲(chǔ) 器 中 的 一 串 連續(xù) 字 符 或 數(shù) 值 以 字 節(jié)

51、、 字 、 雙 字 單 元進(jìn) 行 操 作 處 理 , 包 括 串 傳 送 MOVS,串 裝 入 LODS, 串 存 儲(chǔ) STOS,串 比 較CMPS,串 掃 描 SCAS. 1.字 符 串 傳 送 指 令格 式 : MOVSB/MOVSW4.2.4 串 操 作 指 令 該 指 令 把 SI作 為 指 針 的 源 串 中 的 一 個(gè) 字節(jié) 或 是 字 ,傳 送 到 以 DI為 指 針 的 目 的 串 中 ,并 修 改 相 應(yīng) 兩 個(gè) 指 針 以 指 向 下 一 個(gè) 單 元 .ES:( DI) DS:(SI)( DI) ( DI) 2( SI) ( SI) 2 2.字 符 串 比 較 指 令 CM

52、PSB CMPSW格 式 : CMPSB/CMPSW4.2.4 串 操 作 指 令 DS:( ( SI) ) - ES:( ( DI) ) ( SI) 1或 2, ( DI) 1或 2該 指 令 由 SI作 為 指 針 的 源 串 和 由 DI作 為指 針 的 目 的 串 進(jìn) 行 比 較 ,比 較 之 后 的 結(jié) 果反 映 在 標(biāo) 志 位 上 ,結(jié) 果 不 保 存 ,同 時(shí) 修 改SI和 DI的 值 . 3.字 符 串 檢 索 指 令 SCASB SCASW格 式 : SCASB/SCASW 4.2.4 串 操 作 指 令 字 節(jié) 操 作 : ( ( AL) ) - ES:( DI) ,( D

53、I) ( DI) 1字 操 作 : ( ( AX) ) - ES:( DI) ,( DI) ( DI) 2該 指 令 用 于 搜 索 內(nèi) 存 單 元 中 與 AL或 AX寄 存 器 中 內(nèi) 容 相 同 的 單 元 . 4.取 字 符 串 指 令 LODSB LODSW格 式 : LODSB/LODSW4.2.4 串 操 作 指 令 字 節(jié) 操 作 : ( ( AL) ) DS:( SI) ( SI) ( SI) 1字 操 作 : ( ( AX) ) DS:( SI) ( SI) ( SI) 2該 指 令 把 有 SI指 向 的 源 串 送 到 AL或 AX中 ,同 時(shí) 修 改 SI的 值 .該

54、 指 令 不 影 響 標(biāo) 志位 . 5.存 字 符 串 指 令 STOSB STOSW格 式 : STOSB/STOSW4.2.4 串 操 作 指 令 字 節(jié) 操 作 : ES:( ( DI) ) ( AL) , ( DI) ( DI) 1字 操 作 : ES:( ( DI) ) ( AX) , ( DI) ( DI) 2該 指 令 將 AL或 AX中 的 內(nèi) 容 送 到 內(nèi) 存DI指 向 的 單 元 中 ,數(shù) 據(jù) 傳 送 完 后 ,DI的 內(nèi)容 自 動(dòng) 修 改 .該 指 令 不 影 響 標(biāo) 志 位 6.重 復(fù) 前 綴 指 令 REP ; 無(wú) 條 件 重 復(fù) 前 綴 指 令 REPE/ REP

55、Z ; 條 件 重 復(fù) 前 綴 指 令 REPNE/ REPNZ ; 條 件 重 復(fù) 前 綴 指 令4.2.4 串 操 作 指 令 重 復(fù) 前 綴 REP 1。 判 斷 CX是 否 為 0, 若 是 , 結(jié) 束 本 指 令 , 否 則 2 2。 執(zhí) 行 其 后 的 串 指 令 3。 ( CX) -1-( CX) 4。 轉(zhuǎn) 1。REPZ/REPE1。 若 CX為 0或 ZF=0, 結(jié) 束 本 指 令 , 否 則 2 其 余 同 上REPNZ/REPNE1。 若 CX為 0或 ZF=1, 結(jié) 束 本 指 令 , 否 則 2 其 余 同 上 例 如 使 0400H開 始 的 256個(gè) 單 元 清 0

56、的 程 序 段 。 CLD ; 清 除 方 向 標(biāo) 志 LEA DI, 0400H ; 將 目 的 地 址 0400H送 DI MOV CX, 0080H ; 共 有 256個(gè) 字 節(jié) XOR AX, AX ; AX清 0 REP STOSW ; 將 256個(gè) 字 節(jié) 清 0 4.2.4 串 操 作 指 令 串 操 作 指 令 的 使 用 約 定 源 串 默 認(rèn) 放 在 數(shù) 據(jù) 段 中 , 用 SI指 出 邏 輯地 址 , 目 的 串 默 認(rèn) 放 在 附 加 段 中 , 用 DI指 出 邏 輯 地 址 。 用 DF標(biāo) 志 位 確 定 指 針 的 移 動(dòng) 方 向 。 串 指 針 的 修 正 是

57、自 動(dòng) 完 成 的 , 每 處 理 一個(gè) 元 素 , 修 正 一 次 , 指 向 下 一 個(gè) 元 素 。 用 CX存 放 字 符 串 的 長(zhǎng) 度 。 例 題 : 在 當(dāng) 前 附 加 段 中 從 STRING開 始 存放 一 個(gè) 有 300個(gè) 字 符 的 字 符 串 , 查 找 該 串中 是 否 存 在 字 符 “ *”, 如 果 存 在 , 將 第一 個(gè) “ *”的 地 址 送 到 BX寄 存 器 中 。 大 家 分 析 該 題 目 如 何 完 成 控 制 轉(zhuǎn) 移 指 令 中 包 括 4類 指 令 : 子 程 序 調(diào)用 和 返 回 指 令 ; 無(wú) 條 件 轉(zhuǎn) 移 和 條 件 轉(zhuǎn) 移 指 令 ;

58、循 環(huán) 控 制 指 令 ; 中 斷 指 令 和 中 斷 返 回 指 令 。1 子 程 序 調(diào) 用 和 返 回 指 令(1) 子 程 序 調(diào) 用 指 令 格 式 : CALL 子 程 序 名 功 能 : 保 存 下 一 條 指 令 地 址 , 將 代 碼 段 寄存 器 CS, 指 令 指 針 寄 存 器 IP指 向 調(diào) 用 子 程 序 。4.2.5 控 制 轉(zhuǎn) 移 指 令 (2) 子 程 序 返 回 指 令 返 回 指 令 指 令 格 式 : RET 功 能 : 從 被 調(diào) 用 子 程 序 返 回 CALL指 令 的 下 一指 令 。 4.2.5 控 制 轉(zhuǎn) 移 指 令 帶 參 數(shù) 的 返 回

59、指 令 指 令 格 式 : RET n 功 能 : 先 執(zhí) 行 與 RET相 同 的 操 作 , 再 修 改 SP:SP SP+n。 說(shuō) 明 : 彈 出 值 應(yīng) 為 一 個(gè) 16位 立 即 數(shù) , 通 常是 偶 數(shù) 。 彈 出 值 表 示 返 回 時(shí) 從 對(duì) 堆 棧 中 舍 棄 的字 節(jié) 數(shù) 。 n可 以 為 0 FFFFH范 圍 中 的 任 何 一 個(gè)偶 數(shù) 。 RET 4 ; 從 棧 頂 彈 出 返 回 地 址 以 后 , 再使 SP的 值 加 上 4。 4.2.5 控 制 轉(zhuǎn) 移 指 令 2 無(wú) 條 件 轉(zhuǎn) 移 指 令 和 條 件 轉(zhuǎn) 移 指 令(1) 無(wú) 條 件 轉(zhuǎn) 移 指 令 格 式

60、 : JMP 目 的 地 址 功 能 : 將 程 序 無(wú) 條 件 的 轉(zhuǎn) 移 到 目 標(biāo) 地 址 去執(zhí) 行 該 地 址 開 始 的 指 令 。 (2) 條 件 轉(zhuǎn) 移 指 令 條 件 轉(zhuǎn) 移 指 令 以 某 一 個(gè) 標(biāo) 志 位 的 值 或 者 某幾 個(gè) 標(biāo) 志 位 的 值 作 為 判 斷 是 否 進(jìn) 行 轉(zhuǎn) 移 的 依 據(jù) ,如 果 滿 足 指 令 中 所 要 求 的 條 件 , 則 產(chǎn) 生 轉(zhuǎn) 移 ,否 則 往 下 執(zhí) 行 條 件 轉(zhuǎn) 移 指 令 后 面 的 一 條 指 令 。條 件 轉(zhuǎn) 移 指 令 的 具 體 形 式 如 下 表 所 示 。4.2.5 控 制 轉(zhuǎn) 移 指 令 指 令 名 稱

61、 助 記 符 轉(zhuǎn) 移 條 件 備 注等 于 零 轉(zhuǎn) 移不 等 于 非 零 轉(zhuǎn) 移負(fù) 轉(zhuǎn) 移正 轉(zhuǎn) 移偶 轉(zhuǎn) 移奇 轉(zhuǎn) 移溢 出 轉(zhuǎn) 移不 溢 出 轉(zhuǎn) 移進(jìn) 位 轉(zhuǎn) 移無(wú) 進(jìn) 位 轉(zhuǎn) 移低 于 不 高 于 或 等 于 轉(zhuǎn) 移高 于 或 等 于 不 低 于 轉(zhuǎn) 移高 于 不 低 于 或 等 于 轉(zhuǎn) 移低 于 或 等 于 不 高 于 轉(zhuǎn) 移 大 于 不 小 于 或 等 于 轉(zhuǎn) 移大 于 或 等 于 不 小 于 轉(zhuǎn) 移小 于 不 大 于 或 等 于 轉(zhuǎn) 移小 于 或 等 于 不 大 于 轉(zhuǎn) 移CX等 于 零 轉(zhuǎn) 移 JE JZJNE JNZJSJNSJP JPEJNP JPOJOJNOJCJNCJB

62、JNAEJAE JNBJA JNBEJBE JNAJG JNLEJGE JNLJL JNGEJLE JNGJCXZ (ZF)=1(ZF)=0(SF)=1(SF)=0(PF)=1(PF)=0(OF)=1(OF)=0(CF)=1(CF)=0(CF) l(CF)=0(CF)=0且 (ZF)=0(CF)=1或 (ZF)=1(SF)=(OF)且 (ZF)=0(SF)=(OF)(SF) (OF)且(ZF)=0(SF) (OF)或(ZF)=l(CX) 0 無(wú) 符 號(hào)數(shù)無(wú) 符 號(hào)數(shù)無(wú) 符 號(hào)數(shù)無(wú) 符 號(hào)數(shù)帶 符 號(hào)數(shù)帶 符 號(hào)數(shù)帶 符 號(hào)數(shù)帶 符 號(hào)數(shù) 例 題 : 編 制 程 序 段 , 完 成 如 下 功

63、能 : 如 果AX的 值 為 負(fù) 值 , 則 將 -1送 到 AX; 如 果AX的 值 為 0, 則 將 0送 到 AX; 如 果 AX的值 為 正 值 , 則 將 1送 到 AX。 大 家 考 慮 應(yīng) 該 如 何 完 成 CMP AX, 0 JL L1 JE L3 MOV AX, 1 JMP L3 L1: MOV AX, -1 L3: 。 。 CMP AX, 0 JL L1 JNE L2 JMP L3 L1: MOV AX, -1 JMP L3 L2: MOV AX, 1 L3: 。 。 3 循 環(huán) 控 制 指 令(1) LOOP指 令格 式 : LOOP 目 的 地 址功 能 : 先 將

64、CX的 內(nèi) 容 減 1, 再 判 斷 CX中 是 否 為 0, 如 不 為0, 則 繼 續(xù) 循 環(huán) , 如 為 0, 則 退 出 循 環(huán) , 執(zhí) 行 下 一 條 指 令 。(2) LOOPZ LOOPE指 令 格 式 : LOOPZ/LOOPE 目 的 地 址 功 能 : 同 一 條 指 令 的 兩 個(gè) 不 同 的 助 記 符 。 在 執(zhí) 行 時(shí) ,使 CX減 1, 再 判 斷 CX中 的 值 是 否 為 0, 并 且 判 斷 ZF是 否 為1。 如 果 ZF=0, 或 者 CX=0, 則 退 出 循 環(huán) , 只 有 在 ZF=1,并 且 CX 0的 情 況 下 , 才 繼 續(xù) 循 環(huán) 。(3

65、) LOOPNZ LOOPNE 格 式 : LOOPNZ/LOOPNE 目 的 地 址4.2.5 控 制 轉(zhuǎn) 移 指 令 例 題 : 將 物 理 地 址 為 20000H到 20870H的 所有 單 元 中 存 放 其 地 址 低 8位 的 值 。 即 : ( 20000H) =00H, ( 20001H) =01H 應(yīng) 該 如 何 完 成 呢 ? MOV AX, 2000H MOV DS, AX MOV BX, 0000H MOV CX, 871H NEXT: MOV BX, BL INC BX LOOP NEXT 8086指 令 系 統(tǒng) 4 中 斷 指 令 和 中 斷 返 回 指 令(1)

66、中 斷 指 令格 式 : INT n功 能 : 用 于 產(chǎn) 生 軟 件 中 斷 , 以 調(diào) 用 中 斷 類 型 號(hào) 為 n的中 斷 服 務(wù) 程 序 。 n為 一 個(gè) 8位 立 即 數(shù) , 取 值 范 圍 為0 255。(2) 溢 出 中 斷 指 令格 式 : INTO(3) 中 斷 返 回 指 令格 式 : IRET功 能 : 將 堆 棧 中 的 斷 點(diǎn) 地 址 彈 出 賦 給 IP和 CS, 并 彈出 標(biāo) 志 寄 存 器 值 , 以 實(shí) 現(xiàn) 中 斷 返 回 , 恢 復(fù) 中 斷 前的 狀 態(tài) 。4.2.5 控 制 轉(zhuǎn) 移 指 令 1 標(biāo) 志 操 作 指 令CLC ; 進(jìn) 位 標(biāo) 志 位 CF清 0 (clear carry)STC ; 進(jìn) 位 標(biāo) 志 位 CF置 1 (set carry)CMC ; 進(jìn) 位 標(biāo) 志 位 CF取 反 ( complement carry)CLD ; 方 向 標(biāo) 志 位 DF清 0 (clear direction)STD ; 方 向 標(biāo) 志 位 DF置 1 (set direction)4.2.6 處 理 器 控 制 指 令 2 外 部 同 步 指 令

展開閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!