课内实验报告微机原理

课内实验报告微机原理

ID:42212003

大小:236.10 KB

页数:8页

时间:2019-09-10

课内实验报告微机原理_第1页
课内实验报告微机原理_第2页
课内实验报告微机原理_第3页
课内实验报告微机原理_第4页
课内实验报告微机原理_第5页
资源描述:

《课内实验报告微机原理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、西安邮电大学Gt算机学院)课内实豔报告实验名称:循环程序设计实验专业名称:软件班级:软件学生姓名:学号(8位)指导教师:实验日期:2015年11月9日一.实验目的及实验环境1、掌握循环程序的设计方法。2、掌握比较指令、转移指令和循环指令的使用方法。3、进一步掌握调试工具的使用方法。二.实验内容计算1+2+……n=?,其中n通过键盘输入。要求在屏幕上提供如下信息:Pleaseinputanumber(1-627):;出现此信息后通过键盘输入一个小于628的无符号整数1+2+.....n=sum;其中n为用八输入的数,sum为所求的累加和程序运行情况如下图所示(说明:图中所运行程序允许累加

2、和不大于一个32位二进制数所能表示的范围)。1、编程指导(1)键盘输入的十进制数如368在计算机中是以33H,36H,38H形式存放的,如何将它们转换为一个二进制数MS-DOS方式-nllxl8x12^J□淹

3、鱼

4、田

5、創面Aj阪D:exbook>ex24*n5值廖盪烈明.计算:结果在屏幕上显示.按怪童磋继续执行程库诸输入n值(最大的一个数■减范由为0001-4000^:30001+2+3+晋3000的和为二4501500D:exbook>I011I0000B,以便对累加循环的循环次数进行控制是本程序首先要解决的问题。将键盘输入的十进制数转换为二进制数的程序清单如下:DATASEGM

6、ENTMOVMOVCH,0SI,OFFSETINFIDB"Pleaseinputanumber(0-65535):$°IBUF+2IBUFDB7,0,6DUP(?)MOVAX,0DATAENDSAGAIN:MOVDX,10CODESEGMENTMULDXASSUMECS:CODE,DS:DATAANDBYTEPTR[SI],START:MOVAX,DATAOFHMOVDS,AXADDAL,[SI]MOVDX,OFFSETINFIADCAH,0MOVAH,09HINCSIINT21HLOOPAGAINMOVDX,OFFSETMOVAH,4CHIBUFINT21HMOVAH,OAHCODE

7、ENDSINT21HENDSTARTMOVCL,IBUF+1本程序功能:从键盘接收一个无符号十进制整数(小于65535),将其转换为二进制数,转换结果存在AX寄存器小。(2)累加结杲为一个16位的二进制数,为了显示结果,必需把它们转换为十进制数。将二进制数转换为I•进制数的程序清单如下:DATASEGMENTDATAENDSOBUFDB6DUP(?)CODESEGMENTSTART:MOVAX,DATAMOVDS,AXMOVBX,OFFSETOBUF+5MOVBYTEPTR[BX],$MOVCX,10;做(DX):(AX)/10运算LOOP1:MOVDX,0;被除数高16位清0DIVe

8、xADDDL,30H;将DL中的一位十进制数转换为ASCII码MOV[BX],DLORAX,AXJNZLOOP1;判断商是否为(),不为()继续MOVDX,BXMOVAH,09HINT21H;显示转换得到的十进制数MOVAH,4CHINT21HCODEENDSENDSTART本程序功能:将存储在AX寄存器中的二进制数转换为十进制数并显示。2、流程图及程序框架(I)流程图(2)程序框架DATASEGMENTINFIDB"Pleaseinputanumber(0-65535):$“IBUFDB7,0,6DUP(?)OBUFDB6DUP(?)DATAENDS接收从键盘输入的十进制数,并将Jt

9、转换为二进制数(存AX寄存器)的指令序列CODESEGMENTSTART:MOVAX,DATAMOVDS,AXMOVCX,AXMOVAX,0MOVBX,1LOOP2:ADDAX,BXINCBXLOOPLOOP2ASSUMECS:CODE,DS:DATA将AX中存放的二进制数转换为十进制数并显示的指令序列CODEENDSENDSTART1、问题分析比如使用功能号为01H的用于实现单个字符输入的DOS功能调用接收从键盘输入的两个十进制数8和6,这时计算机内部得到的是这两个数的ASCII码值38H和36H。由于数字0〜9的ASCII码值与其代表的数值Z间相差30H,因此将其减去30H即可得到

10、以非压缩型BCD数形式表示的十进制数08H和06H,使用ADD指令对它们进行相加后结果为0EH(00001110B),显然需要用汁压缩型BCD数加法调整指令对ADD的运算结果进行调整,调整后得到两个*压缩型BCD数01H和04H,将它们分别加上30H后变为其对应的ASCII码31H(1的ASCII码)和34H(4的ASCII码),然后调用功能号为02H用于单个字符输出的DOS功能调用将它们显示岀来。综上所述,需要考虑以下问题。(1)从键盘输入一

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。