




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验九数码转换一、实验目的1、掌握计算机常用数据编码之间的相互转换方法。2、进一步熟悉DEBUG软件的使用方法。二、实验内容1.ACSII码转换为非压缩型BCD码编写并调试正确的汇编语言源程序使之实现:设从键盘输入一串十进制数,存入DATA1单元中按回车停止键盘输入。将其转换成非压缩型(非组合型)BCD码后再存入开始的单元中。若输入的不是十进制数则相应单元中存放FFH。调试程序用D命令检查执行结果。2.BCD码转换为十六进制码编写并调试正确的汇编语言源程序使之将一个16位存储单元中存放的4位BCD码,换成十六进制数存入DATA2字单元中。调试程序用D命令检查执行结果。3.十六进制数转换为码编写
2、并调试正确的汇编语言源程序使之将内存字单元中存放的4位十六进制数,转换为ASC码后分别存入DATA2为起始地址的4个单元中低位数存在低地址的字节中,并在屏幕上显示出来。三、实验预习1.复习材料中有关计算机数据编码部分的内容。2.按要求编写程序。四、实验步骤1.编辑源文件经汇编连接产生EXE文件。2.用DEBUG调试、检查、修改程序。五、实验内容1.ACSII码转换为非压缩型BCD码STACKDB256?);为堆栈段留出个字节单位STACKENDSDATA;定义数据段DATA1;缓冲区最大长度?)DATA2DATAENDSCODE定义代码段LEADX,DATA1;规定:DX存放输入字符串的缓冲区
3、首地址INT21H;字符串输入AL=键入的ASCII码LEASI,DATA1LEADI,DATA2;DI存放DATA2首地址INCSI;取输入字符串长度INCSI;指向第一个输入字符LP1:;输入的字符存为ASCII码,将其转换成十进制数;若AL0(AL-09(AL-90),跳转到LP2JGLP2;将AL-BL;将结果存到DATA2开始的单元中INCDIINCSIJMPLP1LP2:;若输入的不是十进制数,在相应的单元存放FFH;以字母开头的十六进制数前面需加0;将AL-BLINCDIINCSIJNZLP1;CL=0,执行LP3中的语句LP3:INT21HCODEENDSENDSTART2.B
4、CD码转换为二进制码DATASEGMENTDATA1DATA2DATAENDSCODESEGMENT;累加单元清0(BX=0);设置乘数10;指4位BCD码;循环次数=3;取十进制数LP:ROLAX,CL;取数字;保存当前AX值;屏蔽高位;累加;循环次数减1JNZLP;以上完成循环三次,个位不用再*10,所以不用最后不用放入循环中去ROLAX,CL;取个位数字;屏蔽高位;进行累加,直接将最后的累加结果放到AX中INT21HCODEENDSENDSTART3.十六进制数转换为码DB256?)DATASEGMENT;存放ASCII码JUMPDB4;4位十六进制数分别存放在DATA3的个字节中DAT
5、AENDSCODESEGMENTLEASI,DATA1LEADI,JUMP;循环2次,取两次两位十六进制数LP0:;取位十六进制数;低四位为零RORAL,CL;右移位相当于除以16;高位数存放在高地址字节中INCDI;取2位十六进制数;高四位为零;低位数存放在低地址字节中INCSIINCDIJNZLP0LEASI,JUMP;SI=JUMP的首地址偏移量LEADI,DATA2;DI=DATA2的首地址偏移量;因为是四位十六进制数,所以设置为循环4次LP1:;取JUMP中的十六进制数JGLP2;若AL9(AL-90),跳转到LP2;09H+30H=ASCIIJMPLP3LP2:;AFH+30H=A
6、SCIILP3:;将ASCII码依次存入DATA2中INCDIINCSIJNZLP1INT21HINT21HINT21HCODEENDSENDSTART六、实验习题与思考1.编程实现:从键盘上输入两位十六进制数,转换成十进制数后显示在屏幕上。STACKSEGMENTDB256DUP(?)STACKENDSDATASEGMENTDATA1DB5,?,2DUP(?)DATA2DB2DUP(?)DATA3DB2DUP(?)DATAENDSCODESEGMENTASSUMESS:STACK,DS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AXLEADX,DATA1MOVAH,
7、0AHINT21H输入字符串LEASI,DATA1+2LEADI,DATA2MOVCL,2;将ASC码转换为十六进制数LP1:MOVAL,SISUBAL,30HCMPAL,9JALP2MOVDI,ALINCDIINCSIDECCLJZLP3JNZLP1LP2:SUBAL,7MOVDI,ALINCDIINCSIDECCLJNZLP1将十六进制数转换成十进制数,并保存LP3:LEADI,DATA2MOVAL,DIMOVBL,DI+1MOVCL,4SHLAL,CLADDAL,BLMOVDI,ALLEASI,DATA3XORAH,AHMOVCL,100DIVCL;AH=AX%100,AL=AX/100
8、MOVSI,AL保存百位数MOVAL,AHXORAH,AHMOVCL,10DIVCLMOVSI+1,AL保存十位数MOVSI+2,AH;保存个位数屏幕显示十进制数LP4:MOVDL,SI取百位数送显ORDL,30HMOVAH,02HINT21HMOVDL,SI+1取十位数送显ORDL,30HMOVAH,02HINT21HMOVDL,SI+2取个位数送显ORDL,30HMOVAH,02HINT21HMOVAH,4CHINT21HCODEENDSENDSTART2.十进制数转换为七段码。为了在七段显示器上显示十进制数,需要把十进制数转换为七段代码。转换可采用查表法。设需要转换的十进制数已存放在起始
9、地址为DATA1区域中,七段代码转换表存放在起始地址为表中,转换结果存放到起始地址为DATA2区域。若待转换的数不是十进制数,则相应结果单元内容为00H。STACKSEGMENTDB256DUP(?)STACKENDSDATASEGMENTDATA1DB0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,A,B,C,$TABLEDB00H,40H,01H,79H,02H,24H,03H,30H,04H,19H,05H,12H,06H,02H,07H,78H,08H,00H,09H,18H,0AH,08H,0BH,03H,0CH,46H,0DH,21H,0EH,06H,0FH,0EH;实际数据定义必须在同一行DATA2DB16DUP(0)COUNTEQU2DATAENDSCODESEGMENTASSUMESS:STACK,DS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AXLEASI,DATA1LEABX,DATA2LEADI,TABLEXORAH,AHLP1:MOVAL,SI外循环DATA1指向下一个INCSIMOVCX,16内循环TABLE16次LP2:CMPDI,ALJELP3ADDDI,COUNT内循环指向下一组DECCXJNZL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五专利代理人委托协议:生物识别技术专利申请代理服务协议
- 二零二五年度股权赠与及企业可持续发展协议
- 2025年度水利工程变更及优化合同
- 二零二五年度航空货运司机劳务合作协议
- 二零二五年度主播与经纪公司解约及内容输出合同
- 2025年南平延平区区属国有企业公开招聘笔试参考题库附带答案详解
- 2025至2030年中国硬质合金异型刀具数据监测研究报告
- 疾病的流行规律及防控建议
- 运营总监应聘合同范本
- 2025至2030年中国皮卡上球销总成数据监测研究报告
- 新风施工合同
- 2025-2030年园艺修剪机器人行业深度调研及发展战略咨询报告
- 人教版四年级数学下册第四单元测试卷(含答案)
- 北师大版二年级数学下册各单元测试卷
- 品管圈PDCA改善案例-降低住院患者跌倒发生率
- GB/T 12996-2024电动轮椅车
- 成人氧气吸入疗法-中华护理学会团体标准
- 西师版二年级数学下册全册课件【完整版】
- 苏教版五下数学小数报全套高清晰含答案
- knc实验室生物安全程序文件中心
- 变速器齿轮设计资料
评论
0/150
提交评论