




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学 号 0121111360126 课 程 设 计 题 目 代码转换程序设计 学 院 自动化学院 专 业 自动化 班 级 姓 名 指导教师 周申培 2014 年 1 月 7 日 武汉理工大学 微机原理 课程设计说明书 课程设计任务书 学生姓名 专业班级 指导教师 周申培 工作单位 自动化学院 题 目 代码转换程序设计 要求完成的主要任务 包括课程设计工作量及其技术要求 以及说明书撰 写等具体要求 1 用汇编语言编写一个字母和数制之间的转换程序 设计出友 好的交互界面 2 实现十六进制数和二进制数之间相互转换 实现十进制和二 进制的相互转换 十进制转换为十六进制 3 撰写课程设计说明书 内容包括 摘要 目录 正文 参考 文献 附录 程序清单 正文部分包括 设计任务及要求 方案比 较及论证 软件设计说明 软件思想 流程 源程序设计及说明等 程序调试说明和结果分析 课程设计收获及心得体会 时间安排 12 月 30 日 12 月 31 日 查阅资料及方案设计 1 月 2 日 1 月 3 日 编程 1 月 6 日 调试程序 1 月 7 日 1 月 8 日 撰写课程设计报告 指导教师签名 年 月 日 系主任 或责任教师 签名 年 月 日 武汉理工大学 微机原理 课程设计说明书 目录 摘要 I 1 原理分析 1 2 程序设计流程 3 2 1 程序流程图 3 2 2 设计思路 4 3 程序设计 5 3 1 堆栈段数据段程序设计 5 3 2 主程序设计 5 3 3 输入二进制程序 7 3 4 输入十进制程序 8 3 5 输入十六进制程序 8 3 6 输出二进制程序 9 3 7 输出十进制程序 9 3 8 输出十六进制程序 11 3 9 回车键确定程序 11 3 10 报警程序 12 4 运行结果 13 5 心得体会 15 参考文献 16 武汉理工大学 微机原理与接口技术 课程设计说明书 I 摘要 日常生活与实际应用中 往往需要计算机处理的信息是多种多样的 如各 种进位制的数据 不同语种的文字符号和各种图像信息等 但在计算机内部采 用的是二进制计数制 这种进制表达方法对于人们研究分析是不那么方便的 本次课程设计将通过所学的微机原理知识理论 用汇编语言编写程序 实现二 进制 十进制与十六进制之间的相互转换 并在 MF2KP 软件上演示 关键词 汇编程序 进制转换 MF2KP 武汉理工大学 微机原理与接口技术 课程设计说明书 0 1 原理分析 进位计数制是人们利用符号来计数的方法 一种进位计数制包含一组数码 符号和两个基本因素 数码是用不同的数字符号来表示一种数制的数值 这些 数字符号称为 数码 基是数制所使用的数码个数称为 基 权是某数制每一 位所具有的值称为 权 十六进制 Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F 十进制 Decimal 0 1 2 3 4 5 6 7 8 9 八进制 Octal 0 1 2 3 4 5 6 7 二进制 Binary 0 1 在 计 算 机 内 部 采 用 二 进 制 计 数 制 但 在 实 际 应 用 中 需 要 计 算 机 处 理 的 信 息 是 多 种 多 样 的 如 各 种 进 位 制 的 数 据 不 同 语 种 的 文 字 符 号 和 各 种 图 像 信 息 等 但 在 计 算 机 中 采 用 的 是 二 进 制 计 数 制 本 次 课 程 设 计 通 过 所 学 的 微 机 原 理 用 汇 编 语 言 编 写 程 序 实 现 二 进 制 转 换 成 十 进 制 或 十 六 进 制 十 进 制 转 换 成 二 进 制 或 十 六 进 制 十 六 进 制 转 换 成 二 进 制 或 十 进 制 十进制转换为二进制整数部分的方法叫做除 2 取余法 每次将整数部分除 以 2 余数为该位权上的数 而商继续除以 2 余数又为上一个位权上的数 这 个步骤一直持续下去 直到商为 0 为止 最后读数时候 从最后一个余数读起 一直到最前面的一个余数 小数部分的方法叫乘 2 取整法 就是将小数部分乘 以 2 然后取整数部分 剩下的小数部分继续乘以 2 然后取整数部分 剩下的 小数部分又乘以 2 一直取到小数部分为零为止 如果永远不能为零 就同十 进制数的四舍五入一样 按照要求保留多少位小数时 就根据后面一位是 0 还 是 1 取舍 如果是零 舍掉 如果是 1 向入一位 换句话说就是 0 舍 1 入 读数要从前面的整数读到后面的整数 二进制转换为十进制不分整数和小数部分 方法 按权相加法 是将二进 制每位上的数乘以权 然后相加之和即是十进制数 二进制转换为十六进制用取四合一法 即从二进制的小数点为分界点 向 左 向右 每四位取成一位 接着将这四位二进制按权相加 得到的数就是一 位十六位二进制数 然后 按顺序进行排列 小数点的位置不变 得到的数字 武汉理工大学 微机原理与接口技术 课程设计说明书 1 就是我们所求的十六进制数 如果向左 向右 取四位后 取到最高 最低 位时候 如果无法凑足四位 可以在小数点最左边 最右边 即整数的最高位 最低位 添 0 凑足四位 将十六进制转换为二进制 取一分四法 即将一位十六进制数分解成四位 二进制数 用四位二进制按权相加去凑这位十六进制数 小数点位置照旧 十进制转换成十六进制的方法与十进制转换成二进制的方法相同 但不同 的是每次除以 16 武汉理工大学 微机原理与接口技术 课程设计说明书 2 2 程序设计流程 2 1 程序流程图 Y N 输入数字是 否小于 7 DONE 从键盘输入数字 重新显示 MENU 开始 显示 MENU 调用报警程序 SOUNDF 发声报警 显示 error 武汉理工大学 微机原理与接口技术 课程设计说明书 3 结束 2 2 设计思路 首 先 对 原 理 进 行 分 析 了 解 不 同 进 制 数 之 间 是 如 何 进 行 转 换 充 分 认 识 汇 编 语 言 的 指 令 系 统 掌 握 各 个 汇 编 指 令 的 功 能 及 用 法 了 解 各 种 程 序 结 构 顺 序 分 支 循 环 和 子 程 序 的 特 点 首 先 定 义 堆 栈 段 再 定 义 数 据 段 在 数 据 段 中 输 入 MENU 中 要 显 示 的 内 容 再 建 一 个 表 TABLE TABLE 中 的 内 容 为 L0 L1 L2 L3 L4 L5 L6 把 然 后 根 据 题 目 要 求 设 计 简 单 的 程 序 流 程 图 再 根 据 流 程 图 设 计 出 每 一 模 块 的 汇 编 语 言 程 序 然 后 再 通 过 调 用 跳 转 转 移 等 方 法 将 各 个 子 程 序 连 接 在 一 起 这 样 依 据 题 目 要 求 的 汇 编 程 序 就 初 步 完 成 了 本 次 用 到 的 软 件 是 MF2KP 首 先 在 MF2KP 环 境 下 输 入 设 计 的 汇 编 程 序 然 后 编 译 连 接 DONE 数字为 1 调用 子程序 L1 若数字为 0 则退出 数字为 2 调用 子程序 L2 数字为 3 调用 子程序 L3 数字为 4 调用 子程序 L4 数字为 5 调用 子程序 L5 数字为 6 调用 子程序 L6 输入 二进制数 输入 二进制数 输入 十进制数 输入 十进制数 输入 16 进制数 输入 16 进制数 转换输出 十进制数 转换输出 16 进制数 转换输出 二进制数 转换输出 16 进制数 转换输出 二进制数 转换输出 十进制数 武汉理工大学 微机原理与接口技术 课程设计说明书 4 运 行 3 程序设计 3 1 堆栈段数据段程序设计 首先定义堆栈段的程序 程序如下所示 STACK SEGMENT STACK DB 200 DUP STACK ENDS 在数据段中有后面程序要用到的数据MENU mess1到mess6和error 还有数 据表TABLE 定义数据段程序如下所示 DATA SEGMENT MENU DB Please Input your Choice 0dh 0ah db 1 Bin2 Dec10 0dh 0ah db 2 Bin2 Hex16 0dh 0ah db 3 Dec10 Bin2 0dh 0ah db 4 Dec10 Hex16 0dh 0ah db 5 Hex16 Bin2 0dh 0ah db 6 Hex16 Dec10 0dh 0ah db 0 Exit mess1 db Please input a Bin2 number mess2 db Please input a Dec10 number mess3 db Please input a Hex16 number mess4 db Output Bin is mess5 db Output Dec is mess6 db Output Hex is error db error please input your choice again TABLE DW L0 L1 L2 L3 L4 L5 L6 DATA ENDS 3 2 主程序设计 在 定 义 完 堆 栈 段 和 数 据 段 后 就 是 主 程 序 的 设 计 首 先 对 寄 存 器 AX 清 零 压 栈 读 取 数 据 在 屏 幕 上 显 示 字 符 串 MENU 根 据 MENU 的 提 示 从 键 盘 输 入 一 字 符 串 将 该 字 符 串 减 30H 后 于 7 进 行 比 较 若 小 于 7 则 跳 转 到 DONE 程 序 否 则 调 用 报 警 程 序 发 出 声 音 报 警 并 提 示 error 在 DONE 程 序 中 若 输 入 的 数 字 为 1 则 武汉理工大学 微机原理与接口技术 课程设计说明书 5 立 即 跳 转 到 L1 进 行 二 进 制 转 化 为 十 进 制 若 输 入 的 数 字 为 2 则 跳 转 到 L2 进 行 二 进 制 转 换 为 十 六 进 制 若 为 3 则 跳 转 到 L3 进 行 十 进 制 转 换 为 二 进 制 若 为 4 则 跳 转 到 L4 进 行 十 进 制 转 换 为 十 六 进 制 若 为 5 则 跳 转 到 L5 进 行 十 六 进 制 转 换 为 二 进 制 若 为 6 则 跳 转 到 L6 进 行 十 六 进 制 转 换 为 十 进 制 如 果 为 零 则 退 出 程 序 结 束 主 程 序 的 设 计 如 下 所 示 CODE SEGMENT MAIN PROC FAR ASSUME CS CODE DS DATA SS STACK START PUSH DS XOR AX AX 清零 PUSH AX MOV AX DATA MOV DS AX LKS LEA DX MENU 取存储区首址 MOV AH 09H 显示字符串 INT 21H MOV AH 01H 从键盘输入字符串 INT 21H SUB AL 30H CMP AL 07h JB DONE AL小于07H跳转到DONE CALL SOUNDF 调用报警程序 LEA DX error MOV AH 09H 显示字符串error INT 21H JMP MAIN DONE LEA SI TABLE MOV AH 0 SHL AX 1 ADD SI AX JMP SI 二进制转换成十进制 L1 CALL INBIN 调用输入二进制程序 CALL CRLF CALL OUTDEC 调用输出十进制程序 CALL CRLF JMP LKS 直接跳转到LKS 二进制转换成十六进制 L2 CALL INBIN 调用输入二进制程序 武汉理工大学 微机原理与接口技术 课程设计说明书 6 CALL CRLF CALL OUTHEX 调用输出十六进制程序 CALL CRLF JMP LKS 十进制转换成二进制 L3 CALL INDEC 调用输入十进制程序 CALL CRLF CALL OUTBIN 调用输出二进制程序 CALL CRLF JMP LKS 十进制转换成十六进制 L4 CALL INDEC 调用输入十进制程序 CALL CRLF CALL OUTHEX 调用输出十六进制程序 CALL CRLF JMP LKS 十六进制转换成二进制 L5 CALL INHEX 调用输入十六进制程序 CALL CRLF CALL OUTBIN 调用输出二进制程序 CALL CRLF JMP LKS 十六进制转换成十进制 L6 CALL INHEX 调用输入十六进制程序 CALL CRLF CALL OUTDEC 调用输出十进制程序 CALL CRLF JMP LKS L0 RET MAIN ENDP CODE ENDS 代码段结束 END START 程序结束 3 3 输入二进制程序 二进制数从键盘键入之后只需要直接完成从键盘向内存的循环输入即可 其代码如下 INBIN PROC LEA DX MESS1 MOV AH 09H 显示字符串MESS1 INT 21H MOV BX 0 INBL1 MOV AH 01H 从键盘输入字符 武汉理工大学 微机原理与接口技术 课程设计说明书 7 INT 21H CMP AL 0DH 比较输入的是否是回车键 JZ INBEXIT 等于零 回车键 跳转到INBEXIT AND AL 01H 保留低四位 SHL BX 1 逻辑左移一位 OR BL AL JMP INBL1 INBEXIT RET INBIN ENDP 3 4 输入十进制程序 十进制数从键盘键入之后需要进行乘法运算之后转换成二进制数 再完成 从键盘向内存的循环输入 其代码如下 INDEC PROC LEA DX MESS2 MOV AH 09H 显示字符串MESS2 INT 21H MOV BX 0 INDL1 MOV AH 01H 从键盘输入字符 INT 21H CMP AL 0DH 比较输入的是否是回车键 JZ INDEXIT 等于零 回车键 跳转到INDEXIT SUB AL 30H CMP AL 9 JBE INDL2 小等于 9跳转到INDL2 SUB AL 7 INDL2 MOV AH 0 XCHG AX BX AX BX交换 MOV CX 10 MUL CX AX乘以CX ADD BX AX JMP INDL1 INDEXIT RET INDEC ENDP 3 5 输入十六进制程序 十六进制数从键盘键入之后需要进行从 1 位变为 4 位的移位运算转换成二 进制数 再完成从键盘向内存的循环输入 其代码如下 INHEX PROC 武汉理工大学 微机原理与接口技术 课程设计说明书 8 LEA DX MESS3 MOV AH 09H 显示字符串MESS3 INT 21H MOV BX 0 IHL1 MOV AH 01H 从键盘输入字符 INT 21H CMP AL 0DH 比较输入的是否是回车键 JZ IHEXIT 等于零 回车键 跳转到IHEXIT SUB AL 30H CMP AL 9 JBE IHL2 如果AL小等于9跳转到IHL2 SUB AL 7 IHL2 MOV CL 4 SHL BX CL BX逻辑左移CL 位 OR BL AL JMP IHL1 IHEXIT RET INHEX ENDP 3 6 输出二进制程序 将内存中存储的 2 进制数输出为 2 进制数 只需要将内存中所存储的码循 环输出显示出来即可 其代码如下 OUTBIN PROC LEA DX MESS4 MOV AH 09H 显示字符串MESS4 INT 21H MOV CX 16 OBL1 ROL BX 1 BX循环左移一位 MOV DL BL AND DL 01H OR DL 30H MOV AH 02H 字符输出 INT 21H LOOP OBL1 循环OBL1 RET OUTBIN ENDP 3 7 输出十进制程序 将内存中存储的 2 进制数输出为 10 进制数 需要将内存中的码进行除法运 武汉理工大学 微机原理与接口技术 课程设计说明书 9 算 再循环输出显示 其代码如下 OUTDEC PROC LEA DX MESS5 MOV AH 09H 显示字符串MESS5 INT 21H PUSH BX 压栈 MOV AX BX MOV DX 0 MOV CX 10000 DIV CX AX除以CX MOV BX DX MOV DL AL OR DL 30H MOV AH 02H INT 21H MOV AX BX MOV DX 0 MOV CX 1000 DIV CX MOV BX DX MOV DL AL OR DL 30H MOV AH 02H INT 21H MOV AX BX MOV DX 0 MOV CX 100 DIV CX MOV BX DX MOV DL AL OR DL 30H MOV AH 02H INT 21H MOV AX BX MOV CL 10 DIV CL MOV BL AH MOV DL AL OR DL 30H MOV AH 02H INT 21H MOV DL BL OR DL 30H INT 21H 武汉理工大学 微机原理与接口技术 课程设计说明书 10 POP BX RET OUTDEC ENDP 武汉理工大学 微机原理与接口技术 课程设计说明书 11 3 8 输出十六进制程序 将内存中存储的 2 进制数输出为 16 进制数 需要将内存中的码进行移位运 算 将 4 位 2 进制数合并为 1 位 16 进制数 再循环输出显示 其代码如下 OUTHEX PROC LEA DX MESS6 MOV AH 09H 显示字符串MESS6 INT 21H MOV CX 4 OHL1 ROL BX 1 循环左移 ROL BX 1 ROL BX 1 ROL BX 1 MOV DL BL AND DL 0FH 保留低四位 ADD DL 30H CMP DL 39H JBE OHL2 ADD DL 7 OHL2 MOV AH 02H INT 21H LOOP OHL1 RET OUTHEX ENDP 3 9 回车键确定程序 当输入指定数制的数之后 需要依靠此程序来确定输入完成并执行转换过 程并输出 其代码如下 CRLF PROC MOV AH 02H 输出字符 MOV DL 0DH 确定 回车键 INT 21H MOV DL 0AH 键盘缓冲输入 INT 21H RET CRLF ENDP 武汉理工大学 微机原理与接口技术 课程设计说明书 12 3 10 报警程序 当输入的数不在所选范围 即数字 0 6 时 会启动此程序进行报警并恢 复到出错前的状况 其代码如下 SOUNDF PROC NEAR IN AL 61H 取得设备控制寄存器开关量 MOV BL AL MOV AL 0B6H OUT 43H AL 写入方式控制字 MOV AX 1000H 输出频率1000Hz OUT 42H AL 先写入低 8位 MOV AL AH OUT 42H AL 后写入高 8位 OR AL 3 接通扬声器 OUT 61H AL 设置设备控制寄存器开关量 MOV DX 2500 LOOP1 DEC DX MOV CX 65535 LOOP2 LOOP LOOP2 循环 LOOP2 CMP DX 0H JNZ LOOP1 DX不等于0跳转到LOOP1 MOV AL AH MOV AL BL OUT 61H AL 恢复原状 RET SOUNDF ENDP 武汉理工大学 微机原理与接口技术 课程设计说明书 13 4 运行结果 在 微 机 原 理 实 验 平 台 集 成 开 发 环 境 MF2KP 上 输 入 该 汇 编 程 序 点 击 16 位 编 码 系 统 的 汇 编 源 程 序 再 点 击 连 接 目 标 码 再 点 运 行 程 序 这 时 弹 出 DOS 窗 口 窗 口 如 图 4 1 所 示 图 4 1 初 始 窗 口 首 先 进 行 二 进 制 转 换 成 十 进 制 在 窗 口 中 输 入 1 这 时 窗 口 中 提 示 Please input a Bin number 输 入 二 进 制 数 11010110 运 行 显 示 结 果 如 图 4 2 所 示 图 4 2 二 进 制 转 十 进 制 要 进 行 二 进 制 转 换 成 十 六 进 制 时 在 窗 口 中 输 入 2 这 时 窗 口 中 提 示 Please input a Bin number 输 入 二 进 制 数 11010110 运 行 显 示 结 果 如 图 4 3 所 示 图 4 3 二 进 制 转 十 六 进 制 要 进 行 十 进 制 转 换 成 二 进 制 时 在 窗 口 中 输 入 3 这 时 窗 口 中 提 示 Please input a Dec number 输 入 十 进 制 数 113 运 行 显 示 结 果 如 图 4 4 所 示 图 4 4 十 进 制 转 二 进 制 武汉理工大学 微机原理与接口技术 课程设计说明书 14 要 进 行 十 进 制 转 换 成 十 六 进 制 时 在 窗 口 中 输 入 4 这 时 窗 口 中 提 示 Please input a Dec number 输 入 十 进 制 数 159 运 行 显 示 结 果 如 图 4 5 所 示 图 4 5 十 进 制 转 十 六 进 制 要 进 行 十 六 进 制 转 换 成 二 进 制 在 窗 口 中 输 入 5 这 时 窗 口 中 提 示 Please input a Hex number 输 入 十 六 进 制 数 1D 运 行 显 示 结 果 如 图 4 6 所 示 图 4 6 十 六 进 制 转 二 进 制 要 进 行 十 六 进 制 转 换 成 十 进 制 在 窗 口 中 输 入 6 这 时 窗 口 中 提 示 Please input a Hex number 输 入 十 六 进 制 数 30 运 行 显 示 结 果 如 图 4 7 所 示 图 4 7 十 六 进 制 转 十 进 制 当 输 入 非 0 6 的 字 符 时 系 统 报 错 请 求 重 新 输 入 运 行 显 示 结 果 如 图 4 8 所 示 图 4 8 报 错 界 面 武汉理工大学 微机原理与接口技术 课程设计说明书 15 5 心得体会 回顾此次微机原理课程设计 至今感慨颇多 的确 从选题到定稿 从理 论到实践 在短短的一个星期的日子里 有苦有甜 同时也学到很多很多新的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025新项目合作协议(空白)
- 2025年乡村信息员招聘考试命题趋势分析
- 护理预录面试题及答案解析
- 2025年植物素描考试题目及答案
- 护理管理大一试题及答案
- 2025年大数据技术专家认证考试模拟题集与答案
- 2025年初级财务分析师面试宝典及预测题
- 2025年传统染织技艺认证考试指南及实操教程
- 2025年从基础到进阶辐射防护工程师面试全程指导及模拟题解答
- 2025年中国华能集团海外子公司面试要点及预测题
- GB/T 20863.1-2021起重机分级第1部分:总则
- GB/T 15171-1994软包装件密封性能试验方法
- 中药调剂技术-课件
- 水轮发电机讲义课件
- 姜黄素合成路线
- 高中通用技术会考试题及详解
- 安全教育:不私自离开幼儿园
- 泛光施工招标文件
- 刑法各论(第四版全书电子教案完整版ppt整套教学课件最全教学教程)
- 第7章:方差分析课件
- 国家职业技能标准 (2021年版) 6-18-01-07 多工序数控机床操作调整工
评论
0/150
提交评论