汇编实验4.docx
- 文档编号:29665097
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:11
- 大小:483.37KB
汇编实验4.docx
《汇编实验4.docx》由会员分享,可在线阅读,更多相关《汇编实验4.docx(11页珍藏版)》请在冰豆网上搜索。
汇编实验4
学生实验实习报告册
学年学期:
2017-2018学年(春/秋)学期
课程名称:
汇编语言程序设计
学生学院:
计算机科学与技术学院
专业班级:
0
学生学号:
221
学生姓名:
方
联系电话:
17513
重庆邮电大学教务处印制
教师评阅记录表
【重要说明】
●学生提交报告册最终版时,必须包含此页,否则不予成绩评定。
●本报告册模板内容格式除确实因为填写内容改变了布局外,不得变更其余部分的格式,否则不予成绩评定。
报告是否符合考核规范
□符合□不符合
报告格式是否符合标准
□符合□不符合
报告是否完成要求内容
□是□否
报告评语:
该生能按照报告完成实验,并且比较细致认真。
报告成绩:
评阅人签名(签章)
年月日
目录
●教师评阅记录表
●实验实习综述报告
●实验实习日志
(本方框及框内文字请在最终版中删除)
【说明】
“实验实习综述报告”和“实验实习日志”至少完成一项,具体视各门课程的评分标准要求确定。
实验实习综述报告
课程名称
汇编语言程序设计
课程编号
040229
开课学院
计算机科学与技术
指导教师
董涛
实验实习地点
综合实验楼B509/B510
学生姓名
学生学号
学院专业
计算机科学与技术
所在班级
04011506
1、实验实习目的及要求
实验目的
了解微机中所使用的各类数制及编码方法。
掌握不同进制数及编码相互转换的程序设计方法,加深对数码转换的理解。
掌握将存储在内存单元中的数据以十六进制数形式、十进制数形式和二进制数形式显示在屏幕上的方法。
二、实验实习设备(环境)及要求(软硬件条件)
PC微机一台
三、实验实习项目、内容与步骤
一.实验内容
1.【示例】将5位十进制数的数字串转换为一个字的二进制数
2.编写程序将内存中一个字的数转换为十进制数的数字串显示。
3.编程将十进制的数字串转换为BCD码
4.编程将BCD码转换为二进制数
5.编程将二进制数转换为十进制数显示
实验原理及说明
6-1
计算机输入设备输入的信息一般是由ASCII码或BCD码表示的数据或字符,CPU一般均用二进制数进行计算或用其他信息进行处理,处理的结果又必须依照外设的要求变为ASCII码、或BCD码或七段显示码等。
因此,在应用软件中,各类数制的转换和代码的转换是必不可少的。
计算机与外设间的数码转换关系如图6-1所示,数码对应关系如表6-1所示。
6-1
将十进制数的数字串转换为二进制数
十进制数可以表示为:
其中
代表十进制数1、2、3、…、9、0。
上式可以转换为:
由上式可归纳出十进制数转换为二进制数的方法:
从十进制数的最高位
开始做乘10加次位的操作,依次类推,则可求出二进制数结果。
本实验要求将缓冲区中的一个5位十进制数00012的ASCII码转换成二进制数,并将转换结果以十六进制数形式000C按位显示在屏幕上。
转换过程的参考程序清单见后参考程序清单1,参考流程如图3-2所示。
修改该示例程序,从键盘任意输入5个数,实现转换并显示。
将内存中一个字的数转换为十进制数的数字串。
十六位二进制数(一个字)的值域为0~65535,最大可转换为5位十进制数。
五位十进制数可表示为:
因此,将十六位二进制数转换为5位ASCII码表示的十进制数数字串,即采用除10取余方法,分别求
,并将它们转换为ASCII码。
以字符串方式显示在屏幕上。
转换部分的参考流程参见图6-4。
假设缓冲区中存放的数是000CH转换成十进制数的数字串后,在屏幕显示“00012”。
将十进制数的数字串转换为BCD码
(1)本实验要求将一个5位十进制数的数字串“54321”的ASCII码存放在数据区中,转换为BCD码后,将转换结果分别显示在屏幕上,即显示:
01,02,03,04,05。
若输入的不是十进制数的ASCII码,则输出“FF”。
提示:
一个字节取其低4位即变为BCD码。
转换部分的实验参考流程见图6-3。
(2)修改程序,实现从键盘输入5位十进制数54321,转换BCD码后以输入顺序一致显示,即显示:
0504030201
二.实验步骤
1.画出实验流程图。
2.运行Tddebug软件,选择Edit菜单编写实验程序
3.使用Compile菜单中的Compile和Link对实验程序进行汇编、连接,生成执行文件。
4.使用Rmrun菜单中的Run运行程序,观察运行结果。
5.使用Rmrun菜单中的Debug调试程序。
观察构成分支、循环条件的各标志的变化情况及相关寄存器内容。
更改数据区中的数据,考察程序的正确性。
四、实验实习所得结果及分析
画出实验流程图
参考代码
DATASEGMENT;定义源数据段
STRINGDB'Input:
','$'
MSRDB6,?
6DUP(?
);数据段MSR用于接收从键盘输入的五位十进制数
DATAENDS
CODESEGMENT;定义代码段
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX;装载数据段寄存器
LEADX,STRING
MOVAH,09H
INT21H
MOVDX,OFFSETMSR
MOVAH,0AH
INT21H
MOVCL,[MSR+1];CL中保存实际输入的数据的位数,用于控制循环执行的次数
MOVSI,0002H
MOVBX,OFFSETMSR
NEXT1:
MOVAL,[BX+SI];开始传输数据
CMPAL,40H
JNCLK1;大于等于40H则表明输入的不是数字符,跳到LK1输入F
CLC
CMPAL,30
JCLK1;小于30H则表明输入的不是数字字符,到LK1输出字符F
SUBAL,30H
MOVCH,0
PUSHCX
MOVCL,4
MOVDH,AL
SHLDH,CL
NEXT2:
ROLDH,1
MOVDL,DH
ANDDL,01H
ADDDL,30H
MOVAH,02H
INT21H
DECCL
JNZNEXT2
POPCX
INCSI
DECCL
JNZNEXT1
LK1:
JZLK2
MOVDL,46H;输出字符F
MOVAH,02H
INT21H
INCSI
DECCL
JNZNEXT1
LK2:
MOVAX,4C00H
INT21H
CODEENDS
ENDSTART
运行Tddebug软件,选择Edit菜单编写实验程序
使用Compile菜单中的Compile和Link对实验程序进行汇编、连接,生成执行文件。
使用Rmrun菜单中的Run运行程序,观察运行结果。
使用Rmrun菜单中的Debug调试程序。
观察构成分支、循环条件的各标志的变化情况及相关寄存器内容。
更改数据区中的数据,考察程序的正确性。
五、实验实习结果分析和(或)源程序调试过程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 实验