微机实验九 数码转换.doc

微机实验九 数码转换.doc

ID:55915544

大小:226.00 KB

页数:10页

时间:2020-06-14

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

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

1、微机实验九数码转换实验目的1.掌握计算机常用数据编码之间的相互转换方法。2.进一步熟悉DEBUG软件的使用方法一、实验容1.ACSII码转换为非压缩型BCD码编写并调试正确的汇编语言源程序,使之实现:设从键盘输入一串十进制数,存入DATA1单元中,按回车停止键盘输入。将其转换成非压缩性(非组合型)BCD码后,再存入DATA2开始的单元中。若输入的不是十进制数,则相应单元中存放FFH。调试程序,用D命令检查执行结果。实验代码:1.DATASEGMENT;定义数据段DATA1DB21,?,21DUP(?);建立一个存区,第二个数存放最大字符数DATA2DB21DUP(?);DATA2区定义DAT

2、AENDSSTACKSEGMENTSTACK;定义堆栈段DB100DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATA;程序初始化MOVDS,AX;程序初始化LEADX,DATA1;DX存放DATA1的首地址MOVAH,0AH;从键盘中输入字符串INT21H;调用INT21功能LEASI,DATA1;SI存放DATA1的首地址INCSI;指向LP1循环次数MOVCL,[SI];存放LP1的循环次数MOVCH,0INCSI;指向所输入的数LEADI,DATA2;DI存放DATA2的首地址LP1:MOVA

3、L,[SI];将输入的数存放到AL中CMPAL,30H;AL与30H比较JCLP2;AL<30H,则跳LP2CMPAL,39H;AL与39H比较JALP2;AL>39H,则跳LP2(JG与JA比较)SUBAL,30H;将输入的字符转换成ASCII码MOVBL,AL;AL→BLSAVE:MOV[DI],BL;BL→DS:DIINCSI;SI=SI+1INCDI;DI=DI+1LOOPLP1;循环LP1JMPEXIT;跳转到EXITLP2:MOVBL,0FFH;如果输入的不是十进制数,则在相应的单元中存放FFHJMPSAVE;跳转到SAVEEXIT:MOVAH,4CHINT21HCODEENDS

4、ENDSTART1.BCD码转换为二进制码编写并调试正确的汇编语言源程序,使之将一个16位存储单元中存放的4位BCD码DATA1,转换成2进制后存入DATA2字单元中。调试程序,用D命令检查执行结果。代码:STACKSEGMENTDB256DUP(?)STACKENDSDATASEGMENTDATA1DW1234HDATA2DW?DATAENDSCODESEGMENTASSUMESS:STACK,CS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXXORBX,BX;累加单元清0(BX=0)MOVSI,0AH;设置乘数10MOVCL,4MOVCH,3;设置循环次数3M

5、OVAX,DATA1;取十进制数LP:ROLAX,CL;取数字MOVDI,AX;保存当前AX值ANDAX,0FH;屏蔽高位ADDAX,BX;累加MULSIMOVBX,AXMOVAX,DIDECCH;循环次数减1JNZLPROLAX,CL;取个位数字ANDAX,0FH;屏蔽高位ADDAX,BX;累加MOVDATA2,AXMOVAH,4CHINT21HCODEENDSENDSTART1.十六进制数转换为ACSII码编写并调试正确的汇编语言源程序,使之将存DATA1字单元中存放的4位十六进制数,转换为ASCII码后分别存入DATA2为起始地址的4个单元中,低位数存在低地址的字节中,并在屏幕上显示出

6、。代码:STACKSEGMENTDB256DUP(?)STACKENDSDATASEGMENTDATA1DB12H,02CH;4位十六进制数DATA2DB5DUP(?);存放ASC码DATA3DB4DUP(?);4位十六进制数分别存放在DATA3的4个字节中LFCRDB0DH,0AH,'$'DATAENDSCODESEGMENTASSUMESS:STACK,DS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AXLEASI,DATA1LEADI,DATA3MOVCL,2;循环2次LP1:MOVAL,[SI];取2位十六进制数ANDAL,0F0H;屏蔽低四位RORAL,4

7、;右移4位MOV[DI],AL;高位数存放在高地址字节中INCDIMOVAL,[SI];取2位十六进制数ANDAL,0FH;屏蔽高四位MOV[DI],AL;低位数存放在低地址字节中INCSIINCDIDECCLJNZLP1LEASI,DATA3;将DATA3的首地址偏移量赋给SILEADI,DATA2;将DATA2的首地址偏移量赋给DIMOVCL,4;循环4次LP2:MOVAL,[SI];取DATA3中的十六

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

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

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