资源描述:
《实验一 数码转换编程及程序调试》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验一数码转换编程及程序调试一、实验目的掌握不同进制数及编码相互转换的程序设计方法,加深对数码转换的理解。熟悉程序调试的方法。二、实验设备Pc微机一台,TD-PITE实验装置一套。三、实验内容及步骤计算机输入设备输入的信息一般是由ASSII码或BCD码表示的数据或字符,CPU一般均用二进制数进行计算或其它信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、BCD码或七段显示码等。因此,在应用软件中,各类数制的转换是必不可少的。计算机与外设间的数制转换关系如图所示2-1所示,数制对应关系如表2-1所示
2、。CRT显示主机ASCII码ASCII码键盘ASCII码打印机ASCII码光电机多段显示BCD码BCD码拨码开关位显示二进制二进制数据开关图2-1数制转换关系 表1 数制对应关系表十六进制数BCD码二进制机器码ASCII码七段码00000000030H40H3FH10001000131H79H06H20010001032H24H5BH30011001133H30H4FH40100010034H19H66H50101010135H12H6DH60110011036H02H7DH70111011137H78H07
3、H81000100038H00H7FH91001100139H18H67HA101041H08H77HB101042H03H7CHC101143H46H39HD110044H21H5EHE111045H06H79HF111146H0EH71H1.将ASCII码表示的十进制数转换为二进制数十进制表示为:Di代表十进制数0,1,2,…,9;上式转换为:由此可归纳十进制数转换为二进制数的方法:从十进制数的最高位Dn开始作乘10加次位的操作,依次类推,则可求出二进制数的结果。参考流程:实验程序:PUBLICSADDS
4、STACKSEGMENTSTACKDW64DUP(?)SSTACKENDSDATASEGMENTSADDDB30H,30H,32H,35H,36H;十进制数:00256DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,OFFSETSADDMOVSI,AXMOVBX,000AHMOVCX,0004HMOVAH,00HMOVAL,[SI]SUBAL,30HA1:IMULBXMOVDX,[SI+01]ANDDX,00FFHAD
5、CAX,DXSUBAL,30HINCSILOOPA1A2:JMPA2CODEENDSENDSTART 实验步骤:(1)绘制程序流程图,编写实验程序,经编译、链接无误后装入系统;(2)待转换数据存放于数据段,根据自己要求输入,默认为30H,30H,32H,35H,36H;(3)运行程序,然后停止程序;(4)查看AX寄存器,即为转换结果,应为:0100;(5)反复试几组数据,验证程序的正确性。 2.将十进制数的ASCII码转换为BCD码从键盘输入五位十进制数的ASCII码,存放于3500H起始的内存单元中,将其转
6、换为BCD码后,再按位分别存入350AH起始的内存单元内。若输入的不是十进制的ASCII码,则对应存放结果的单元内容为“FF”。由表1可知,一字节ASCII码取其低四位即变为BCD码。实验程序:STACKSEGMENTSTACKDW64DUP(?)STACKENDSCODESEGMENTASSUMECS:CODESTART:MOVCX,0005H;转换位数MOVDI,3500H;ASCII码首地址A1:MOVBL,0FFH;将错误标志存入BLMOVAL,[DI]CMPAL,3AHJNBA2;不低于3AH则转A
7、2SUBAL,30HJBA2;低于30H则转A2MOVBL,ALA2:MOVAL,BL;结果或错误标志送入ALMOV[DI+0AH],AL;结果存入目标地址INCDILOOPA1A3:JMPA3CODEENDSENDSTART实验步骤:(1)自己绘制程序流程图,然后编写程序,编译、链接无误后装入系统;(2)在3500H~3504H单元中存放五位十进制数的ASCII码,即:键入E3500后,输入31,32,33,34,35;(3)运行程序,然后停止程序运行;(4)键入D350A,显示运行结果,应为:0000:3
8、50A0102030405CC…(5)反复测试几组数据,验证程序功能。 3.将十六位二进制数转换为ASCII码表示的十进制数十六位二进制数的值域为0~65535,最大可转换为五位十进制数。五位十进制数可表示为:Di:表示十进制数0~9将十六位二进制数转换为五位ASCII码表示的十进制数,就是求D1~D4,并将它们转换为ASCII码。自行绘制程序流程图,编写程序可参考例程。例程中源数存放于3500H、