付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验九数码转换一、实验目的1、掌握计算机常用数据编码之间的相互转换方法。2、进一步熟悉DEBUG软件的使用方法。二、实验内容1. ACSII码转换为非压缩型BCD码编写并调试正确的汇编语言源程序,使之实现:设从键盘输入一串十进制数,存入DATA1单元中,按回车停止键盘输入。将其转换成非压缩型(非组合型)BCD码后,再存入DATA2开始的单元中。若输入的不是十进制数,则相应单元中存放FFHo调试程序,用D命令检查执行结果。2. BCD码转换为二进制码编写并调试正确的汇编语言源程序,使之将一个16位存储单元中存放的4位BCD码DATA1转换成二进制数存入DATA2字单元中。调试程序,用D命令检查执
2、行结果。3. 十六进制数转换为ASCII码编写并调试正确的汇编语言源程序,使之将内存DATA1字单元中存放的4位十六进制数,转换为ASCH码后分别存入DATA2为起始地址的4个单元中,低位数存在低地址的字节中,并在屏幕上显示出来。三、实验预习1 .复习材料中有关计算机数据编码部分的内容。2 .按要求编写程序。四、实验步骤1 .编辑源文件,经汇编连接产生EXE文件。2 .用DEBUG调试、检查、修改程序。五、实验内容1. ACSII码转换为非压缩型BCD码STACKSEGMENTPARASTACK'STACK'DB256DUP();为堆栈段留出256个字节单位STACKENDSD
3、ATASEGMENTPARA'DATAt义数据段DATA1DB32;缓冲区最大长度DBDB32DUP()DATA2DB32DUP()DATAENDSCODESEGMENT;定义代码段ASSUMESS:STACKASSUMECS:CODEASSUMEDS:DATASTART:MOVAX,DATAMOVDS,AXLEADX,DATA1;规定:DX存放输入字符串的缓冲区首地址MOVAH,0AHINT21H;字符串输入AL处人的ASCII码LEASI,DATA1LEADI,DATA2;DI存放DATA2首地址INCSIMOVCL,SI;取输入字符串长度INCSI;指向第一个输入字符LP1:MO
4、VAL,SISUBAL,30H;输入的字符存为ASCII码,将其转换成十进制数CMPAL,0;若AL<0(AL-0<0),跳转至ijLP2JLLP2CMPAL,9;若AL>9(AL-9>0),跳转到LP2JGLP2MOVBL,AL;将AL->BLMOVDI,BL;将结果存到DATA2开始的单元中INCDIINCSIDECCLJMPLP1FFHLP2:MOVAL,0FFH;若输入的不是十进制数,在相应的单元存放;以字母开头的十六进制数前面需加0'MOVBL,AL;将AL->BLMOVDI,BLINCDIINCSIDECCLCL=CL-1JNZLP1;C
5、L=0,执行LP3中的语句LP3:MOVAH,4CHINT21HCODEENDSENDSTART2. BCD码转换为二进制码DATASEGMENTDATA1DW2497HDATA2DWDATAENDSCODESEGMENTASSUMESS:STACK,CS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXXORBX,BXMOVSI,0AHMOVCL,4MOVCH,3MOVAX,DATA1LP:ROLAX,CLMOVDI,AXANDAX,0FHADDAX,BXMULSIMOVBX,AX;累加单元清0(BX=0)设置乘数10指4位BCD码;循环次数=3;取十进制数取数字保存
6、当前AX值屏蔽高位累加MOVAX,DIDECCHJNZLPROLAX,CLANDAX,0FHADDAX,BXMOVDATA2,AXMOVAH,4CHINT21H;存放ASCII码;4位十六进制数分别存放在DATA3的4个字节中START:MOVAX,DATAMOVDS,AXLEASI,DATA1LEADI,JUMPMOVCL,2LP0:MOVAL,SIANDAL,0F0HRORAL,4MOVDI,ALINCDIMOVAL,SIANDAL,0FHMOVDI,ALINCSIINCDIDECCLJNZLP0LEASI,JUMPLEADI,DATA2MOVCL,4LP1:MOVAL,SICMPAL,9
7、JGLP3ADDAL,30H;循环次数减1;以上完成循环三次;取个位数字;屏蔽高位AX中进行累加,直接将最后的累加结果放到CODEENDSENDSTART3.十六进制数转换为ACSII码STACKSEGMENTDB256DUP()STACKENDSDATASEGMENTDATA1DB24H,06DHDATA2DB4DUP()JUMPDB4DUP()DATAENDSCODESEGMENTASSUMESS:STACK,DS:DATA,CS:CODE循环2次,取两次两位十六进制数取2位十六进制数低四位为零右移4位相当于除以16高位数存放在高地址字节中取2位十六进制数:高四位为零低位数存放在低地址字节
8、中;SI=JUMP的首地址偏移量;DI=DATA2的首地址偏移量因为是四位十六进制数,所以设置为循环4次;取JUMP中的十六进制数;若AL>9(AL-9>0),跳转到LP3;09H+30H=ASCIIJMPLP3LP2:ADDAL,37H;AFH+30H=ASCIIDATA2中LP3:MOVDI,AL;将ASCII码依次存入INCDIINCSIDECCLJNZLP1MOVAH,09HINT21HMOVDX,OFFSETDATA2MOVAH,09HINT21HMOVAH,4CHINT21HCODEENDSENDSTART六、实验习题与思考1.编程实现:从键盘上输入两位十六进制数,转换
9、成十进制数后显示在屏幕上。STACKSEGMENTDB256DUP()STACKENDSDATASEGMENTDATA1DB5,2DUP()DATA2DB2DUP()DATA3DB2DUP()DATAENDSCODESEGMENTASSUMESS:STACK,DS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AXLEADX,DATA1MOVAH,0AHINT21H;输入字符串LEASI,DATA1+2LEADI,DATA2MOVCL,2;将ASC码转换为十六进制数LP1:MOVAL,SISUBAL,30HCMPAL,9JALP2MOVDI,ALINCDIINCSIDEC
10、CLJZLP3JNZLP1LP2:SUBAL,7MOVDI,ALINCDIINCSIDECCLJNZLP1;将十六进制数转换成十进制数,并保存LP3:LEADI,DATA2MOVAL,DIMOVBL,DI+1MOVCL,4SHLAL,CLADDAL,BLMOVDI,ALLEASI,DATA3XORAH,AHMOVCL,100DIVCL;AH=AX%100,AL=AX/100MOVSI,AL;保存百位数MOVAL,AHXORAH,AHMOVCL,10DIVCLMOVSI+1,AL;保存十位数MOVSI+2,AH;保存个位数;屏幕显k十进制数LP4:MOVDL,SI;取百位数送显ORDL,30HM
11、OVAH,02HINT21HMOVDL,SI+1;取十位数送显ORDL,30HMOVAH,02HINT21HMOVDL,SI+2;取个位数送显ORDL,30HMOVAH,02HINT21HMOVAH,4CHINT21HCODEENDSENDSTART2.十进制数转换为七段码。为了在七段显示器上显示十进制数,需要把十进制数转换为七段代码。转换可采用查表法。设需要转换的十进制数已存放在起始地址为DATA1区域中,七段代码转换表存放在起始地址为TABLE表中,转换结果存放到起始地址为DATA2区域。若待转换的数不是十进制数,则相应结果单元内容为00H。STACKSEGMENTDB256DUP()ST
12、ACKENDSDATASEGMENTDATA1DB0,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)COUNTEQU2DATAENDSCODESEGMENTSTART:MOVAX,DATAMOVDS,AXLEASI,DATA1LEABX,DATA2LEADI,TABLEXORAH,AHLP1:MOVAL,SI;外循环DATA1指向下一个INCSIMOVCX,16;内循环TABLE16次LP2:CMPDI,ALJELP3ADDDI,COUNT;内循环TABLE指向下一组DECCXJNZLP2MOVB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中生2025年价值观形成心理健康说课稿设计
- 第15课 临摹(一)说课稿2025年小学书法练习指导六年级下册人美版
- 第七课 跨越代沟说课稿2025学年初中心理健康南大版九年级全一册-南大版
- 初中生2025年张骞出使路线图说课稿
- 2026年七上全书语文说课稿
- 小学童话故事2025年创意写作说课稿
- 2026年凌乱的拼音说课稿
- 2026年失业就业测试题及答案
- 2026年医院应聘录取测试题及答案
- 2026年关键对话课后测试题及答案
- 2026年广西真龙彩印包装有限公司笔试题及答案
- (2026年)低钾血症诊治与管理专家共识解读
- 河南资本集团笔试题库
- 2026湖北神农架林区公安局招聘辅警22人笔试备考试题及答案解析
- 2026菏泽特殊教育职业学校公开招聘人员(2人)考试模拟试题及答案解析
- 全国数据资源调查报告(2025年)
- 2026年ESG(可持续发展)考试题及答案
- 2026年防治碘缺乏病日宣传课件
- 身骑白马 SSA 三声部合唱谱
- 2026年高级社会工作师押题宝典题库及1套完整答案详解
- 2026年辅警转正考试时事政治试题及答案
评论
0/150
提交评论