秋霞电影网午夜鲁丝片无码,真人h视频免费观看视频,囯产av无码片毛片一级,免费夜色私人影院在线观看,亚洲美女综合香蕉片,亚洲aⅴ天堂av在线电影猫咪,日韩三级片网址入口

《單片機原理》第二章

上傳人:san****019 文檔編號:22833435 上傳時間:2021-06-01 格式:PPT 頁數(shù):159 大?。?.25MB
收藏 版權(quán)申訴 舉報 下載
《單片機原理》第二章_第1頁
第1頁 / 共159頁
《單片機原理》第二章_第2頁
第2頁 / 共159頁
《單片機原理》第二章_第3頁
第3頁 / 共159頁

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

14.9 積分

下載資源

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

資源描述:

《《單片機原理》第二章》由會員分享,可在線閱讀,更多相關(guān)《《單片機原理》第二章(159頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、目 錄 第 2章 MCS-51指 令 系 統(tǒng) 與 匯 編 語 言 程 序 設(shè) 計2.1 概 述2.2 尋 址 方 式2.3 MCS-51指 令 系 統(tǒng)2.4 匯 編 語 言 程 序 設(shè) 計2.5 高 級 語 言 Keil C51簡 介 目 錄 2.1 概 述2.1.1 單 片 機 程 序 設(shè) 計 語 言 的 種 類2.1.2 匯 編 語 言 指 令 格 式 及 常 用 偽 指 令2.1.3 MCS-51指 令 的 分 類2.1.4 MCS-51指 令 中 常 用 的 符 號 目 錄 2.1 概 述2.1.1 單 片 機 程 序 設(shè) 計 語 言 的 種 類按 照 語 言 的 結(jié) 構(gòu) 及 其 功

2、能 可 以 分 為 三 種 :( 1) 機 器 語 言 ( Machine Language) 直 接 用 機 器 碼 ( 0、 1代 碼 ) 編 寫 程 序 、 能 夠 為 計 算 機 直接 執(zhí) 行 的 機 器 級 語 言 。 機 器 碼 是 一 串 由 二 進 制 代 碼 “ 0”和 “ 1”組 成 的 二 進 制 數(shù)據(jù) , 其 執(zhí) 行 速 度 快 , 但 是 可 讀 性 極 差 。 機 器 語 言 一 般 只 在 簡單 的 開 發(fā) 裝 置 中 使 用 , 程 序 的 設(shè) 計 、 輸 入 、 修 改 和 調(diào) 試 都 很 麻 煩 。 機 器 語 言匯 編 語 言高 級 語 言 目 錄 2.1

3、 概 述( 2) 匯 編 語 言 ( Assembly Language) 指 用 指 令 助 記 符 代 替 機 器 碼 的 編 程 語 言 。 匯 編 語 言 程 序 結(jié) 構(gòu) 簡 單 , 執(zhí) 行 速 度 快 , 程 序 易 優(yōu) 化 , 編譯 后 占 用 存 儲 空 間 小 , 是 單 片 機 應(yīng) 用 系 統(tǒng) 開 發(fā) 中 最 常 用 的 程序 設(shè) 計 語 言 。 匯 編 語 言 的 缺 點 是 可 讀 性 比 較 差 , 只 有 熟 悉 單 片 機 的 指 令 系 統(tǒng) , 并 具 有 一 定 的 程 序 設(shè) 計 經(jīng) 驗 , 才 能 研 制 出功 能 復(fù) 雜 的 應(yīng) 用 程 序 。2.1.1

4、單 片 機 程 序 設(shè) 計 語 言 的 種 類按 照 語 言 的 結(jié) 構(gòu) 及 其 功 能 可 以 分 為 三 種 :機 器 語 言匯 編 語 言高 級 語 言 目 錄 2.1 概 述( 3) 高 級 語 言 ( High-Level Language) 在 匯 編 語 言 的 基 礎(chǔ) 上 用 接 近 人 的 自 然 語 言 的 語 句 來 編 寫程 序 , 例 如 PL/M-51、 C51等 , 程 序 可 讀 性 強 , 通 用 性 好 ,適 用 于 不 熟 悉 單 片 機 指 令 系 統(tǒng) 的 的 用 戶 。 高 級 語 言 是 面 向 過 程 而 獨 立 于 機 器 的 通 用 語 言 。

5、 缺 點 是 實 時 性 不 高 , 結(jié) 構(gòu) 不 緊 湊 , 編 譯 后 占 用 存 儲 空 間 比 較 大 , 這一 點 在 存 儲 器 有 限 的 單 片 機 應(yīng) 用 系 統(tǒng) 中 沒 有 優(yōu) 勢 。 單 片 機 的 匯 編 語 言 不 但不 會 被 高 級 語 言 完 全 取 代 ,甚 至 還 將 繼 續(xù) 占 據(jù) 重 要 地 位 。2.12.1.1 單 片 機 程 序 設(shè) 計 語 言 的 種 類按 照 語 言 的 結(jié) 構(gòu) 及 其 功 能 可 以 分 為 三 種 :機 器 語 言匯 編 語 言高 級 語 言 目 錄 2.1 概 述2.1.2 匯 編 語 言 指 令 格 式 及 常 用 偽 指

6、 令1、 常 用 單 位 與 術(shù) 語 位 ( bit) : 位 是 計 算 機 所 能 表 示 的 最 小 的 、 最 基 本 的 數(shù) 據(jù) 單 位 , 通 常 是 指 一 個 二 進 制 位 。 字 節(jié) ( Byte) : 一 個 連 續(xù) 的 8位 二 進 制 數(shù) 碼 稱 為 一 個 字 節(jié) , 即 1Byte=8bit。 字 ( Word) : 通 常 由 16位 二 進 制 數(shù) 碼 組 成 , 即 1Word=2Byte。 字 長 : 字 長 是 指 計 算 機 一 次 處 理 二 進 制 數(shù) 碼 位 的 多 少 。 MCS-51型 單 片 機 是 8位 機 , 即 它 的 字 長 為 8

7、位 。 目 錄 2、 匯 編 語 言 指 令 格 式 標 號 : 操 作 碼 操 作 數(shù) ,操 作 數(shù) ;注 釋 2.1 概 述2.1.2 匯 編 語 言 指 令 格 式 及 常 用 偽 指 令其 中 : 項 是 可 選 項 。標 號 : 指 本 條 指 令 起 始 地 址 的 符 號 , 也 稱 為 指 令 的 符 號 地 址 。 代 表 該 條 指 令 在 程 序 編 譯 時 的 具 體 地 址 。操 作 碼 : 又 稱 助 記 符 , 它 是 由 對 應(yīng) 的 英 文 縮 寫 構(gòu) 成 的 , 是 指 令 語 句 的 關(guān) 鍵 。 它 規(guī) 定 了 指 令 具 體 的 操 作 功 能 , 是 一

8、 條 指 令 中 不 可 缺 少 的 內(nèi) 容 。操 作 數(shù) : 它 既 可 以 是 一 個 具 體 的 數(shù) 據(jù) , 也 可 以 是 存 放 數(shù) 據(jù) 的 地 址 。Start: MOV A, #0FH; 將 循 環(huán) 次 數(shù) 初 值 送 累 加 器 目 錄 3、 常 用 偽 指 令 2.1 概 述2.1.2 匯 編 語 言 指 令 格 式 及 常 用 偽 指 令 偽 指 令 ( 也 稱 為 匯 編 程 序 的 控 制 命 令 ) 是 程 序 員 發(fā) 給匯 編 程 序 的 命 令 , 用 來 設(shè) 置 符 號 值 、 保 留 和 初 始 化 存 儲 空間 、 控 制 用 戶 程 序 代 碼 的 位 置

9、 。 偽 指 令 只 出 現(xiàn) 在 匯 編 前 的 源 程 序 中 , 僅 提 供 匯 編 用 的某 些 控 制 信 息 , 不 產(chǎn) 生 可 執(zhí) 行 的 目 標 代 碼 , 是 CPU不 能 執(zhí)行 的 指 令 。 目 錄 ( 2) 結(jié) 束 匯 編 偽 指 令 END 格 式 : 標 號 : END 表 達 式 功 能 : 放 在 源 程 序 的 末 尾 , 表 明 源 程 序 的 匯 編 到 此 結(jié) 束 。 2.1 概 述 ( 1) 定 位 偽 指 令 ORG 格 式 : ORG n 其 中 : n為 絕 對 地 址 , 可 以 是 十 六 進 制 數(shù) 、 標 號 或 表 達 式 。例 ORG

10、1000H START: MOV A, #20H MOV R0, #30H MOVX DPTR, A END3、 常 用 偽 指 令 2.1.2 匯 編 語 言 指 令 格 式 及 常 用 偽 指 令 目 錄 ( 3) 賦 值 偽 指 令 EQU 格 式 : 字 符 名 稱 x EQU 賦 值 項 n 功 能 : 將 賦 值 項 n的 值 賦 予 字 符 名 稱 x。2.1 概 述 ORG 1000HLEDMAP: DB 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h DB 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h;LEDBuf

11、 EQU 60h ; 顯 示 緩 沖( 4) 定 義 字 節(jié) 偽 指 令 DB 格 式 : 標 號 : DB x1, x2, xn 功 能 : 將 8位 數(shù) 據(jù) ( 或 8位 數(shù) 據(jù) 組 ) x1, x2, xn順 序 存 放 在 從 當 前 程 序 存 儲 器 地 址 開 始 的 存 儲 單 元 中 。 2.1 3、 常 用 偽 指 令 2.1.2 匯 編 語 言 指 令 格 式 及 常 用 偽 指 令 目 錄 1、 按 指 令 字 節(jié) 數(shù) 分 類 單 字 節(jié) 指 令 、 雙 字 節(jié) 指 令 和 三 字 節(jié) 指 令 。2.1 概 述字 節(jié) 執(zhí) 行 時 間單 字 節(jié) 指 令 49條 1個 機

12、器 周 期 指 令 64條雙 字 節(jié) 指 令 46條 2個 機 器 周 期 指 令 45條三 字 節(jié) 指 令 16條 4個 機 器 周 期 指 令 2條2.1.3 MCS-51指 令 的 分 類 MCS-51指 令 系 統(tǒng) 有 111條 指 令 , 可 按 下 列 3種 方 式 分 類 :2、 按 指 令 執(zhí) 行 時 間 分 類 單 機 器 周 期 指 令 、 雙 機 器 周 期 指 令 和 四 機 器 周 期 指 令 。 目 錄 1、 按 指 令 字 節(jié) 數(shù) 分 類 2.1 概 述2、 按 指 令 執(zhí) 行 時 間 分 類 3、 按 指 令 功 能 分 類 序 號 功 能 數(shù) 量1 數(shù) 據(jù) 傳

13、 送 指 令 28條2 算 術(shù) 運 算 指 令 24條3 邏 輯 運 算 與 移 位 指 令 25條4 控 制 轉(zhuǎn) 移 指 令 17條5 位 操 作 指 令 17條2.12.1.3 MCS-51指 令 的 分 類 MCS-51指 令 系 統(tǒng) 有 111條 指 令 , 可 按 下 列 3種 方 式 分 類 : 目 錄 2.1.4 指 令 中 的 常 用 符 號 Rn( n=07) : 表 示 當 前 工 作 寄 存 器 R0R7中 的 任 一 個 。 Ri( i=0或 1) : 表 示 當 前 寄 存 器 組 中 用 于 間 址 的 R0或 R1。 #data: 表 示 8位 立 即 數(shù) 。 #

14、data16: 表 示 16位 立 即 數(shù) 。 direct: 表 示 片 內(nèi) RAM的 8位 單 元 地 址 。 addr11: 表 示 11位 目 的 地 址 , 用 于 ACALL和 AJMP指 令 中 。 addr16: 表 示 16位 目 的 地 址 , 用 于 LCALL和 LJMP指 令 中 。 rel: 用 補 碼 形 式 表 示 的 8位 二 進 制 地 址 偏 移 量 , 取 值 范 圍 為 128 +127, 主 要 用 于 相 對 轉(zhuǎn) 移 指 令 。 2.1 概 述 目 錄 bit: 表 示 片 內(nèi) RAM的 位 尋 址 區(qū) , 或 者 是 可 以 位 尋 址 的 SF

15、R的 位 地 址 。 A( 或 ACC) 、 B : 表 示 累 加 器 、 B寄 存 器 。 C: 表 示 PSW中 的 進 位 標 志 位 Cy。 : 在 間 接 尋 址 方 式 中 , 是 間 址 寄 存 器 指 針 的 前 綴 標 志 。 $: 表 示 當 前 的 指 令 地 址 。( X) : 表 示 由 X所 指 定 的 某 寄 存 器 或 某 單 元 中 的 內(nèi) 容 。 (X): 表 示 由 X間 接 尋 址 單 元 中 的 內(nèi) 容 。 2.1.4 指 令 中 的 常 用 符 號 2.1 概 述 2.1 目 錄 2.2.1 寄 存 器 尋 址 2.2.2 直 接 尋 址2.2.3

16、 立 即 數(shù) 尋 址 2.2.4 寄 存 器 間 接 尋 址2.2.5 變 址 尋 址 2.2.6 相 對 尋 址2.2.7 位 尋 址2.2 尋 址 方 式 在 指 令 的 操 作 數(shù) 位 置 上 , 用 于 表 征 尋 找 操 作 數(shù) 的 方 法定 義 為 “ 尋 址 方 式 ” 。 正 確 地 理 解 、 掌 握 尋 址 方 式 , 是 學 習 、 使 用 指 令 的 關(guān)鍵 。 在 MCS-51單 片 機 中 , 共 使 用 了 以 下 7種 尋 址 方 式 目 錄 2.2.1 寄 存 器 尋 址指 令 中 含 有 一 個 存 有 操 作 數(shù) 的 寄 存 器 Rn( n=0 7)2.2

17、尋 址 方 式【 特 點 】 寄 存 器 尋 址 方 式 的 指 令 大 多 是 單 字 節(jié) 指 令 。 寄 存 器 的 3位 代 碼 與 操 作 碼 OP共 同 占 用 一 個 指 令 字 節(jié) 。 例 : MOV A, Rn ;將 寄 存 器 Rn中 的 內(nèi) 容 送 累 加 器 A中 MOV Rn, A ;將 累 加 器 A中 的 數(shù) 據(jù) 送 寄 存 器 Rn 以 MOV A, R7為 例 , 使 用 R7寄 存 器 , 所 以 r r r =111,即 指 令 的 機 器 碼 為 : 0EFH1 1 1 0 1 r r r 操 作 碼 OP 寄 存 器 代 碼 111E8H EFHMOV

18、A, RnROM的一 個 字 節(jié) 2.2 目 錄 2.2.2 直 接 尋 址指 令 本 身 直 接 給 出 操 作 數(shù) 在 RAM中 存 放 的 地 址 。2.2 尋 址 方 式MOV A , direct ;將 內(nèi) 存 地 址 direct中 的 內(nèi) 容 送 入 累 加 器MOV direct1, direct2 ;將 內(nèi) 存 地 址 direct2的 內(nèi) 容 送 入 direct1中例 如 : MOV A, 30H ;將 RAM 30H單 元 數(shù) 據(jù) 送 累 加 器 A【 特 點 】 直 接 尋 址 方 式 的 指 令 為 23字 節(jié) 指 令 。 每 個 直 接 地 址 自 身 占 用 一

19、 個 指 令 字 節(jié) 。 程 序 ROMOP30H 數(shù) 據(jù) RAM操 作 數(shù) xnn+1 30H累 加 器 AX 目 錄 使 用 直 接 尋 址 應(yīng) 注 意 的 兩 個 問 題 :1、 當 地 址 恰 好 在 SFR區(qū) 域 時 , 地 址 也 可 用 寄 存 器 名 來 表 示 。 2.2.2 直 接 尋 址 2.2 尋 址 方 式 如 : MOV A, 80H 可 以 寫 成 MOV A, P0 后 者 用 SFR中 寄 存 器 的 名 字 取 代 它 的 物 理 地 址 80H。后 者 更 容 易 閱 讀 和 交 流 , 所 以 提 倡 使 用 SFR中 寄 存 器 名 稱來 代 替 直

20、接 地 址 。 如 : MOV A, SBUF ; 串 口 數(shù) 據(jù) 緩 沖 器 數(shù) 據(jù) 送 A MOV TH1, #0FEH ; 為 定 時 器 1賦 初 值 目 錄 MOV A, 00H ;將 RAM中 00H單 元 數(shù) 據(jù) 送 累 加 器 AMOV A, R0 ;將 工 作 寄 存 器 R0的 內(nèi) 容 送 累 加 器 A 返 回2.2.2 直 接 尋 址 2.2 尋 址 方 式2、 當 直 接 地 址 是 在 工 作 寄 存 器 區(qū) 中 時 , 可 以 使 用 兩 種 尋址 方 式 來 訪 問 。 如 : 使 用 了 不 同 的 尋 址 方 式 , 指 令 的 結(jié) 構(gòu) 與 字 節(jié) 數(shù) 也

21、不 相 同 。 前 者 是 : 11100101(0E5H)、 00000000( 00H) 雙 字 節(jié) 。 后 者 是 : 11101000(0E8H) 單 字 節(jié) ; 最 好 用 寄 存 器 尋 址 方 式 來 訪 問類 似 的 還 有 累 加 器 A: INC A 寄 存 器 尋 址 方 式 ( 單 字 節(jié) ) ; INC ACC 直 接 尋 址 方 式 ( 雙 字 節(jié) ) ; INC 0E0H 直 接 尋 址 方 式 ( 雙 字 節(jié) ) 。 2.2 目 錄 2.2.3 立 即 尋 址指 令 中 直 接 含 有 所 需 要 的 操 作 數(shù) data。2.2 尋 址 方 式MOV A, #

22、data ; 將 8位 立 即 數(shù) 送 累 加 器 A MOV DPTR, #data16 ; 16位 立 即 數(shù) 送 DPTR寄 存 器【 特 點 】 立 即 數(shù) 尋 址 的 指 令 長 度 為 2或 3個 字 節(jié) 。90H20H00HROMDPTR例 : MOV DPTR, #2000Hnn+1n+2注 : 對 于 16位 立 即 數(shù) 指 令 , 匯 編 時 高 8位 在 前 , 低 8位 在 后 。 目 錄 【 注 意 】 MOV A, #30H與 MOV A, 30H 兩 者 的 區(qū) 別 。74H30Hnn+1 ROM 累 加 器 AMOV A, #30H E5H30Hnn+1 ROM

23、 累 加 器 AMOV A, 30H XX30H RAM2.2.3 立 即 尋 址 2.2 尋 址 方 式 2.2 目 錄 2.2.4 寄 存 器 間 接 尋 址 指 令 中 含 有 保 存 操 作 數(shù) 地 址 的 寄 存 器 ( Ri或 DPTR) 。CPU首 先 從 寄 存 器 中 找 到 操 作 數(shù) 地 址 , 然 后 再 從 該 地 址 中找 到 操 作 數(shù) 。 2.2 尋 址 方 式MOV A , Ri;MOVX A, Ri; MOVX DPTR, A 尋 址 范 圍 : 內(nèi) 部 RAM低 128B( 只 能 使 用 R0或 R1作 間 址 寄 存 器 ) 、外 部 RAM。 對 于

24、 外 部 低 256單 元 RAM的 訪 問 , 除 可 以 使 用DPTR外 , 還 可 以 使 用 R0或 R1作 間 址 寄 存 器 。下 列 的 程 序 正 確 嗎 MOV R1, #80H MOV A, R1 目 錄 MOV R0, #30H ; 立 即 數(shù) 送 R0寄 存 器 MOV A, R0 ; 從 RAM的 30H單 元 取 數(shù) 送 累 加 器 AROM11100110 RAMx30H30H R000H累 加 器 A1 232.2.4 寄 存 器 間 接 尋 址【 注 意 】 MOV A, R0 和 MOV A, R0 指 令 的 區(qū) 別 。 2.2 2.2 尋 址 方 式

25、MOV A, R0 執(zhí) 行 過 程 示 意 圖 目 錄 指 令 使 用 DPTR或 PC中 的 內(nèi) 容 作 為 基 地 址 , 再 與 累 加器 A的 內(nèi) 容 相 加 , 其 和 作 為 操 作 數(shù) 地 址 。 如 : MOVC A, A+PC ; PC內(nèi) 容 為 基 地 址 與 A的 內(nèi) 容 相 加 得 操 作 數(shù) 地 址 , 并 將 此 操 作 數(shù) 送 A MOVC A, A+DPTR ;DPTR內(nèi) 容 為 基 地 址 與 A的 內(nèi) 容 相 加 得 操 作 數(shù) 地 址 并 將 此 操 作 數(shù) 送 A2.2.5 變 址 尋 址這 是 訪 問 程 序 存 儲 器 ROM中 數(shù) 據(jù) 的 唯 一

26、的 尋 址 方 式 。 變 址 尋 址 方 式 用 于 查 表 操 作 , 而 數(shù) 據(jù) 表 是 建 立 在 程 序存 儲 器 ROM中 。 2.2 尋 址 方 式 目 錄 【 例 】 已 知 ROM中 的 0300H-0309H 為 0 9的 平 方 表 , 編 程 求 A中 數(shù) 據(jù) 的 平 方 ( 設(shè) A=02H) 。02H 0300H 8164493625169 4100302H累 加 器 A DPTR 0300H ( DPTR)+ 02H ( A) 0302HMOVC A,A+DPTR 0300H 平方表ALU解 : MOV DPTR, #0300H ; 指 針 DPTR賦 表 頭 地

27、址 MOVC A, A+DPTR ; 從 0302H單 元 取 數(shù) 4送 A 變 址 尋 址 2.2 2.2 尋 址 方 式 目 錄 相 對 轉(zhuǎn) 移 指 令 使 用 的 一 種 尋 址 方 式 。2.2.6 相 對 尋 址 SJMP short_lable2.2 尋 址 方 式無 條 件 轉(zhuǎn) 向 短 標 號 short_lable地 址 該 指 令 操 作 碼 為 80H, 操 作 數(shù) 為 偏 移 量 rel( +127 -128) ,它 由 匯 編 程 序 匯 編 時 自 動 計 算 填 入 。 計 算 公 式 為 : rel= short_lable地 址 -PC值 , 或 :rel=sh

28、ort_lable地 址 -相 對 轉(zhuǎn) 移 指 令 地 址 -相 對 轉(zhuǎn) 移 指 令 字 節(jié) 數(shù)即 相 對 轉(zhuǎn) 移 指 令 中 給 出 一 個 轉(zhuǎn) 移 地 址 的 偏 移 量 rel。 在 執(zhí) 行 中 將當 前 PC值 ( 執(zhí) 行 當 前 指 令 后 的 PC值 ) 與 偏 移 量 rel( 補 碼 ) 相加 , 形 成 實 際 轉(zhuǎn) 移 的 目 標 地 址 相 對 尋 址 方 式 。 目 錄 【 例 】 ORG 0100H S1: CLR A MOV R0, #45H SJMP S2 SETB C SETB 00H S2: MOV A, #0FH . . . E4H78H45H80H03HD3

29、HD2H00H74H0FH 0100H0106H0103H0105H0108HShort_lablePC值rel值 0105H+ 03H0108HALU03H 0105HA PC 2.2 尋 址 方 式 2.2 目 錄 指 令 的 形 式 同 直 接 尋 址 相 似 , 不 同 的 是 : 指 令 中 的 地址 是 “ 位 地 址 ” , 而 不 是 字 節(jié) 地 址 。 MOV C, bit2.2.7 位 尋 址如 : MOV C, 02H; 將 位 地 址 為 02H中 的 內(nèi) 容 送 Cy中類 似 的 還 有 邏 輯 運 算 指 令 等 。 除 了 RAM中 的 位 尋 址 區(qū) 外 , 大

30、 多 SFR( 地 址 能 夠 被 8整 除 的 ) 都 可 以 按 位 尋 址 , 這 對 編 程 尤 為 重 要 。2.2 尋 址 方 式 目 錄 作 為 嵌 入 式 控 制 器 , CPU更 多 的 是 處 理 “ 開 關(guān) 量 ” 而 不單 純 是 字 節(jié) 結(jié) 構(gòu) 的 數(shù) 據(jù) 。 因 此 MCS-51在 指 令 設(shè) 計 上 刻 意 設(shè)計 了 大 量 的 “ 布 爾 操 作 ” 即 位 操 作 , 這 為 系 統(tǒng) 應(yīng) 用 帶 來 了很 大 的 方 便 。 MCS-51單 片 機控 制 、 檢 測系 統(tǒng) 驅(qū) 動 器 電 動 機外 設(shè) 1外 設(shè) 2狀 態(tài) 信 號狀 態(tài) 信 號控 制 信 號2.

31、2.7 位 尋 址 2.2 尋 址 方 式 目 錄 【 舉 例 】 : SETB 90H ;將 P1口 的 D0位 置 1 為 了 增 加 程 序 的 可 讀 性 , 凡 在 SFR中 的 位 地 址 都可 以 使 用 符 號 來 替 代 。 如 本 例 中 , 完 全 可 以 使 用 下面 的 指 令 格 式 : SETB P1.0 ;將 P0口 的 D0位 置 1又 如 : SETB EA ( SETB 0AFH) ; 開 中 斷 SETB TR0 ( SETB 8CH) ; 啟 動 定 時 器 這 種 指 令 在 編 譯 時 , 是 要 先 將 符 號 地 址 進 行 轉(zhuǎn) 換 的 。2.

32、22.2.7 位 尋 址 2.2 尋 址 方 式 目 錄 2.3 MCS-51指 令 系 統(tǒng)2.3.0 預(yù) 備 知 識 : WAVE仿 真 開 發(fā) 軟 件 安 裝 與 使 用2.3.1 數(shù) 據(jù) 傳 送 指 令2.3.2 算 邏 運 算 與 移 位 指 令2.3.3 控 制 轉(zhuǎn) 移 和 位 操 作 指 令 目 錄 WAVE仿 真 開 發(fā) 軟 件 把 源 程 序 編 輯 、 編 譯 、 下 載 、調(diào) 試 等 操 作 全 部 集 中 在 一 個 環(huán) 境 下 進 行 , 支 持 MCS-51、PIC兩 大 系 列 、 不 同 種 類 的 單 片 機 。 具 有 軟 件 模 擬 執(zhí) 行 功 能 , 除

33、輸 入 、 輸 出 操 作 外 ,均 可 在 軟 件 模 擬 環(huán) 境 下 完 成 絕 大 部 分 應(yīng) 用 程 序 的 調(diào) 試。 2.3.0 WAVE仿 真 軟 件 的 安 裝 與 使 用 2.3 MCS-51指 令 系 統(tǒng)1、 WAVE仿 真 軟 件 功 能 簡 介 目 錄 2.3 MCS-51指 令 系 統(tǒng)2、 WAVE仿 真 軟 件 的 安 裝 1) 從 WAVE網(wǎng) 站 http:/www.wave- ( 南 京 偉 福 實 業(yè) 有 限 公 司 ) 下 載 WAVE6000 for Windows ( 支持 LAB2000) 仿 真 開 發(fā) 軟 件 ( ZIP壓 縮 文 件 格 式 ) ,

34、 經(jīng) ZIP解壓 后 , 運 行 其 中 的 SETUP.EXE文 件 即 可 , 該 安 裝 程 序 將 引 導(dǎo)用 戶 完 成 WAVE 6000仿 真 開 發(fā) 軟 件 的 安 裝 過 程 。 2) 從 課 件 郵 箱 下 載 應(yīng) 用 程 序 文 件 “ wave6000_G”, 雙 擊安 裝 即 可 。2.3.0 WAVE仿 真 軟 件 的 安 裝 與 使 用 1、 WAVE仿 真 軟 件 功 能 簡 介 目 錄 1) 安 裝 后 , 從 “ WAVE6000_GBIN”子 目 錄 下 雙 擊wave圖 標 進 入 界 面 ; 2.3 MCS-51指 令 系 統(tǒng)3、 WAVE仿 真 軟 件

35、 的 使 用2、 WAVE仿 真 軟 件 的 安 裝 2.3.0 WAVE仿 真 軟 件 的 安 裝 與 使 用 1、 WAVE仿 真 軟 件 功 能 簡 介 2) 新 建 一 個 匯 編 語 言 的 源 程 序 ( 如 : f1.asm) ; 3) 編 譯 、 調(diào) 試 。 目 錄完 成 安 裝 后 , 首 次 啟 動 看 到 的 界 面 2.3.0 WAVE仿 真 軟 件 的 安 裝 與 使 用 2.3 MCS-51指 令 系 統(tǒng) 2.3 目 錄 2.3.1 數(shù) 據(jù) 傳 送 指 令 2.3 MCS-51指 令 系 統(tǒng) 2.3.1.1 內(nèi) 部 數(shù) 據(jù) 傳 送 類 指 令 2.3.1.2 外 部

36、 數(shù) 據(jù) 傳 送 類 指 令 2.3.1.3 堆 棧 操 作 指 令 2.3.1.4 數(shù) 據(jù) 交 換 指 令數(shù) 據(jù) 傳 送 是 編 程 中 使 用 最 多 、 最 主 要 的 操 作 。在 傳 送 過 程 中 , 源 地 址 的 內(nèi) 容 不 被 改 變 ( COPY) 。傳 送 類 指 令 除 了 以 累 加 器 A為 目 標 的 傳 送 對 PSW的 P有 影 響外 , 其 余 的 傳 送 類 指 令 對 PSW一 概 無 影 響 。操 作 碼 數(shù) 據(jù) 的 目 標 地 址 數(shù) 據(jù) 的 源 地 址指 令 通 式 : MOV , 2.3 目 錄 特 點 : 單 片 機 內(nèi) 部 各 單 元 之 間

37、 的 內(nèi) 部 數(shù) 據(jù) 傳 送 , 指 令的 源 操 作 數(shù) 和 目 的 操 作 數(shù) 都 在 單 片 機 內(nèi) 部 。1、 立 即 尋 址 型 傳 送 指 令2、 直 接 尋 址 型 傳 送 指 令3、 寄 存 器 尋 址 型 傳 送 指 令4、 寄 存 器 間 址 型 傳 送 指 令5、 內(nèi) 部 數(shù) 據(jù) 傳 送 類 指 令 的 使 用2.3.1.1 內(nèi) 部 數(shù) 據(jù) 傳 送 指 令 2.3 2.3.1 數(shù) 據(jù) 傳 送 指 令 目 錄 1、 立 即 尋 址 型 傳 送 指 令【 特 點 】 源 操 作 數(shù) 是 立 即 數(shù) , 處 在 指 令 的 第 二 或 第 三 字 節(jié) ,所 以 這 類 指 令

38、都 是 多 字 節(jié) 指 令 , 有 如 下 4條 。 MOV A ,#data ; A data ( 雙 字 節(jié) 指 令 ) MOV Rn ,#data ; Rn data ( 雙 字 節(jié) 指 令 ) MOV Ri ,#data ; ( Ri) data( 雙 字 節(jié) 指 令 ) MOV direct ,#data ; direct data ( 三 字 節(jié) 指 令 ) 這 類 指 令 多 用 于 程 序 的 初 始 化 。 如 : MOV R0, #20H ; R0 #20H MOV A, #00H ; 累 加 器 A清 零2.3.1 數(shù) 據(jù) 傳 送 指 令2.3.1.1 內(nèi) 部 數(shù) 據(jù) 傳

39、 送 指 令 目 錄 【 例 】 已 知 : R0=20H, 試 問 單 片 機 執(zhí) 行 如 下 指 令 后 ,累 加 器 A、 R7、 20H和 21H單 元 中 的 內(nèi) 容 各 是 什 么 。 MOV A, #18H MOV R7, #28H MOV R0, #38HMOV 21H, #48H 2.3.1.1 2.3.1 數(shù) 據(jù) 傳 送 指 令1、 立 即 尋 址 型 傳 送 指 令2.3.1.1 內(nèi) 部 數(shù) 據(jù) 傳 送 指 令 目 錄 【 特 點 】 指 令 中 至 少 含 有 一 個 源 操 作 數(shù) 或 目 的 操 作 數(shù) 的 地址 。 是 2個 或 3個 字 節(jié) 的 指 令 格 式

40、, 其 中 直 接 地 址 在 第 2或第 3個 字 節(jié) 上 。 這 類 指 令 有 如 下 5條 :2、 直 接 尋 址 型 傳 送 指 令2.3.1.1 內(nèi) 部 數(shù) 據(jù) 傳 送 指 令 MOV A , directMOV direct , AMOV Rn , directMOV Ri , directMOV direct2 , direct1 【 注 意 】 direct為 內(nèi) 部 RAM和 SFR的 地 址 , 即 direct 適用 于 片 內(nèi) 所 有 的 地 址 。2.3.1 數(shù) 據(jù) 傳 送 指 令 目 錄 MOV A, 30H ; 內(nèi) 存 RAM30h單 元 數(shù) 據(jù) 送 AMOV

41、50H, A ; A中 內(nèi) 容 送 RAM的 50h單 元MOV R6, 31H ; RAM的 30h 內(nèi) 容 送 R6寄 存 器MOV Ri, 30H ; RAM30h內(nèi) 容 送 Ri指 定 的 RAM單 元MOV P1, 32H ; RAM32h內(nèi) 容 送 P1口 ( p1:符 號 地 址 )MOV 90H, 32H ; ( 同 上 , 試 比 較 兩 種 表 示 方 法 , 一 個 指 令 兩 種 寫 法 ) 2.3.1.1 2.3.1 數(shù) 據(jù) 傳 送 指 令2、 直 接 尋 址 型 傳 送 指 令2.3.1.1 內(nèi) 部 數(shù) 據(jù) 傳 送 指 令 目 錄 【 特 點 】 指 令 中 含 有

42、 存 放 操 作 數(shù) 的 寄 存 器 名 Rn, 其 中 ( n 0, 1, 2, 3, 4, 5, 6, 7)。 共 有 如 下 4條 : MOV A ,RnMOV Rn ,AMOV direct ,Rn MOV Rn, direct3、 寄 存 器 尋 址 型 傳 送 指 令2.3.1.1 內(nèi) 部 數(shù) 據(jù) 傳 送 指 令 2.3.1.1 2.3.1 數(shù) 據(jù) 傳 送 指 令 目 錄 【 特 點 】 指 令 中 Ri中 存 放 的 不 是 操 作 數(shù) 本 身 , 而 是 操 作 數(shù) 在 RAM中 的 地 址 ( i=0、 1) 。 格 式 如 下 : MOV A ,RiMOV Ri ,AMOV

43、 direct ,Ri 【 注 意 】 Ri中 存 放 操 作 數(shù) 的 地 址 是 有 所 選 擇 的 , 只 有 非 SFR的 RAM單 元 才 能 使 用 這 種 尋 址 方 式 。4、 寄 存 器 間 接 尋 址 型 傳 送 指 令2.3.1.1 內(nèi) 部 數(shù) 據(jù) 傳 送 指 令 2.3.1 數(shù) 據(jù) 傳 送 指 令 目 錄 【 例 】 已 知 ( 40h) =11h, ( 41h) =22h, R0=40h和R1=41h。 試 問 : 下 面 的 指 令 執(zhí) 行 后 , 累 加 器 A、 RAM的 40h、 41h和 42h單 元 中 的 內(nèi) 容 各 是 什 么 。 MOV A , R0

44、MOV R1, A MOV 42H, R1 2.3.1.1 2.3.1 數(shù) 據(jù) 傳 送 指 令4、 寄 存 器 間 接 尋 址 型 傳 送 指 令2.3.1.1 內(nèi) 部 數(shù) 據(jù) 傳 送 指 令 目 錄 ( 1) 不 能 根 據(jù) 主 觀 意 愿 去 “ 創(chuàng) 造 ” 指 令 。 5、 內(nèi) 部 數(shù) 據(jù) 傳 送 類 指 令 的 使 用2.3.1.1 內(nèi) 部 數(shù) 據(jù) 傳 送 指 令 例 如 : 要 將 R0中 的 數(shù) 據(jù) 傳 送 到 R1中 。 如 何 使 用 指 令去 完 成 上 述 的 操 作 ? MOV R1, R0 是 否 可 以 ? 回 答 是 否 定 的 ! 因 為 在 MCS-51的 指

45、令 系 統(tǒng) 中 沒 有 此條 指 令 ! 只 能 使 用 : MOV A, R0 或 : MOV 01h, 00h MOV R1, A 因 此 , 必 須 從 MCS-51的 指 令 表 中 選 擇 使 用 指 令 。2.3.1 數(shù) 據(jù) 傳 送 指 令 目 錄MCS-51內(nèi) 部 數(shù) 據(jù) 傳 送 類 指 令 方 式 圖 累 加 器 Adirect直 接 尋 址 Ri間 址Rn寄 存 器 Data立 即 數(shù)2.3.1.1 內(nèi) 部 數(shù) 據(jù) 傳 送 指 令 2.3.1 數(shù) 據(jù) 傳 送 指 令 返 回 目 錄 ( 2) 會 正 確 地 估 計 指 令 的 字 節(jié) 。 凡 是 包 含 有 立 即 數(shù) 、直

46、 接 地 址 的 指 令 , 都 應(yīng) 當 在 原 有 的 基 礎(chǔ) 上 加 1或 2。 【 舉 例 】 mov a ,Ri ( ) 個 字 節(jié) mov a ,direct ( ) 個 字 節(jié) mov direct ,data ( ) 個 字 節(jié) mov direct2 ,direct1 ( ) 個 字 節(jié)( 3) 養(yǎng) 成 一 個 好 的 、 合 理 的 編 程 習 慣 。( 4) 注 意 給 程 序 進 行 適 當 的 注 釋 , 這 對 于 閱 讀 、 編寫 和 修 改 程 序 都 是 非 常 重 要 的 。( 1) 不 能 根 據(jù) 主 觀 意 愿 去 “ 創(chuàng) 造 ” 指 令 。 2.3.1

47、數(shù) 據(jù) 傳 送 指 令2.3.15、 內(nèi) 部 數(shù) 據(jù) 傳 送 類 指 令 的 使 用2.3.1.1 內(nèi) 部 數(shù) 據(jù) 傳 送 指 令 目 錄 1、 16位 數(shù) 傳 送 指 令2、 外 部 ROM的 字 節(jié) 傳 送 指 令3、 外 部 RAM的 字 節(jié) 傳 送 指 令2.3.1.2 外 部 數(shù) 據(jù) 傳 送 指 令 【 特 點 】 單 片 機 內(nèi) 部 與 外 部 之 間 的 外 部 數(shù) 據(jù) 傳 送 。2.3.12.3.1 數(shù) 據(jù) 傳 送 指 令 目 錄 1、 16位 數(shù) 傳 送 指 令 MCS-51指 令 系 統(tǒng) 中 唯 一 的 一 條 16位 數(shù) 據(jù) 傳 送 類 指 令 。 MOV DPTR,#d

48、ata16 DPTR是 單 片 機 內(nèi) 部 SFR中 的 兩 個 寄 存 器 DPH、DPL組 合 而 成 。 其 中 DPH為 高 八 位 , DPL為 低 八 位 。 DPTR是 一 個 專 門 用 于 訪 問 外 部 存 儲 器 的 間 址 寄 存 器 。尋 址 能 力 為 64K ( 0 65535) 。 2.3.1.2 2.3.1 數(shù) 據(jù) 傳 送 指 令2.3.1.2 外 部 數(shù) 據(jù) 傳 送 指 令 目 錄 這 類 指 令 有 兩 條 , 都 屬 于 變 址 尋 址 指 令 。 MOVC A,A+DPTR ; A (A+DPTR) MOVC A,A+PC ; PC PC+1, A (

49、A+PC) ROM單 元 地 址 由 A和 DPTR或 PC內(nèi) 容 相 加 獲 得 。 該 指 令 稱 為 “ 查 表 ” 指 令 。 前 者 用 DPTR作 為 基 地 址 ; 后 者 是 以 程 序 計 數(shù) 器 PC為 基 地 址 。 由 于 PC的 內(nèi) 容 與 該 指 令 在 ROM中 的 位 置 有關(guān) , 并 且 PC的 值 是 不 能 隨 便 修 改 的 , 所 以 選 擇 PC作 基地 址 時 , 往 往 要 通 過 累 加 器 A進 行 “ 查 表 修 正 ” 。2、 外 部 ROM的 字 節(jié) 傳 送 指 令2.3.1 數(shù) 據(jù) 傳 送 指 令2.3.1.2 外 部 數(shù) 據(jù) 傳 送

50、 指 令 目 錄 【 例 】 已 知 累 加 器 A中 存 有 0 9范 圍 內(nèi) 的數(shù) , 試 用 查 表 指 令 編 寫 出 查 找 出 該 數(shù)平 方 的 程 序 。1) 采 用 DPTR作 基 址 寄 存 器 : MOV DPTR,#2000H ;指 針 賦 值 MOVC A,A+DPTR;查 表 得 平 方 值 送 A ROM01491625364964812000h2009h2008h2007h2006h2005h2004h2003h2002h2001h2、 外 部 ROM的 字 節(jié) 傳 送 指 令2.3.1 數(shù) 據(jù) 傳 送 指 令2.3.1.2 外 部 數(shù) 據(jù) 傳 送 指 令 目 錄

51、 2) 采 用 PC作 基 址 寄 存 器 ORG 1FFBH1FFBH 74 data ADD A , #data; data=02h1FFDH 83H MOVC A,A+PC;PC=1FFE1FFEH 80FEH SJMP $2000H 00H DB 0 ;平 方 表 首 址2001H 01H DB 12002H 04H DB 42003H 09H DB 92004H 10H DB 162005H 19H DB 25 : : :2009H 51H DB 81 ENDdata為 MOVC指 令 對 表 頭 地 址 之 間 的 單 元 數(shù) 。 74hdata83h80hFEh014916253

52、649 64812000h2009h2008h2007h2006h2005h2004h2003h2002h2001h1FFFh1FFEh1FFDh 1FFCh1FFBh通 過 A進行 修 正2.3.1 數(shù) 據(jù) 傳 送 指 令 目 錄 使 用 MOVC A,A+PC 指 令 的 特 點 :1) 與 使 用 MOVC A,A+DPTR 指 令 不 同 , 使 用 前 應(yīng) 當對 A中 的 偏 移 量 加 一 個 “ 修 正 值 ” , 修 正 值 的 大 小為 : MOVC指 令 與 表 頭 之 間 的 字 節(jié) 數(shù) ;2) 程 序 與 數(shù) 據(jù) 表 在 ROM中 的 位 置 是 可 以 浮 動 的 。

53、 只 要 MOVC指 令 與 表 之 間 的 距 離 不 變 , 則 程 序 可 以在 ROM中 的 任 意 位 置 上 “ 浮 動 ” , 程 序 具 有 可 修 改性 。 2.3.1.22.3.1 數(shù) 據(jù) 傳 送 指 令2、 外 部 ROM的 字 節(jié) 傳 送 指 令2.3.1.2 外 部 數(shù) 據(jù) 傳 送 指 令 目 錄 實 現(xiàn) 外 部 RAM和 累 加 器 A之 間 的 數(shù) 據(jù) 傳 送 。 只 能 使 用 寄 存 器 間 址 的 尋 址 方 式 。 在 MOVX指 令 模 式 下 , 單 片 機 的 P0、 P2口 做 訪 問 外 部 數(shù)據(jù) 的 地 址 和 數(shù) 據(jù) 的 總 線 。 其 中

54、:P0口 做 低 8位 地 址 和 數(shù) 據(jù) 的 復(fù) 用 總 線 ; P2口 做 高 8位 地 址 總 線 。3、 外 部 RAM的 字 節(jié) 傳 送 指 令2.3.1.2 外 部 數(shù) 據(jù) 傳 送 指 令 MOVX A ,Ri 使 用 Ri寄 存 器 間 址 尋 址 范 圍 0 255MOVX Ri ,A 在 硬 件 電 路 中 P2口 不 用 。MOVX A,DPTR ; 使 用 DPTR間 址 , 尋 址 范 圍 0 65535MOVX DPTR,A ;在 硬 件 電 路 中 , 使 用 P0口 輸 出 低 8位 , P2口 輸 出 高 8位 外 部 RAM地 址 。2.3.1 數(shù) 據(jù) 傳 送

55、 指 令 目 錄 【 例 】 已 知 外 部 RAM的 88H單 元 有 一 個 數(shù) x, 試 編 程 將 x送外 部 RAM的 1818H單 元 。【 解 】 : 外 部 RAM中 的 數(shù) 據(jù) 是 不 能 直 接 傳 送 的 , 因 此 必 須使 用 兩 次 MOVX 指 令 完 成 此 操 作 。ORG 2000HMOV R0, #88H ; 為 8位 指 針 賦 值MOV DPTR, #1818H; 為 16位 指 針 賦 值MOVX A, R0 ; 取 x 到 累 加 器 AMOVX DPTR, A ; x 送 RAM的 1818h單 元SJMP $ ; 停 機END2.3.1.2 外

56、 部 數(shù) 據(jù) 傳 送 指 令 返 回2.3.1.2 2.3.1 數(shù) 據(jù) 傳 送 指 令 目 錄 堆 棧 操 作 是 一 種 特 殊 的 保 護 數(shù) 據(jù) 的 傳 送 指 令 。 堆 棧 : 一 個 用 來 保 存 程 序 斷 點 、 數(shù) 據(jù) 的 存 儲 區(qū) 域 。 在51單 片 機 中 , 棧 區(qū) 可 以 使 用 片 內(nèi) RAM的 任 意 位 置 , 具體 位 置 由 指 針 SP來 確 定 ( 系 統(tǒng) 上 電 時 , SP=07h) 。 1) 進 棧 操 作 : PUSH direct ; sp+1sp, (direct)(sp) 2) 出 棧 操 作 : POP direct ; (sp)

57、(direct), sp-1sp2.3.1.3 堆 棧 操 作 指 令 2.3.1 數(shù) 據(jù) 傳 送 指 令“先 加 后 壓 ” 、 “ 先 彈 后 減 ” 目 錄 org 0800hdelay: push 00hpush 01hmov r0, #00hLoop1: mov r1, #00hLoop2: djnz r1, loop2djnz r0, loop1pop 01hpop 00hret RAMr1r0棧 底SP思 考 : 為 什 么 R0、 R1的 內(nèi) 容 要 進 棧 ?【 例 】 產(chǎn) 生 延 時 的 子 程 序 delay。2.3.1.3 堆 棧 操 作 指 令 2.3.1 數(shù) 據(jù) 傳

58、 送 指 令 目 錄 PUSH、 POP 指 令 使 用 的 尋 址 方 式 為 直 接 尋 址 , 所 以 push a X( 有 的 編 譯 系 統(tǒng) 識 別 , 將 a轉(zhuǎn) 換 為 acc) push acc push 0e0h push r0 X push 00h 進 棧 操 作 是 堆 棧 向 上 “ 生 長 ” 的 過 程 , 即 sp+1; 出 棧 則 相反 。 系 統(tǒng) 上 電 時 , SP=07h。 SP的 值 可 以 根 據(jù) 需 要 進 行 修 改 ,在 確 定 SP值 時 要 考 慮 對 棧 區(qū) 對 數(shù) 據(jù) 區(qū) 的 影 響 , 以 避 免 兩 者沖 突 。 如 : 在 程 序

59、的 初 始 化 時 加 一 條 :MOV SP, 60H 使 用 PUSH、 POP 指 令 的 注 意 事 項 2.3.1 2.3.1 數(shù) 據(jù) 傳 送 指 令 目 錄 一 種 方 便 的 累 加 器 和 寄 存 器 /RAM之 間 的 數(shù) 據(jù) 交 換 。 避 免了 使 用 MOV 指 令 交 換 時 的 不 便 。 格 式 : XCH a ,Rn ; a Rn XCH a ,direct ; a (direct) XCH a ,Ri ; a (Ri) XCHD a ,Ri ; a 3 0 (Ri) 3 0低 四位 交 換 舉 例 : 將 R1和 R2的 內(nèi) 容 交 換 。 MOV A, R1

60、 ; 取 數(shù) 據(jù) 送 A XCH A, R0 ; 與 R0交 換 MOV R2, A ; 送 回 到 R12.3.1.4 數(shù) 據(jù) 交 換 指 令 2.3.1 數(shù) 據(jù) 傳 送 指 令 目 錄 【 例 】 已 知 , 片 外 RAM20h單 元 、 內(nèi) 部 RAM20h單 元 分 別 有數(shù) x和 y, 試 編 程 將 兩 數(shù) 相 互 交 換 。mov R1, #20h ; 指 針 賦 初 值movx a, R1 ; x axch a, R1 ; 交 換 a(20h),ya movx R1, a ; y(20h)片 外 RAM片 內(nèi) RAMy (x) 片 外 RAMx (y)(y) x20h 20h

61、累 加 器 A 12 3 跳 過 例 2 2.3.1.4 數(shù) 據(jù) 交 換 指 令 2.3.1 2.3.1 數(shù) 據(jù) 傳 送 指 令 目 錄 【 例 】 已 知 RAM50h單 元 有 一 個 0 9范 圍 內(nèi) 的 數(shù) , 試 編 程 將它 變 成 相 應(yīng) 的 ASCII碼 。 【 解 】 : 0 9的 ASCII碼 是 30h 39h, 兩 者 相 差 30h。 方 法 一 : 對 50h單 元 的 數(shù) 據(jù) 高 四 位 組 裝 一 個 30h。mov r0,#50h ; 指 針 賦 值mov a,#30h ; 30hAxchd a,r0 ; A3 0(r0)3 0,在 A中 組 成 ASCII碼

62、mov r0,a ; A中 的 ASCII碼 送 回 50h單 元 0000010150h00110101A=30h交 換 后 A=35h 12方 法 二 : 把 50H的 內(nèi) 容直 接 與 30H相 加 , 形 成相 應(yīng) 的 ASCII碼 ( 略 )2.3.1 數(shù) 據(jù) 傳 送 指 令2.3.1.4 數(shù) 據(jù) 交 換 指 令 2.3.1 目 錄 功 能 : 完 成 算 術(shù) 運 算 、 邏 輯 運 算 和 循 環(huán) 移 位 三 大 功 能 。特 點 : 大 多 指 令 都 要 由 累 加 器 A來 存 放 一 個 源 操 作 數(shù) , 并 把 操 作 結(jié) 果 放 回 累 加 器 A中 。2.3.2.1

63、 算 術(shù) 運 算 指 令2.3.2.2 邏 輯 運 算 指 令2.3.2.3 移 位 指 令 2.3 2.3.2 算 邏 運 算 和 移 位 指 令 目 錄 2.3.2.1 算 術(shù) 運 算 指 令 不 帶 進 位 的 加 法 指 令 ( ADD )1、 加 法 指 令 : 帶 進 位 的 加 法 指 令 ( ADDC ) 加 1指 令 ( INC ) ( 編 程 舉 例 )2、 減 法 指 令 : 帶 進 位 的 減 法 指 令 ( SUBB ) 減 1指 令 ( DEC )3、 十 進 制 調(diào) 整 指 令 : ( DA A )4、 乘 法 和 除 法 指 令 : ( MUL DIV) 2.3

64、.2 2.3.2 算 邏 運 算 和 移 位 指 令 目 錄 1、 加 法 指 令 ( 之 一 ) : 不 帶 進 位 的 加 法 指 令 格 式 : ADD A ,Rn ; A +Rn AADD A ,direct ; A +(direct) AADD A ,Ri ; A +(Ri) AADD A ,#data ; A +data A 【 注 意 】 參 加 運 算 的 數(shù) 據(jù) 都 應(yīng) 是 8位 的 , 結(jié) 果 也 是 8位 并 影 響 PSW。 根 據(jù) 編 程 者 的 需 要 , 8位 數(shù) 據(jù) 可 以 是 無 符 號 數(shù) ( 0 255) ,也 可 以 是 有 符 號 數(shù) ( -128 +

65、127) 。 不 論 編 程 者 使 用 的 數(shù) 據(jù) 是 有 符 號 數(shù) 還 是 無 符 號 數(shù) , CPU都將 它 們 視 為 有 符 號 數(shù) ( 補 碼 ) 進 行 運 算 并 影 響 PSW。2.3.2.1 算 術(shù) 運 算 指 令2.3.2 算 邏 運 算 和 移 位 指 令 2.3.2.1 目 錄 【 例 】 分 析 執(zhí) 行 下 列 指 令 后 累 加 器 A和 PSW中 各 標 志 的 變 化 。MOV A,#19H Cy=0;ADD A,#66H AC=0 OV=CP CS=0 25 A= 0 0 0 1 1 0 0 1 B P=1 + 102 data= 0 1 1 0 0 1

66、1 0 B 127 0 0 1 1 1 1 1 1 1 B 1) 若 兩 數(shù) 都 是 無 符 號 數(shù) , 則 因 Cy=0無 溢 出 , 25+102=127。 2) 若 兩 個 數(shù) 是 有 符 號 數(shù) , 則 因 OV=0無 溢 出 。cy 0 0 0 CP CS AC 2.3.2.1 1、 加 法 指 令 ( 之 一 ) : 不 帶 進 位 的 加 法 指 令2.3.2.1 算 術(shù) 運 算 指 令2.3.2 算 邏 運 算 和 移 位 指 令 目 錄 【 例 】 分 析 執(zhí) 行 下 列 指 令 后 累 加 器 A和 PSW中 各 標 志 的 變 化 。MOV A,#5AH Cy=0;ADD A,#6BH AC=1; OV=CPCS=1 90 A= 0 1 0 1 1 0 1 0 B P=0 + 107 data=0 1 1 0 1 0 1 1 B 197 0 1 1 0 0 0 1 0 1 B CP CS AC 1) 若 兩 數(shù) 是 無 符 號 數(shù) , 因 Cy=0無 溢 出 : 90+107=197 2) 若 兩 數(shù) 是 有 符 號 數(shù) , 因 OV=1, 故 有 溢 出 , 兩

展開閱讀全文
溫馨提示:
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)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

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

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

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


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