汇编实验4.docx

上传人:b****0 文档编号:17478788 上传时间:2023-07-26 格式:DOCX 页数:11 大小:483.37KB
下载 相关 举报
汇编实验4.docx_第1页
第1页 / 共11页
汇编实验4.docx_第2页
第2页 / 共11页
汇编实验4.docx_第3页
第3页 / 共11页
汇编实验4.docx_第4页
第4页 / 共11页
汇编实验4.docx_第5页
第5页 / 共11页
汇编实验4.docx_第6页
第6页 / 共11页
汇编实验4.docx_第7页
第7页 / 共11页
汇编实验4.docx_第8页
第8页 / 共11页
汇编实验4.docx_第9页
第9页 / 共11页
汇编实验4.docx_第10页
第10页 / 共11页
汇编实验4.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

汇编实验4.docx

《汇编实验4.docx》由会员分享,可在线阅读,更多相关《汇编实验4.docx(11页珍藏版)》请在冰点文库上搜索。

汇编实验4.docx

汇编实验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调试程序。

观察构成分支、循环条件的各标志的变化情况及相关寄存器内容。

更改数据区中的数据,考察程序的正确性。

五、实验实习结果分析和(或)源程序调试过程

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2