资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,实验三,二进制到,ASCII,码转换,二进制到,ASCII,码转换,一、实验目的,1,、掌握如何将二进制数转换成,ASCII,码;,2,、掌握如何查表进行数值转换;,二、实验内容,1,、启动计算机,启动伟福仿真软件。,2,、编辑、编译如下程序:,TEST EQU 0AH,ORG 0,LJMP START,ASCIITAB:DB 0123456789ABCDEF,;,定义数字对应的,ASCII,表,START:MOV DPTR,#ASCIITAB,MOV A,#TEST,MOVC A,A+DPTR,;,查,ASCII,表,LJMP$,END,TEST EQU 0AH,ORG 0,LJMP START,ASCIITAB:,DB 0123456789ABCDEF ;,定义数字对应的,ASCII,表,START:,MOV DPTR,#ASCIITAB,MOV A,#TEST,MOVC A,A+DPTR ;,查,ASCII,表,lJMP,$,END,完成以下任务:,参照“指令和代码的对照表”和,ASCII,码表,分析数据窗口,CODE,内,0000H,001AH,区域的代码;,单步执行程序,观察,DPH,、,DPL,、,ACC,的变化;,把语句,TEST EQU 0AH,里的,0AH,依次改为,00H,,,01H,,,,,0FH,,每次改动后编译程序,重复步骤;,3,、赋值给,Acc,类似,1BH,或,0AEH,的数据,编程、利用查表功能将高低半字节分别转换为,ASCII,码,存放在地址为,30H,、,31H,的,RAM,数据区。存储块内数据已传送。,RESULT EQU,30,H,ORG 0,LJMP START,ASCIITAB:,DB 0123456789ABCDEF,BINTOHEX:,MOV DPTR,#ASCIITAB,MOV B,A,SWAP A,ANL A,#0FH,MOVC A,A+DPTR,MOV RESULT,A,假设赋值给A为类似1BH、0AEH的数据,编程,利用查表功能将高低半字节分别转换为ASCII码,存放在地址为30H、31H的RAM数据区。修改程序中给累加器A的值,重复实验,观察实验结果。,MOV A,B,ANL A,#0FH,MOVC A,A+DPTR,MOV RESULT+1,A,RET,START:,MOV SP,#40H,MOV A,#1AH,L,CALL,BINTOHEX,LJMP$,END,RESULT EQU 03H,ORG 0,LJMP START,ASCIITAB:,DB 0123456789ABCDEF,BINTOHEX:,MOV DPTR,#ASCIITAB,MOV B,A,SWAP A,ANL A,#0FH,MOVC A,A+DPTR,MOV RESULT,A,MOV A,B,ANL A,#0FH,MOVC A,A+DPTR,MOV RESULT+1,A,RET,START:,MOV SP,#40H,MOV A,#1AH,LCALL,BINTOHEX,LJMP$,END,给出要转换数,取出高四位,查表得到,ASCII,码,保存高位,ASCII,码,取出低四位,查表得到,ASCII,码,保存低位,ASCII,码,结束,RESULT EQU 03H,ORG 0,LJMP START,ASCIITAB,(,通过实验找出该表的位置,),DB 0123456789ABCDEF,BINTOHEX:,MOV DPTR,#ASCIITAB,MOV B,A,SWAP A,ANL A,#0FH,MOVC A,A+DPTR,MOV RESULT,A,思考题:找出,CODE,窗口的代码,解释其各个代码的含义。(做在实验报告上),MOV A,B,ANL A,#0FH,MOVC A,A+DPTR,MOV RESULT+1,A,RET,START:,(,通过实验找出该处的位置,),MOV SP,#40H,MOV A,#1AH,L,CALL,BINTOHEX,LJMP$,END,假设赋值给,A,为类似,1BH,、,0AEH,的数据,编程,利用查表功能将高低半字节分别转换为,ASCII,码,存放在地址为,30H,、,31H,的,RAM,数据区。修改程序中给累加器,A,的值,重复实验,观察实验结果。,RESULT EQU 03H,ORG 0,LJMP START,ASCIITAB:,DB 0123456789ABCDEF,BINTOHEX:,MOV DPTR,#ASCIITAB,MOV B,A,SWAP A,ANL A,#0FH,MOVC A,A+DPTR,MOV RESULT,A,MOV A,B,ANL A,#0FH,MOVC A,A+DPTR,MOV RESULT+1,A,RET,START:,MOV SP,#40H,MOV A,#1AH,LCALL,BINTOHEX,LJMP$,END,设在片外,RAM,的,60H,单元存有,1,个字节代码,要求将其分解成两个,4,位字段,高,4,位存入原单元的低,4,位,其低,4,位存入,61H,单元的低,4,位,且要求这两个单元的高,4,位均为,0,,试编制完整程序。,ORG 1000H,MODE:MOV R0,#60H,MOVX A,R0,MOV B,A,ANL A,#0F0H,SWAP A,MOVX R0,A,ANL B,#0FH,MOV A,B,INC R0,MOVX R0,A,SJMP$,END,思考题,设在片外,RAM,的,60H,单元存有,1,个字节代码,要求将其分解成两个,4,位字段,高,4,位存入片内,RAM,的,30H,单元低,4,位,其低,4,位存入片内,RAM,的,31H,单元的低,4,位,且要求这两个单元的高,4,位均为,0,,试编制完整程序。,
展开阅读全文