微机实验数码转换.pdf

微机实验数码转换.pdf

ID:56777464

大小:1.23 MB

页数:12页

时间:2020-07-09

微机实验数码转换.pdf_第1页
微机实验数码转换.pdf_第2页
微机实验数码转换.pdf_第3页
微机实验数码转换.pdf_第4页
微机实验数码转换.pdf_第5页
资源描述:

《微机实验数码转换.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、微机原理实验报告实验九:数码转换电子信息工程150210班金峥15021005一、实验题目实验九——数码转换二、实验目的1、掌握计算机常用数据编码之间的相互转换方法。2、进一步熟悉DEBUG软件的使用方法。三、实验步骤1、编辑源文件,经汇编连接产生EXE文件。2、用DEBUG调试、检查、修改程序。四、实验流程图实验9——1流程图实验9——2流程图实验9——3流程图五、实验源代码实验(一)ASCⅡ码转换为非压缩型BCD码编写并调试正确的汇编语言源程序,使之实现:设从键盘输入一串十进制数,存入DATA1单元中,按回车停止键盘输入。将其转换成非压缩型(非组合型)BCD码后,再存入DAT

2、A2开始的单元中。若输入的不是十进制数,则相应单元中存放FFH。调试程序,用D命令检查执行结果。代码DATASEGMENTPARA'DATA';定义数据段DATA1DB16DUP(0);输入的ACSII码DATA2DB16DUP(0);转换后输出的BCD码DATAENDSSTACKSEGMENTPARASTACK'STACK';定义堆栈段STACK1DB256DUP(0);为堆栈准备256字节STACKENDSCODESEGMENT;定义代码段ASSUMESS:STACK,CS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEASI,DATA1;DAT

3、A1首地址存入SILEADI,DATA2;DATA2首地址存入DIMOVCX,16;循环次数STEP1:MOVAH,01H;输入字符,AL=输入的ASCII码INT21HMOV[SI],ALCMPAL,0DH;与回车作比较JESTEP3;若为回车则跳转到STEP3CMPAL,'0';比较AL与0的大小JBSTEP2;若AL<0,跳转到STEP2CMPAL,'9';比较AL与9的大小JASTEP2;若AL>9,跳转到STEP2SUBAL,30H;将输入字符的ASCII码转换为十进制数MOV[DI],AL;将结果存入DATA2中INCSIINCDI;为下一次数码转换做准备LOOPST

4、EP1;跳转到STEP1,进行循环STEP2:MOV[DI],0FFH;若输入的不是十进制数,相应单元存入0FFHINCSIINCDILOOPSTEP1;跳转到STEP1,进行循环STEP3:MOVAH,4CH;带返回码的结束INT21HCODEENDSENDSTART代码截图实验(二)BCD码转换为二进制数编写并调试正确的汇编语言源程序,使之将一个16位存储单元中存放的4位BCD码DATA1,转换成二进制数存入DATA2字单元中调试程序,用D命令检查执行结果。代码DATASEGMENTPARA'DATA';定义数据段DATA1DW2497H;DATA1中存放的4位BCD码DAT

5、A2DW0;转换后输出的十六进制码DATAENDSCODESEGMENT;定义代码段ASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCL,4;4位BCD码MOVCH,3;循环次数3次MOVSI,0AH;设置乘数10XORBX,BX;累加数BX清0MOVAX,DATA1;取DATA1中的十进制数LP0:ROLAX,CL;将AX左移4位,进行取数MOVDI,AX;保存当前AX数值ANDAX,0FH;保留低位ADDAX,BX;进行累加MULSI;AX乘10MOVBX,AX;将AX存入BX,以便下次循环进行累加MOVAX,DI;将AX重置回

6、之前的数值DECCH;循环次数减1JNZLP0ROLAX,CL;此处开始为取个位数,但不用乘10,所以直接累加ANDAX,0FHADDAX,BXMOVDATA2,AXMOVAH,4CHINT21HENDSENDSTART代码截图实验(三)十六进制数转换为ASCⅡ码编写并调试正确的汇编语言源程序,使之将内存DATA1字单元中存放的4位十六进制数,转换为ASCⅡ码后分别存入DATA2为起始地址的4个单元中,低位数存在低地址的字节中,并在屏幕上显示出来。代码DATASEGMENTPARA'DATA';定义数据段DATA1DB23H,0ADH;存放的4位十六进制数DATA2DB4DUP(

7、0);存入ASCII码DB'$'DATA3DB4DUP(0);DATA3的四个字节分别存放每个十六进制数DATAENDSCODESEGMENT;定义代码段ASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEASI,DATA1LEADI,DATA3MOVCL,2;循环2次,取两次2位十六进制数STEP1:MOVAL,[SI];取2位16进制数ANDAL,0F0H;低四位为0RORAL,4;右移四位MOV[DI],AL;高位数存放在高字节中I

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

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

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