微机原理实验-二进制到ASCII码转换 下载本文

内容发布更新时间 : 2024/10/19 10:23:59星期一 下面是文章的全部内容请认真阅读。

广州大学学生实验报告 开课学院及实验室:实验中心 电子信息楼 2013 年 11 月4日

学 院 机电 年级、专业、班 微机原理实验 姓名 学号 成绩 指导 教师 实验课程名称 实验项目名称 一、实验目的 二进制到ASCII码转换 二、实验原理(实验相关基础知识、理论) 三、实验过程原始记录(程序界面、代码、设计调试过程描述等) 四、实验结果及总结 一、实验目的 1. 了解BCD值和ASCII值的区别。 2. 了解如何将BCD值转换成ASCII值。 3. 了解如何查表进行数值转换及快速计算。 二、实验原理(实验相关基础知识、理论) ASCII码ASCII码是美国国家信息交换标准字符码(American Standard Code for Information Interchange )的字头缩码。早期的ASCII码采用7位二进制代码对字符进行编码。它包括32个通用控制字符,10个阿拉伯数字,52个英文大,小字母,34个专用符号共128个。7位ASCII代码在最高位添加一个“0”组成8位代码,正好占一个字节,在存储和传输信息中,最高位常作为奇偶校验位使用。 三、实验用设备仪器及材料: 计算机,伟福Lab2000P仿真实验箱。 四、实验过程(代码、设计调试过程描述等) 内容:将 AX 拆为二个 ASCII 码, 并存入 Result 开始的二个单元 data segment Result db 2 dup(?) ASCIITab: db \定义数字对应的ASCII表 data ends code segment assume cs:code, ds:data start proc near mov ax, data mov ds, ax mov ax, 1ah mov bl, al shr bl, 4 给出要转换数BCD码 mov bh, 0 mov ah, byte ptr ASCIITab[bx] 取出BCD码高四位 mov Result, ah and al, 0fh 查表得到ASCII码 mov bl,al mov ah, byte ptr ASCIITab[bx] mov Result+1,ah 保存高位ASCII码 jmp $ 取出BCD码低四位 code ends end start 查表得到ASCII码 保存低位ASCII码 结束 五、实验步骤 (1) 进入Wave6000,输入程序并检查,保存程序。 (2) “编译”程序。 (3) 在指令“jmp $”处设断点。 (4) “全速执行”程序。 (5) 在“数据窗口(MEMOREY)”查看0400H、0401H两个单元的内容,记录并分析实验结果。 六、实验结果及总结 实验结果如下图所示: 给出的二进制数为:1aH ,“1”对应的ASCII值为31H ,“a”对应的ASCII值为41H,即0400H显示31H ,0401H显示41H 。