卢伟《计算机原理》themicrocomputerprinciple-ch课件

上传人:san****019 文档编号:22287712 上传时间:2021-05-23 格式:PPT 页数:97 大小:688.50KB
返回 下载 相关 举报
卢伟《计算机原理》themicrocomputerprinciple-ch课件_第1页
第1页 / 共97页
卢伟《计算机原理》themicrocomputerprinciple-ch课件_第2页
第2页 / 共97页
卢伟《计算机原理》themicrocomputerprinciple-ch课件_第3页
第3页 / 共97页
点击查看更多>>
资源描述
Dalian University of Technology计 算 机 原 理 电 信 学 院 自 动 化 系 卢 伟ADD: 大 黑 楼 B705 TEL: 84706161 Email: 计 算 机 原 理 2021年 5月 22日 0时 18分2 3.1 指 令 系 统 概 述3.2 寻 址 方 式3.3 8086指 令 系 统 3.3.1 数 据 传 送 指 令 3.3.2 算 术 运 算 指 令 3.3.3 逻 辑 运 算 与 移 位 指 令 3.3.4 串 操 作 指 令 3.3.5 控 制 转 移 指 令 3.3.6 处 理 器 控 制 指 令 第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分3 3.1 指 令 系 统 概 述指 令 系 统 是 一 台 计 算 机 所 能 识 别 和 执 行 的 全 部 指 令 的 集 合 。它 与 微 处 理 器 有 着 密 切 的 关 系 ,不 同 的 微 处 理 器 有 不 同 的 指 令 系 统 。指 令 是 使 计 算 机 执 行 某 种 特 定 操 作 的 二 进 制 编 码 。 指 令 一 般 包 括 两 个 部 分 : 操 作 码 域 和 地 址 域 。 操 作 码 域 存 放 指 令 的 操 作 码 ,即 指 明 该 指 令 应 由 计 算 机 完 成 何 种操 作 。 地 址 域 确 定 操 作 数 的 值 或 地 址 、 操 作 结 果 的 地 址 ,有 的 指 令 的 地址 域 还 指 出 下 一 条 指 令 的 地 址 。第 三 章 8086微 处 理 器 的 指 令 系 统第 三 章 微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分4 机 器 指 令 : 计 算 机 能 识 别 的 代 码 ,机 器 指 令 是 由 二 进 制 数 组 成 的 。 例 如 : ADD CL,BH 机 器 指 令 为 0000001011001111B PUSH AX 机 器 指 令 为 01010000汇 编 语 言 : 汇 编 语 言 是 一 种 符 号 语 言 ,用 助 记 符 表 示 操 作 码 ,用 符 号或 符 号 地 址 表 示 操 作 数 或 操 作 数 地 址 ,它 与 机 器 指 令 是 一 一 对 应 的 。汇 编 程 序 : MASM.EXE将 汇 编 语 言 源 程 序 翻 译 成 机 器 语 言 ,即 目 标程 序 。 第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分5 根 据 指 令 内 容 确 定 操 作 数 地 址 的 过 程 ,称 为 。根 据 寻 址 方 式 计 算 所 得 到 的 地 址 叫 做 ,也 就 是。 有 效 地 址 还 需 要 与 相 应 的 段 基 地 址 组 合 才 是 20位的 ,该 工 作 由 微 处 理 器 来 完 成 。寻 址 方 式 在 两 种 方 式 下 被 涉 及 : 操 作 数 的 寻 址 方 式 和 指 令 的寻 址 方 式 。如 果 没 有 特 别 说 明 ,寻 址 方 式 是 指 源 操 作 数 的 寻 址 方 式 。第 三 章 8086微 处 理 器 的 指 令 系 统第 三 章 微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分6 1、 隐 含 寻 址 指 令 已 经 默 认 对 微 处 理 器 中 的 某 个 寄 存 器 进 行 操 作 ,不 用 在 指令 中 指 明 所 使 用 的 寄 存 器 ,即 隐 含 了 规 定 的 操 作 数 ,这 样 的 寻 址 方 式称 为 隐 含 寻 址 。例 : DAA指 令 ,只 有 操 作 码 ,无 操 作 数 ,但 已 经 规 定 是 对 AL中 的 内 容 进行 十 进 制 调 整 。3.2寻 址 方 式操 作 数 寻 址 第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分7 2、 立 即 寻 址 操 作 数 直 接 放 在 指 令 中 。 不 需 要 访 问 存 储 器 。 操 作 数 可 以 是 8位 的也 可 以 是 16位 的 ,有 时 也 称 为 立 即 数 。 立 即 数 只 能 是 源 操 作 数 。例 3.1 MOV AL,34H MOV AX,1234H 需 要 注 意 在 16位 操 作 时 ,两 个 字 节 数 据 的 高 低 位 存 储 位 置 。第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分8 3、 寄 存 器 寻 址 操 作 数 就 放 在 微 处 理 器 的 内 部 寄 存 器 中 ,AX、 BX、 CX、 DX、 DI、SI、 SP和 BP,不 需 要 访 问 存 储 器 。 例 3.2: INC CX MOV AX,BX 若 执 行 前 (AX)=30A6H,(BX)=69EDH,(CX)=40D9H 则 执 行 后 ,(AX)=69EDH,BX内 容 不 变 ,(CX)=40DAH。以 上 三 种 寻 址 方 式 都 是 直 接 在 微 处 理 器 内 部 获 得 数 据 ,因 此 操 作速 度 快 。 第 三 章 8086微 处 理 器 的 指 令 系 统第 三 章 微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分9 4、 存 储 器 寻 址 操 作 数 放 在 存 储 器 中 ,执 行 部 件 EU计 算 出 存 储 器 操 作 数 的 偏 移 量 ,即 有 效 地 址 EA。 这 是 一 个 无 符 号 数 ,由 总 线 接 口 部 件 BIU的 地 址 加 法器 计 算 出 物 理 地 址 ,然 后 执 行 存 取 该 操 作 数 所 需 的 总 线 周 期 。 对 于 8086,有 效 地 址 EA有 3种 成 分 : (1)位 移 量 (2)基 址 (3)变 址 EA=基 址 +变 址 +位 移 量第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分10 (1)直 接 寻 址 有 效 地 址 由 指 令 直 接 给 出 ,有 效 地 址 只 包 含 8位 /16位 的 位 移 量 。 MOV AL,1234H 默 认 的 段 寄 存 器 是 DS,也 可 以 在 指 令 中 使 用 段 超 越 前 缀来 指 定 段 寄 存 器 。 例 3.3: MOV AL,ES:1234H 有 效 地 址 EA=1234H,在 指 令 中 直 接 给 出 。 物 理 地 址 PA=(ES) 10H+1234H 第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分11 例 3.4 MOV AX,2000H 若 (DS)=3000H,则 执 行 情 况 如 图 示 。 直 接 寻 址 也 可 用 符 号 地 址 。例 3.5: MOV AX,VALUE/MOV AX,VALUE 这 里 ,VALUE就 是 存 放 操 作 数 单 元 的 符 号 地 址 。第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分12 存 储 器3032000H30000H代 码 段 AH5032001H AL (AX)=3050H数 据 段 例 3.4的 执 行 过 程第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分13 (2)寄 存 器 间 接 寻 址 和 寄 存 器 相 对 间 接 寻 址 操 作 数 的 地 址 在 对 应 的 寄 存 器 中 称 为 若 还 有 位移 量 (disp)则 称 为 。 EA取 自 基 址 寄 存 器 BX,BP或 变 址 寄 存 器 SI,DI中 的 一 个 ,操 作 数 在有 效 地 址 对 应 的 存 储 单 元 中 。 即 EA=(BX、 BP、 SI、 DI之 一 )+disp BX用 于 间 接 寻 址 时 ,默 认 段 寄 存 器 为 DS,允 许 段 超 越 BP用 于 间 接 寻 址 时 ,默 认 段 寄 存 器 为 SS,允 许 段 超 越 SI用 于 间 接 寻 址 时 ,默 认 段 寄 存 器 为 DS,允 许 段 超 越 DI用 于 间 接 寻 址 时 ,只 有 在 串 操 作 指 令 中 ,默 认 段 寄 存 器 为 ES,其余 情 况 默 认 段 寄 存 器 均 为 DS,不 允 许 段 超 越 ; 第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分14 注 : IP只 能 在 代 码 段 中 (CS)寻 址 ,SP只 能 在 堆 栈 段 (SS)中 寻 址 。例 3.7 MOV AX,BX 若 (DS)=2000H,(BX)=1000H 则 EA=(BX)=1000H 物 理 地 址 PA=20000H+1000H=21000H, 执 行 情 况 如 下 图 示 。 (AX)=(21000H)=5030H3021000H20000H AH5021001H AL (AX)=5030H 第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分15 例 3.8 INC BYTE PTRBX EA=(BX) PA=(DS) 10H+(BX) 若 是 寄 存 器 相 对 间 接 寻 址 ,则 要 加 上 位 移 量 。 例 3.9 INC BYTE PTRBX+disp EA=(BX)+disp PA=(DS) 10H+(BX)+disp 例 3.10 MOV AX,COUNTSI/MOV AX,SICOUNT/MOV AX,SI+COUNT 若 COUNT=3000H,(DS)=3000H(SI)=2000H,则 物 理 地 址=35000H,指 令 执 行 如 上 图 所 示 ,指 令 执 行 后 (AX)=1234H.3435000H30000H AH1235001H AL(AX)=1234H32000H第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分16 (3)基 址 寻 址 和 基 址 相 对 寻 址 操 作 数 的 地 址 在 基 址 寄 存 器 BX,BP中 称 为 基 址 寻 址 ; 若 还 有 位移 量 ,则 称 为 基 址 相 对 寻 址 。 位 移 量 可 以 是 8位 或 16位 。例 3.11 MOV AX,BX+disp 使 用 BX,默 认 段 寄 存 器 是 DS,而 BP则 默 认 的 段 寄 存 器 为 SS。 EA=(BX)或 (BP)+disp PA=(DS)或 (SS) 10H+ disp第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分17 例 3.12 MOV AX,COUNTBX若 (DS)=3000H,(BX)=2000H,COUNT=3000H,(35000H)=1234H 则 EA=2000H+3000H=5000H PA=30000H+5000H=35000H 执 行 该 指 令 后 ,(AX)=1234H (4)变 址 寻 址 和 变 址 相 对 寻 址 操 作 数 的 地 址 在 变 址 寄 存 器 SI、 DI中 称 为 变 址 寻 址 ; 若 还 有 位移 量 ,则 称 为 变 址 相 对 寻 址 。 EA=(SI)或 (DI)+disp 例 3.13 MOV AH,SI+disp第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分18 (5)基 址 变 址 寻 址 和 基 址 变 址 相 对 寻 址 EA=BX或 BP中 的 基 址 地 址 SI、 DI中 的 变 址 地 址 disp; 实 际 上这 种 寻 址 为 (3)、 (4)两 种 寻 址 的 组 合 。 例 3.14 MOV AX,BP+DI 此 时 隐 含 的 段 寄 存 器 为 SS,若 用 BX,则 隐 含 的 段 寄 存 器 为 DS. EA=(BX或 BP)+(SI或 DI)+disp PA=(DS) 10H+(BX)+(SI或 DI)+disp PA=(SS) 10H+(BP)+(SI或 DI)+disp第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分19 例 3.10 MOV AX,BXDI若 (DS)=2100H,(BX)=0158H,(DI)=0002H,(2115AH)=1234H则 EA=0158H+0002H=015AH PA=EA+21000H=2115AH 指 令 执 行 后 ,(AX)=1234H例 3.11: MOV AX,MASK+BX+SI 若 (DS)=3000H,(BX)=2000H,(SI)=1000H,MASK=0250H (33250H)=34H,(33251H)=12H 则 EA=2000H+1000H+0250H=3250H PA=30000H+2000H+1000H+0250H=33250H 指 令 执 行 如 下 图 所 示 ,执 行 该 指 令 后 (AX)=1234H.第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分20 低 地 址高 地 址CS段操 作 码50H02H34H12H34H12HAX DS段3000033250BX 025033250+MOV AX, BX+SI MASKDS 3000 02000SI 1000第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分21 8086采 用 I/O端 口 与 存 储 器 独 立 编 址 的 方 式 。 访 问 I/O 端 口 需要 专 门 指 令 IN和 OUT,通 过 AX/AL来 完 成 。(1)直 接 寻 址 在 指 令 直 接 给 出 I/O端 口 地 址 ,此 地 址 应 在 0 255(0-FFH)之 间 . 例 如 : IN AL,20H; 从 端 口 地 址 20H读 入 一 个 字 节(2)间 接 寻 址 ,寄 存 器 只 能 用 DX 由 DX给 出 I/O端 口 地 址 ,此 方 式 适 用 端 口 地 址 为 0 65535(0-FFFFH)之 间 的 任 意 值 . 例 如 : OUT DX,AL5、 I/O端 口 寻 址 第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分22 寻 址 方 式 的 书 写 格 式1、 在 方 括 号 内 部 允 许 有 一 个 或 两 个 寄 存 器 的 名 字 ,如 果 一 对 方 括号 内 部 有 基 址 寄 存 器 和 变 址 寄 存 器 ,使 用 “ ” 作 为 连 接 。2、 在 方 括 号 内 部 允 许 有 位 移 量 ,使 用 或 - 号 作 为 连 接 符 号 。3、 在 方 括 号 外 部 允 许 有 位 移 量 ,可 以 在 左 边 或 右 边 。 MOV AX,BX+SI+6 MOV AX,BX+SI6 MOV AX,6BX+SI MOV AX,BXSI6 MOV AX,BX+6SI第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分23 8086操 作 数 寻 址 方 式 小 结 :立 即 寻 址 ,操 作 数 直 接 放 在 指 令 中 。隐 含 寻 址 ,指 令 已 经 隐 含 了 存 放 操 作 数 的 寄 存 器寄 存 器 寻 址 (8个 通 用 寄 存 器 )直 接 寻 址 ,有 效 地 址 由 指 令 直 接 给 出 ,即 有 效 地 址 只 包 含 位 移 量 。寄 存 器 间 接 寻 址 和 寄 存 器 相 对 间 接 寻 址 (BX、 BP、 SI、 DI,位 移 量 )基 址 寻 址 和 基 址 相 对 寻 址 (BX、 BP,位 移 量 )变 址 寻 址 和 变 址 相 对 寻 址 (SI、 DI,位 移 量 )基 址 变 址 寻 址 和 基 址 变 址 相 对 寻 址 (BX、 BP,SI、 DI,位 移 量 ) 其 中 1、 2、 3两 种 不 用 访 问 存 储 器 。 disp可 以 是 8位 /16位 的 有 符 号 数 。第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分24 (1)段 内 直 接 寻 址 不 改 变 CS,在 IP上 加 一 个 位 移 量 ,则 EA=(IP)+disp 例 如 : JMP NEAR PTR PROGIA ; 段 内 近 转 移 JMP SHORT QUEST ; 段 内 短 转 移 JMP 25H ; 段 内 短 转 移 ,-128 +127 JMP 1025H ; 段 内 近 转 移 ,-32768 +32767 其 中 PROGIA 和 QUEST是 转 向 的 符 号 地 址 ,在 机 器 指 令 中 ,用位 移 量 来 表 示 。指 令 寻 址 第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分25 例 3.12: JMP BX; 段 内 间 接 转 移 (IP)=(BX) JMP WORD PTRBX+TABLE若 (BX)=1256H,(DS)=2000H,TABLE=20A0H,(232F6H)=3280H则 执 行 JMP BX后 ,(IP)=EA=1256H 执 行 JMP WORD PTRBX+TABLE后 , EA=(BX)+disp=1256H+20A0H=32F6H (IP)=(PA)=(20000H+32F6H)=(232F6H)=3280H(2)段 内 间 接 寻 址 转 向 的 有 效 地 址 是 一 个 寄 存 器 或 一 个 存 储 单 元 的 内 容 。 这 个 寄 存器 或 存 储 单 元 的 内 容 可 用 除 立 即 数 寻 址 以 外 的 任 何 一 种 寻 址 方 式 得到 。 转 向 的 有 效 地 址 用 来 取 代 IP,这 时 CS值 不 变 。第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分26 例 3.13: JMP 3500H:080BH;段 间 直 接 转 移 (CS)=3500H,(IP)=080BH例 3.14: JMP FAR PTR NEXT_PROG其 中 NEXT_PROG是 转 向 的 符 号 地 址 ;FAR PTR为 段 间 转 移 的 操 作 符 。执 行 该 指 令 后 ,NEXT_PROG所 在 段 的 段 地 址 送 CS,NEXT_PROG在 该段 内 的 偏 移 量 送 IP。 (3)段 间 直 接 寻 址 指 令 中 提 供 了 转 向 的 段 地 址 和 偏 移 地 址 ,所 以 用 段 地 址 取 代 CS,用 偏 移 地 址 取 代 IP。第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分27 C1 SEGMENT JMP FAR PTR NEXT_PROG C1 ENDSC2 SEGMENT NEXT_PROG : C2 ENDS执 行 JMP FAR PTR NEXT_PROG后 ,C2段 的 段 地 址 送 CS,在 C2段 内NEXT_PROG的 偏 移 量 送 IP。第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分28 (4)段 间 间 接 寻 址 用 存 储 器 中 两 个 相 继 字 的 内 容 来 取 代 IP和 CS,达 到 段 间 转 移 的 目 的 。低 地 址 中 内 容 送 IP,高 地 址 中 内 容 送 CS。例 3.15: JMP DWORD PTR INTERS+BX其 中 INTERS+BX说 明 寻 址 方 式 为 基 址 相 对 寻 址 方 式 ; DWORD PTR是 双 字 操 作 符 。例 3.16: JMP DWORD PTRBX+DI+ALPHA这 是 基 址 变 址 相 对 寻 址 。 EA=(BX)+(DI)+ALPHA PA=(DS) 10H+EA (IP)=(PA) ; 低 地 址 内 容 送 IP (CS)=(PA+2) ; 高 地 址 内 容 送 CS 转 移 的 物 理 地 址 是 : PA=(CS) 10H+(IP)段 间 间 接 转 移 ,目 标 地 址 存 放 在 PA开 始 的 4个 连 续 单 元 中 ,其 中 低 地 址两 个 单 元 放 IP内 容 ,高 地 址 两 个 单 元 放 CS内 容 。第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分29 寻 址 方 式 :1. 立 即 寻 址 MOV AX, 1234H2. 寄 存 器 寻 址 MOV AX, BX3. 直 接 寻 址 MOV AX, 1234H4. 寄 存 器 间 接 寻 址 MOV AX, BX 5. 基 址 寻 址 MOV AX, BX+100H6. 变 址 寻 址 MOV AX, SI+100H7. 基 址 加 变 址 寻 址 MOV AX, BX+SI+100H第 三 章 8086微 处 理 器 的 指 令 系 统第 三 章 微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分30 操 作 数 分 类立 即 数 操 作 数 : 绿注 1: 立 即 数 只 能 作 为 源 操 作 数 ,不 能 作 为 目 标 操 作 数 。注 2: 不 能 用 一 条 指 令 简 单 地 将 立 即 数 传 送 到 段 寄 存 器 。寄 存 器 操 作 数 : 红注 3: 有 些 指 令 没 有 指 定 使 用 的 寄 存 器 ,但 实 际 上 隐 含 着 特 定 的 寄 存器 操 作 数 。存 储 器 操 作 数 : 蓝注 4: 不 允 许 源 操 作 数 和 目 标 操 作 数 同 时 为 存 储 器 操 作 数 。注 5: 存 储 器 操 作 数 的 物 理 地 址 的 计 算 是 将 段 基 地 址 左 移 四 位 加 上有 效 地 址 EA(偏 移 地 址 )得 到 的 。 但 是 段 寄 存 器 和 有 效 地 址 的 配 对是 有 规 定 的 。注 6: 执 行 速 度 : 寄 存 器 操 作 数 立 即 数 操 作 数 存 储 器 操 作 数第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分31 机 器 码 : 在 8086系 统 中 ,任 何 一 条 指 令 都 是 以 特 定 的 若 干 个 (16)字 节 的 代 码 形 式 存 在 存 储 器 的 码 段 中 。 同 样 的 指 令 (如 MOV)由 于寻 址 方 式 和 操 作 数 的 不 同 ,机 器 码 的 长 度 也 不 同 。执 行 时 间 : 指 令 的 指 令 时 间 包 括 取 址 、 译 码 和 执 行 的 时 间 ,跟 该指 令 的 机 器 码 的 长 短 没 有 直 接 关 系 。 指 令 机 器 码 字 节 数 时 钟 数MOV AL,15H B0H15H 2 4MOV AX,BX 8BHC3H 2 2第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分32 1 数 据 传 送 指 令(1)MOV指 令 MOV dest,src ; (dest)(src)1)源 操 作 数 可 以 是 8/16位 的 立 即 数 、 寄 存 器 操 作 数 、 内 存 操 作 数 。目 标 操 作 数 不 允 许 为 立 即 数 ,其 余 同 源 操 作 数 。 源 、 目 的 操 作 数 不 能同 时 为 内 存 操 作 数 。2)源 、 目 的 操 作 数 类 型 必 须 匹 配 : MOV BYTE PTR BX,12H3)不 能 向 段 寄 存 器 写 立 即 数 : MOV AX,2000 ; MOV DS,AX4) 以 CS为 目 标 的 一 切 传 送 指 令 都 是 非 法 的 。通 用 传 送 指 令第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分33 (2)堆 栈 操 作 指 令 PUSH src ; (SP)(SP)-2 ; (SP)+1:(SP)(src) 进 栈 指 令 ,先 调 整 堆 栈 指 针 ,再 把 源 操 作 数 压 栈 。 如 : PUSH AX POP dest ; (dest)(SP)+1:(SP) ; (SP)(SP)+2 出 栈 指 令 ,先 将 栈 顶 2字 节 送 目 标 操 作 数 ,再 调 整 堆 栈 指 针 。 如 : POP AX注 1:堆 栈 指 令 指 对 字 进 行 操 作 ,不 对 字 节 进 行 操 作 ,一 般 成 对 使 用 。注 2:堆 栈 主 要 应 用 于 子 程 序 调 用 、 中 断 的 现 场 保 护 和 恢 复 及 参 数 传 递 等 。 第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分34 高 地 址低 地 址12H34H34H12HAX 堆 栈 段SS SP指 向 栈 顶SP 1SP 1PUSH AX第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分35 高 地 址低 地 址12H34H34H12HAX 堆 栈 段SS SP指 向 栈 顶SP+1SP+1POP AX第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分36 (3)交 换 指 令 XCHG dest,src ;(dest)(src)交 换 指 令 ,源 、 目 不 能 同 为 内 存 操 作 数 ,只 能 在 寄 存 器 之 间 、 寄 存 器和 存 储 器 之 间 交 换 ,段 寄 存 器 不 能 作 为 一 个 操 作 数 进 行 交 换 。如 : XCHG AX, SI+0400H第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分37 (4)XLAT 查 表 指 令 XLAT src_table/XLAT ;(AL)(BX)+(AL)查 表 指 令 ,用 来 取 表 中 某 指 定 数 的 值 。执 行 指 令 前 : 序 号 AL 表 首 址 BX执 行 指 令 后 : AL 表 中 序 号 对 应 的 字 节 内 容例 : TABLE DB 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 MOV BX, OFFSET TABLE MOV AL, 5 XLAT TABLE 执 行 后 AL=53第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分38 完 成 累 加 器 和 I/O端 口 之 间 的 数 据 传 送(1)IN acc,port ; (acc)(port) 端 口 号 为 8位 时 ,直 接 寻 址 ,最 多 可 访 问 256个 端 口 例 : IN AL,60H(将 60H口 地 址 的 字 节 送 给 AL) IN AX,60H(将 60H口 地 址 的 字 送 给 AX)端 口 地 址 为 16位 时 ,间 接 寻 址 ,端 口 地 址 必 须 放 在 DX寄 存 器 中 ,最 多 可访 问 65536个 端 口 。例 : MOV DX,3DAH IN AL,DX ; 将 3DAH口 地 址 的 字 节 送 给 AL(2)OUT port,acc ; (port)(acc)例 : MOV DX,3DAH OUT DX,AX输 入 输 出 指 令第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分39 LEA reg16,mem16 有 效 地 址 传 送 指 令 ,源 操 作 数 为 内 存 操 作 数 ,将 内 存 单 元 的 有 效 地 址(而 不 是 内 容 )传 送 到 目 标 寄 存 器 。例 : LEA SI, AREA1 MOV SI,OFFSET AREA1LDS/LES reg16,mem32指 针 传 送 指 令 ,将 传 送 一 个 32位 目 标 指 针 (包 含 一 个 段 地 址 和 一 个 段内 偏 移 量 ),从 源 操 作 数 (内 存 操 作 数 )传 送 至 一 对 目 的 寄 存 器 。 其中 段 地 址 送 至 DS(ES),偏 移 量 送 至 指 定 的 16位 寄 存 器 中 ,通 常 是 指针 寄 存 器 或 者 变 址 寄 存 器 。例 : LDS SI,0100H 34H12HCDHABHDS: 100H目 标 地 址 传 送 指 令第 三 章 8086微 处 理 器 的 指 令 系 统: 计 算 机 原 理 2021年 5月 22日 0时 18分40 LAHF 不 影 响 标 志 位SAHF 影 响 标 志 寄 存 器 低 8位PUSHFPOPF16位 标 志 寄 存 器 进 栈 /出 栈 指 令数 据 传 送 指 令 中 ,除 SAHF和 POPF外 ,都 不 影 响 标 志 寄 存 器 的 内 容 。S Z A P CO D I TAHFLAG LAHF/SAHF标 志 传 送 指 令第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分41 2算 术 运 算 指 令8086指 令 系 统 算 术 运 算 指 令 一 共 20条 加 法 ADD 减 法 SUBADC SBBINC DECAAA NEGDAA CMP除 法 DIV AASIDIV DASAAD 乘 法 MULCBW IMULCWD AAM第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分42 运 算 数 据 格 式 和 对 标 志 位 的 影 响 数 据 类 型 类 型 字 节 字不 带 符 号 的 二 进 制 数 0 255 0 65535带 符 号 的 二 进 制 数 (补 码 ) -128 127 -32768 32767不 带 符 号 的 压 缩 十 进 制 数 0 99 0 9999不 带 符 号 的 非 压 缩 十 进 制 数 0 9 0 99第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分43 运 算 数 据 格 式 和 对 标 志 位 的 影 响 对 标 志 位 的 影 响 : 所 有 算 术 运 算 指 令 都 影 响 状 态 标 志 CF 、 PF、 AF、ZF、 SF和 OF。 当 无 符 号 数 运 算 结 果 溢 出 时 ,CF=1。 当 有 符 号 数 运 算 产 生 溢 出 时 ,OF=1。 当 运 算 结 果 中 低 8位 有 偶 数 个 1或 0个 1,则 PF=1。 若 加 法 时 第 3位 给 第 4位 进 位 ,或 减 法 时 第 3位 从 第 4位 借 位 ,则AF=1。 若 运 算 结 果 为 0,则 ZF=1。 若 运 算 结 果 为 负 数 ,则 SF=1。第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分44 ADD dest,src ; (dest)(dest)+(src) 加 法 指 令 : ADD AL,27H ADC dest,src ; (dest)(dest)+(src)+(CF) 带 进 位 位 加 法 指 令 ,主 要 用 来 实 现 多 字 节 的 加 法 运 算 。例 : 做 4个 字 节 的 加 法 运 算 ,两 个 数 放 在 SI和 DI开 始 的 存 储 单 元 当 中 。 MOV AX,SI ADD DI,AX MOV AX,SI+2 ADC DI+2,AX; 注 意 要 用 带 进 位 的 加 法 运 算 指 令 以 上 两 条 指 令 影 响 A,C,O,P,S,Z6个 标 志 位 。 注 意 带 进 位 位 加 法 中 的进 位 位 的 值 是 上 一 条 运 算 指 令 产 生 的 结 果 。加 法 运 算 指 令第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分45 例 3.20: ADD WORD PTRBX+106BH,1234H(CS)=1000H,(IP)=0300H,(DS)=2000H,(BX)=1200H第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分46 INC dest ; (dest)(dest)+1 自 加 1指 令 ,影 响 A,O,P,S,Z 5个 标 志 位 AAA 加 法 的 ASCII调 整 指 令 ,它 不 能 单 独 使 用 ,总 是 跟 在 加 法 指 令 后 ,对 在AL中 的 由 两 个 非 压 缩 的 BCD码 相 加 的 结 果 进 行 校 正 ,结 果 仍 以 非 压缩 BCD码 的 形 式 存 放 ,个 位 在 AL,十 位 在 AH。 DAA 加 法 的 十 进 制 调 整 指 令 ,它 不 能 单 独 使 用 ,总 是 跟 在 加 法 指 令 后 ,对在 AL中 的 由 两 个 压 缩 的 BCD码 相 加 的 结 果 进 行 校 正 ,产 生 一 个 正 确的 BCD码 的 和 。第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分47 AAA指 令 的 具 体 算 法 如 下 : IF (AL AND 0FH)9 OR (AF=1)THEN AL=AL+6 AH=AH+1 AF=1 AL=AL AND OFH CF=1 ELSE AF=0 CF=0 ENDIF第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分48 DAA指 令 的 算 法 如 下 : IF(AL AND 0FH)9 OR(AF=1)THEN AL=AL+6 AF=1 ENDIF IF (AL9FH)OR(CF=1)THEN AL=AL+60H CF=1 ENDIF 第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分49 例 3.21: 求 6+7 (非 压 缩 十 进 制 数 ) 指 令 如 下 : MOV AL,06 MOV BL,07 ADD AL,BL AAA 00000110 + 00000111 (AL)= 00001101 因 为 (AL) 9,要 调 整 + 00000110 (AL)= 00010011 (AH)=1,(AL)=AL AND 0FH=03 第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分50 例 3.22: 求 48+29(压 缩 的 十 进 制 数 ) 程 序 如 下 : MOV AL,48H ADD AL,29H DAA 01001000 + 00101001 01110001 AF=1 调 整 + 00000110 01110111例 3.23: 上 例 中 若 是 非 压 缩 的 十 进 制 数 ,两 个 数 放 在 存 储 单 元 UP1、UP2中 ,运 算 结 果 放 在 DX中 ,则 设 (UP1)=08,(UP2)=09,(UP1+1)=04,(UP2+1)=02,这 里 UP1、 UP2是 存 储 单 元 的 符 号 地 址 ,编 程 计 算 48+29。第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分51 SUB dest,src ;(dest)(dest)-(src) 减 法 指 令 :SUB AL,65H SBB dest,src ;(dest)(dest)-(src)-(CF) 带 借 位 位 减 法 指 令以 上 两 条 指 令 影 响 A,C,O,P,S,Z6个 标 志 位 。 DEC dest ;(dest)(dest)-1 自 减 1指 令 ,影 响 A,O,P,S,Z5个 标 志 位 AAS 减 法 的 ASCII调 整 指 令 ,对 在 AL中 的 由 两 个 非 压 缩 的 BCD码 相 减 的结 果 进 行 校 正 ,结 果 仍 以 非 压 缩 BCD码 的 形 式 存 放 ,个 位 在 AL,十 位 在AH。 DAS 减 法 的 十 进 制 调 整 指 令 ,对 在 AL中 的 由 两 个 压 缩 的 BCD码 相 减 的 结果 进 行 校 正 ,产 生 一 个 正 确 的 BCD码 的 差 。减 法 运 算 指 令第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分52 AAS指 令 的 具 体 算 法 如 下 : IF (AL AND 0FH)9 OR (AF=1)THEN AL=AL-6 AH=AH-1 AF=1 AL=AL AND OFH CF=1 ELSE AF=0 CF=0 ENDIF第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分53 DAS指 令 的 算 法 如 下 : IF(AL AND 0FH)9 OR(AF=1)THEN AL=AL-6 AF=1 ENDIF IF (AL9FH)OR(CF=1)THEN AL=AL-60H CF=1 ENDIF第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分54 例 3.24: 若 (AL)=9AH,执 行 指 令 SUB AL,65H后 ,各 标 志 位 的 值 ? 9AH-65H=9AH+(-65H),这 里 9AH本 身 是 负 数 补 码 -65H补 =10011011=9BH 10011010 9AH + 10011011 9BH 100110101 可 以 根 据 以 前 讲 过 的 溢 出 判 断 方 法 来 判 断 是 否 溢 出 .次 高 位 无 进 位 ,最 高 位 有 进 位 ,所 以 OF=1,SF=0,ZF=0,AF=1,PF=1,CF=1,OF=1 运 算结 果 溢 出 。 但 对 进 位 标 志 位 ( CF、 AF) 需 要 反 转 后 复 制 进 标 志 寄存 器 FLAG的 CF和 AF中 。 需 要 修 正 ,修 正 办 法 是 将 符 号 位 变 成 1,则 结果 变 成 10110101,此 数 是 补 码 ,其 原 码 为 11001011,真 值 是 -75=-4BH。 实 际 上 ,9AH=(10011010) 补 ,其 真 值 是 -102, 65H=101 -102-101=-203=(-128)+(-75),其 中 -128舍 去 第 三 章 8086微 处 理 器 的 指 令 系 统第 三 章 微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分55 例 3.25: 求 7231-2958(压 缩 十 进 制 数 ) 程 序 : MOV AL,31H 00110001 31 SUB AL,58H - 01011000 58 DAS 11011001 AF=1 CF=1 MOV BL,AL - 01100110 MOV AL,72H 01110011 结 果 73 SBB AL,29H 01110010 72 DAS - 00000001 减 CF MOV BH,AL 01110001 结 果 存 放 在 BX中 , - 00101001 29 (BX)=4273 01001000 AF=1 - 00000110 01000010 结 果 42第 三 章 8086微 处 理 器 的 指 令 系 统第 三 章 微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分56 CMP dest,src; (dest)-(src) 比 较 指 令 。 完 成 两 个 操 作 数 相 减 ,结 果 反 映 在 标 志 位 上 ,但 不 送 回结 果 。 用 于 比 较 两 个 操 作 数 的 大 小 关 系 。(1)若 任 意 两 个 数 CMP A,B ZF=0 AB (JNZ不 等 转 移 ) ZF=1 A B (JZ相 等 转 移 )(2)若 两 个 数 都 是 无 符 号 数 CF=0 AB (JNC) CF=1 AB (JC)(3)若 两 个 数 都 是 同 符 号 数 SF=0 AB (JNS) SF=1 AB (JS)(4)若 两 个 数 是 任 意 带 符 号 数 SF OF=0 AB (JNL) SF OF=1 A源 ,即 5424例 3.27: 比 较 24与 54的 大 小 24-54=24+(-54) 00011000 + 11001010 11100010 OF=0,SF=1,则 目 的 源 ,即 24时 转 移 CF=0JAE/JNB =时 转 移 CF=0或 ZF=1JB/JNAE 时 转 移 CF=1JBE/JNA 时 转 移 SF=OFJGE/JNL =时 转 移 SF=OF或 ZF=1JL/JNGE 时 转 移 SF!=OFJLE/JNG =时 转 移 ZF=1或 SF!=OF条 件 转 移 指 令 (一 )第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分88 JC CF=1 JNO OF=0JNC CF=0 JNP/JPO PF=0JE/JZ ZF=1 JP/JPE PF=1JNE/JNZ ZF=0 JNS SF=0JO OF=1 JS SF=1条 件 转 移 指 令 (二 )所 有 的 条 件 转 移 指 令 都 只 能 进 行 段 内 的 短 转 移第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分89 子 程 序 调 用 指 令CALL 过 程 名 过 程 调 用 ,处 于 当 前 代 码 段 的 过 程 称 作 近 过 程 ,用 NEAR表 示 ; 处 于 其 他 代 码 段 的 过 程 叫 远 过 程 ,用 FAR表 示 。 CALL 1234H ; 段 内 直 接 调 用 CALL BX ; 段 内 间 接 调 用 CALL 3000H: 0005H ; 段 间 直 接 调 用 CALL DWORD PTRDI ; 段 间 间 接 调 用第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分90 段 内 直 接 调 用 CALL near_proc(SP)(SP)-2,(SP)+1:(SP)(IP),(IP)(IP)+disp段 内 间 接 调 用 CALL reg16/mem16(SP)(SP)-2,(SP)+1:(SP)(IP),(IP)(reg16/mem16)段 间 直 接 调 用 CALL far_proc(SP)(SP)-2,(SP)+1:(SP)(CS),(CS)SEG far_proc(SP)(SP)-2,(SP)+1:(SP)(IP),(IP)offset far_proc段 间 间 接 调 用 CALL mem32(SP)(SP)-2,(SP)+1:(SP)(CS),(CS)(mem32+2)(SP)(SP)-2,(SP)+1:(SP)(IP),(IP)(mem32)第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分91 返 回 指 令 RET ; 段 内 返 回 ,从 栈 顶 弹 出 一 个 字 送 到 IP,栈 顶 指 针 SP+2 RETF; 段 间 返 回 ,从 栈 顶 弹 出 第 一 个 字 送 到 IP,SP+2,再 弹 出 ; 一 个 字 送 到 CS,SP再 加 2, RETF使 SP加 上 4 RET disp16 ; 与 RET相 同 ,SP+2后 ,再 使 SP加 上 disp16位 移 量 RETF disp16; 与 RETF相 同 ,SP+4后 ,再 使 SP加 上 disp16位 移 量例 : 若 SP=FFF2H,执 行 RETF 0004后 ,SP=? SP=FFF2H+4+4=FFFAH,同 时 CS和 IP有 了 新 值编 译 程 序 自 动 匹 配 为 段 内 或 段 间 的 返 回第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分92 例 3.38:1000:0020 CALL FAR PTR PRO11000:0025 INT 3 2000:0100 PRO1: 指 令 1 指 令 2 RET 9A000100201000:0020CS:IP M2000:0100 指 令 1指 令 2 RET CALL 2000:01001000:0025 CC 第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分93 子 程 序 嵌 套 时 断 点 地 址 在 堆 栈 中 的 情 形第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月 22日 0时 18分94 循 环 控 制 指 令 LOOP 短 标 号 将 CX的 内 容 减 1,如 果 不 为 0,则 循 环 到 短 标 号 处 LOOPE/LOOPZ 短 标 号 将 CX的 内 容 减 1,如 果 结 果 不 为 0,且 ZF 1,则 循 环 至 短 标 号 处 。 LOOPNE/LOOPNZ 短 标 号 不 相 等 或 不 等 于 0循 环 ,将 CX的 内 容 减 1,如 果 结 果 不 为 0,且 ZF 0,则 循 环 至 短 标 号 处 。 JCXZ 短 标 号 若 CX=0转 移第 三 章 8086微 处 理 器 的 指 令 系 统 计 算 机 原 理 2021年 5月
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!