《微型计算机原理与接口技术》第4章汇编语言程序设计2伪指令、功

上传人:san****019 文档编号:22778086 上传时间:2021-05-31 格式:PPT 页数:37 大小:331.81KB
返回 下载 相关 举报
《微型计算机原理与接口技术》第4章汇编语言程序设计2伪指令、功_第1页
第1页 / 共37页
《微型计算机原理与接口技术》第4章汇编语言程序设计2伪指令、功_第2页
第2页 / 共37页
《微型计算机原理与接口技术》第4章汇编语言程序设计2伪指令、功_第3页
第3页 / 共37页
点击查看更多>>
资源描述
1 DOS系 统 功 能 调 用 都 是 用 软 中 断 指 令 INT 21H来 实现 的 。 它 具 有 90多 个 子 功 能 的 中 断 服 务 程 序 , 它 们 通 过功 能 号 AH来 区 分 。 它 不 依 赖 于 具 体 的 硬 件 系 统 。 2 DOS系 统 功 能 调 用 都 是 用 软 中 断 指 令 INT 21H来 实现 的 。 它 具 有 90多 个 子 功 能 的 中 断 服 务 程 序 , 它 们 通 过 功能 号 AH来 区 分 。 它 不 依 赖 于 具 体 的 硬 件 系 统 。 DOS是 IBM PC的 操 作 系 统 , 负 责 管 理 系 统 的 所 有 资 源 ,协 调 微 机 的 操 作 。 其 中 包 括 大 量 的 可 供 用 户 调 用 的 服 务程 序 。 DOS的 功 能 调 用 不 依 赖 具 体 的 硬 件 系 统 。 3 定 义 : 基 本 输 入 输 出 系 统 , 是 固 化 在 EPROM中 的 一 组 实现 基 本 输 入 输 出 功 能 的 子 程 序 。功 能 : 系 统 测 试 程 序 、 初 始 化 引 导 程 序 、 一 部 分 中 断 矢 量装 入 程 序 及 外 部 设 备 的 服 务 程 序 等 。 BIOS与 系 统 硬 件 有直 接 的 依 赖 关 系 。调 用 方 法 : BIOS调 用 通 过 多 个 软 中 断 提 供 , 具 体 的 调 用方 法 为 : 4 BIOS中 的 几 个 主 要 中 断 类 型 如 下 :INT 10H屏 幕 显 示INT 13H磁 盘 操 作INT 14H串 行 口 操 作INT 16H键 盘 操 作INT 17H打 印 机 操 作 每 类 中 断 由 包 含 许 多 子 功 能 , 调 用 时 通 过 功能 号 指 定 。 BIOS功 能 调 用 说 明 见 附 录 E。 5 1.键 盘 输 入键 盘 是 最 基 本 的 输 入 设 备 , 它 包 括 三 种 类 型 : 字 符 键 、扩 展 功 能 键 、 及 其 它 组 合 使 用 的 控 制 键 。 每 一 个 字 符 键对 应 一 个 ASCII码 , 扩 展 功 能 键 产 生 一 个 动 作 , 而 控 制功 能 键 改 变 其 它 键 产 生 的 字 符 码 。键 盘 上 的 每 个 键 对 应 一 个 扫 描 码 , 扫 描 码 用 一 个 字 节 来表 示 , 低 7位 是 数 字 编 码 , 最 高 位 表 示 键 的 状 态 。 当 有 键按 下 时 , 最 高 位 等 于 0。 根 据 扫 描 码 就 能 唯 一 地 确 定 哪 个键 改 变 了 状 态 。BIOS键 盘 处 理 程 序 将 获 取 的 扫 描 码 转 换 成 相 应 的 字 符 码 。BIOS的 键 盘 中 断 类 型 码 为 16H, 送 入 AH的 功 能 号 可 以 是0、 1或 2。 6 ( 1) 只 取 出 按 键 的 字 符 码 的 扫 描 码 INT 16H执 行 结 果 : AL=字 符 码 , AH=扫 描 码( 2) 只 判 断 有 无 键 按 下 MOV AH, 1 INT 16H执 行 结 果 : 若 ZF=0, 则 AL=字 符 码 , AH=扫 描 码若 ZF=1, 则 键 盘 缓 冲 区 空 。2号 功 能 用 来 判 断 Shift Alt Num等 功 能 键 是 否 被 按 下 。 7 2.显 示 器 输 出 显 示 器 通 过 显 示 适 配 器 ( 显 卡 ) 与 PC连 接 是 计 算 机 与 显示 器 的 接 口 。 显 示 器 的 屏 幕 是 由 行 和 列 缓 存 的 二 维 系 统 。每 一 个 字 符 都 对 应 一 个 特 定 的 行 和 列 , 0行 0列 表 示 屏 幕 的左 上 角 。BIOS显 示 器 输 出 的 类 型 码 为 10H, 功 能 包 括 设 置 显 示 方 式 、设 置 光 标 大 小 和 位 置 、 设 置 调 色 板 号 、 显 示 字 符 等 。每 个 字 符 在 主 存 中 占 两 个 字 节 , 一 个 是 字 符 的 ASCII码 ,另 一 个 是 字 符 属 性 。 若 要 显 示 一 个 字 符 , 在 先 设 置 光 标 位置 , 然 后 提 供 被 显 示 字 符 的 ASCII码 ( 功 能 号 9) 及 其 属 性( 功 能 号 10) 。 8 4.3.2 DOS功 能 调 用 所 有 的 DOS系 统 功 能 调 用 都 是 利 用 软 中 断 指 令INT 21H来 实 现 的 。 就 是 在 程 序 中 要 调 用 DOS功能 的 时 候 , 只 要 一 条 INT 21H指 令 即 可 。内 存 管 理 、 存 取 时 间 、 存 取 终 端 矢 量 、 终 止程 序 等 。 9 10 11 12(预 留 的 N1个 字 节 的 存 储 单 元 ) N2N1 N1: 缓 冲 区 长 度 (最 大 键 入 字 符 数 ) N2: 实 际 键 入 的 字 符 数 (不 包 括 回 车 符 ) 用 户 定 义 的 输 入 字 符 串 的 缓 冲 区 格 式 13 14 15 16 17 3.返 回 到 DOS 一 个 实 际 可 运 行 的 用 户 程 序 在 执 行 完 后 , 应 返 回 到DOS提 示 符 状 态 下 , 用 HLT指 令 使 CPU停 止 运 行 将 无 法把 控 制 权 还 给 DOS操 作 系 统 。 为 使 程 序 正 常 退 出 并 返 回DOS, 可 以 用 DOS系 统 功 能 调 用 的 4CH号 功 能 。MOV AH, 4CHINT 21H 18 BIOS中 断 程 序 处 于 DOS功 能 调 用 和 硬 件 环 境 之 间 ,和 DOS功 能 调 用 相 比 其 优 点 是 效 率 高 , 缺 点 是 编 程 相 对 复杂 ; 和 直 接 对 硬 件 编 程 相 比 , 优 点 是 实 现 相 对 容 易 , 缺 点是 效 率 相 对 较 低 。 在 一 些 情 况 下 既 能 选 择 DOS中 断 也 能 选 择 BIOS中 断来 执 行 同 样 的 功 能 。 例 如 , 打 印 机 输 出 一 个 字 符 的 功 能 ,可 用 DOS中 断 21H的 功 能 5, 也 可 用 BIOS中 断 17H的 功 能0。 因 为 BIOS比 DOS更 靠 近 硬 件 。 一 般 情 况 下 , 尽 可 能 地使 用 DOS功 能 , 但 在 少 数 情 况 下 必 须 使 用 BIOS功 能 。 例如 , BIOS中 断 17H的 功 能 2为 读 打 印 机 状 态 , DOS就 没 有等 效 的 功 能 。 因 此 , 对 BIOS和 DOS调 用 的 选 择 原 则 是 , 无 法 使 用DOS功 能 调 用 或 DOS没 有 提 供 而 BIOS提 供 了 功 能 的 情 况下 可 以 考 虑 使 用 BIOS中 断 。BIOS中 断 调 用 与 DOS功 能 调 用 的 比 较 19 20 如 何 绘 制 程 序 框 图 (流 程 图 )? NY? 21 框 中 标 明 子 程 序 名 字 (入 口 参 数 等 ) 。 流 程 图 的 例 子 FlowChart.doc 22 YY Y NNN有 错 ?有 错 ?有 错 ? 结 束汇 编输 入 (修 改 )源 程 序连 接运 行查 错开 始 用 EDIT, NOTEPAD等 任 何 文 本 编 辑器 。 源 程 序 存 为 .ASM文 件 用 MASM宏 汇 编 程 序 进 行 汇 编 。汇 编 后 生 成 .OBJ目 标 文 件 。命 令 格 式 : MASM ; 用 LINK连 接 程 序 进 行 连 接 。连 接 后 生 成 .EXE可 执 行 文 件 。命 令 格 式 : LINK ; 用 TD、 DEBUG等 调 试 程 序 进 行 调 试 。命 令 格 式 : TD 23标 号 : 条 件 满 足?处 理 NYIFTHEN结 构 程 序 结 构 : 测 试 /比 较 指 令 (TEST/CMP) 条 件 转 移 指 令 (Jx 标 号 ) 处 理 体 标 号 : 其 他 指 令 24 程 序 结 构 : TEST/CMP指 令 Jx 标 号 1 处 理 体 P1 JMP 标 号 2标 号 1: 处 理 体 P2标 号 2: 其 他 指 令 条 件 满 足?处 理 P1 处 理 P2标 号 1:标 号 2:条 件 1 条 件 2IFTHENELSE结 构 25 标 号 1:条 件 1成 立? P1N YCASE结 构 程 序 结 构 : TEST/CMP指 令 ( 测 试 条 件 1) Jx 标 号 1 ;不 满 足 转 标 号 1 处 理 体 P1 JMP 标 号 n+1标 号 1: TEST/CMP指 令 ( 测 试 条 件 2) Jx 标 号 2 ;不 满 足 转 标 号 2 处 理 体 P2 JMP 标 号 n+1标 号 2: TEST/CMP指 令 ( 测 试 条 件 3) Jx 标 号 3 ;不 满 足 转 标 号 3 处 理 体 P3 JMP 标 号 n+1标 号 3: TEST/CMP指 令 ( 测 试 条 件 4) 标 号 n+1: ( 公 共 出 口 )条 件 2成 立?条 件 n成 立?Pn+1标 号 2:标 号 n:标 号 n+1: P2PnNN YY例 : P175, 例 4-17, 统 计 成 绩 。 流 程 图 中 虚 线 框 内 26 初 始 化循 环 体循 环 控 制继 续 循 环 ? YN 27 初 始 化 循 环 体循 环 控 制继 续 循 环 ? YN 28BSORT.ASM 29 掌 握 以 下 几 点 :调 用 子 程 序 用 CALL指 令 , 返 回 调 用 程 序 用 RET指 令 。子 程 序 允 许 嵌 套 调 用 。进 入 子 程 序 后 首 先 要 保 护 主 程 序 的 运 行 状 态 (标 志 位 )和 使 用 的 寄 存 器 内 容 (称 为 保 护 现 场 ), 退 出 子 程 序前 要 恢 复 现 场 。调 用 前 要 预 先 确 定 子 程 序 中 要 使 用 哪 些 寄 存 器 , 并定 义 入 口 参 数 和 出 口 参 数 。 参 数 传 递 可 利 用 寄 存 器 、存 储 单 元 或 堆 栈 ( 要 用 BP寻 址 ) 。 30 例 1: 二 进 制 数 (0-F)转 换 成 ASCII(0-F)的 子 程 序 。BIN2ASC PROC ;要 转 换 的 数 在 AL的 低 四 位 ;转 换 结 果 仍 在 AL中 CMP AL, 9 JA A2F ADD AL, 30H; 9, +37H DONE: RETBIN2ASC ENDP调 用 方 法 : ( 在 主 程 序 中 ) MOV AL, 0CH CALL BIN2ASC (AL中 有 0CH的 ASCII码 43H, C) 31 32 开 始求 串 长串 长 256?显 示 串 长 高 位显 示 串 长 低 位结 束 Y 警 告 : 太 长 求 串 长当 前 字 符 是 ?搜 索 CR字 符同 时 指 针 增 量返 回 N串 长 加 1存 串 长N 找 到 ? NYY初 始 化 指 针 /计 数 器 33 34 35 36 37
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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