实验一 数码转换编程及程序调试.doc_第1页
实验一 数码转换编程及程序调试.doc_第2页
实验一 数码转换编程及程序调试.doc_第3页
实验一 数码转换编程及程序调试.doc_第4页
实验一 数码转换编程及程序调试.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一 数码转换编程及程序调试一、实验目的掌握不同进制数及编码相互转换的程序设计方法,加深对数码转换的理解。熟悉程序调试的方法。 二、实验设备Pc微机一台,TD-PITE实验装置一套。 三、实验内容及步骤 计算机输入设备输入的信息一般是由ASSII码或BCD码表示的数据或字符,CPU一般均用二进制数进行计算或其它信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、BCD码或七段显示码等。因此,在应用软件中,各类数制的转换是必不可少的。 计算机与外设间的数制转换关系如图所示2-1所示,数制对应关系如表2-1所示。CRT显示主机ASCII码ASCII码键盘ASCII码打印机ASCII码光电机多段显示BCD码BCD码拨码开关位显示二进制二进制数据开关图2-1 数制转换关系表1 数制对应关系表十六进制数BCD码二进制机器码ASCII码七段码00000000030H40H3FH10001000131H79H06H20010001032H24H5BH30011001133H30H4FH40100010034H19H66H50101010135H12H6DH60110011036H02H7DH70111011137H78H07H81000100038H00H7FH91001100139H18H67HA101041H08H77HB101042H03H7CHC101143H46H39HD110044H21H5EHE111045H06H79HF111146H0EH71H1. 将ASCII码表示的十进制数转换为二进制数十进制表示为:Di代表十进制数0,1,2,9;上式转换为:由此可归纳十进制数转换为二进制数的方法:从十进制数的最高位Dn开始作乘10加次位的操作,依次类推,则可求出二进制数的结果。参考流程:实验程序:PUBLIC SADDSSTACKSEGMENT STACKDW 64 DUP(?)SSTACKENDSDATASEGMENTSADDDB 30H,30H,32H,35H,36H;十进制数:00256DATAENDSCODESEGMENTASSUME CS:CODE, DS:DATASTART:MOV AX, DATAMOV DS, AXMOV AX, OFFSET SADDMOV SI, AXMOV BX, 000AHMOV CX, 0004HMOV AH, 00HMOV AL, SISUB AL, 30HA1:IMUL BXMOV DX, SI+01AND DX, 00FFHADC AX, DXSUB AL, 30HINC SILOOP A1A2:JMP A2CODE ENDS END START实验步骤:(1)绘制程序流程图,编写实验程序,经编译、链接无误后装入系统;(2)待转换数据存放于数据段,根据自己要求输入,默认为30H,30H,32H,35H,36H;(3)运行程序,然后停止程序;(4)查看AX寄存器,即为转换结果,应为:0100 ;(5)反复试几组数据,验证程序的正确性。2. 将十进制数的ASCII码转换为BCD码从键盘输入五位十进制数的ASCII码,存放于3500H起始的内存单元中,将其转换为BCD码后,再按位分别存入350AH起始的内存单元内。若输入的不是十进制的ASCII码,则对应存放结果的单元内容为“FF”。由表1可知,一字节ASCII码取其低四位即变为BCD码。实验程序:STACKSEGMENT STACKDW 64 DUP(?)STACKENDSCODESEGMENTASSUME CS:CODESTART:MOV CX, 0005H;转换位数MOV DI, 3500H;ASCII码首地址A1:MOV BL, 0FFH;将错误标志存入BLMOV AL, DICMP AL, 3AH JNB A2;不低于3AH则转A2SUB AL, 30HJB A2;低于30H则转A2MOV BL, ALA2:MOV AL, BL;结果或错误标志送入ALMOV DI+0AH,AL;结果存入目标地址INC DILOOP A1A3:JMP A3CODEENDSEND START实验步骤:(1)自己绘制程序流程图,然后编写程序,编译、链接无误后装入系统;(2)在3500H3504H单元中存放五位十进制数的ASCII码,即:键入E3500后,输入31,32,33,34,35;(3)运行程序,然后停止程序运行;(4)键入D350A,显示运行结果,应为:0000:350A 01 02 03 04 05 CC (5)反复测试几组数据,验证程序功能。3. 将十六位二进制数转换为ASCII码表示的十进制数十六位二进制数的值域为065535,最大可转换为五位十进制数。五位十进制数可表示为:Di:表示十进制数09将十六位二进制数转换为五位ASCII码表示的十进制数,就是求D1D4,并将它们转换为ASCII码。自行绘制程序流程图,编写程序可参考例程。例程中源数存放于3500H、3501H中,转换结果存放于3510H3514H单元中。实验程序:STACKSEGMENT STACKDW 64 DUP(?)STACKENDSCODESEGMENTASSUME CS:CODESTART:MOV SI,3500H;源数据地址MOV DX,SIMOV SI,3515H;目标数据地址A1:DEC SIMOV AX,DXMOV DX,0000HMOV CX,000AH;除数10DIV CX;得商送AX, 得余数送DXXCHG AX,DXADD AL,30H;得Di得ASCII码MOV SI,AL;存入目标地址CMP DX,0000HJNE A1;判断转换结束否,未结束则转A1A2:CMP SI,3510H;与目标地址得首地址比较JZ A3 ;等于首地址则转A3,否则将剩余地址DEC SI;中填30HMOV AL,30HMOV SI,AL JMP A2A3: JMP A3CODEENDSEND START实验步骤(1)编写程序,经编译、链接无误后,装入系统;(2)在3500H、3501H中存入0C 00;(3)运行程序,然后停止运行;(4)检查运行结果,键入D3510,结果应为:30 30 30 31 32;(5)可反复测试几组数据,验证程序的正确性。4. 十六进制数转换为ASCII码 由表1中十六进制数与ASCII码的对应关系可知:将十六进制数0H09H加上30H后得到相应的ASCII码,AHFH加上37H可得到相应的ASCII码。将四位十六进制数存放于起始地址为3500H的内存单元中,把它们转换为ASCII码后存入起始地址为350AH的内存单元中。自行绘制流程图。 实验程序SSTACKSEGMENT STACKDW 64 DUP(?)SSTACKENDSCODESEGMENTASSUME CS:CODESTART:MOV CX,0004HMOV DI,3500H;十六进制数源地址MOV DX,DIA1:MOV AX,DXAND AX,000FH;取低4位CMP AL,0AHJB A2;小于0AH则转A2ADD AL,07H;在AFH之间,需多加上7HA2:ADD AL,30H;转换为相应ASCII码MOV DI+0DH,AL ;结果存入目标地址DEC DIPUSH CXMOV CL,04HSHR DX,CL;将十六进制数右移4位POP CXLOOP A1A3:JMP A3CODEENDSEND START 实验步骤 (1)编写程序,经编译、链接无误后装入系统; (2)在3500H、3501H中存入四位十六进制数203B,即键入E3500,然后输入3B 20; (3)先运行程序,然后再停止运行; (4)键入D350A,显示结果为:0000:350A 32 30 33 42 CC ; (5)反复输入几组数据,验证程序功能。 5. BCD码转换为二进制数将四个二位十进制数的BCD码存放于3500H起始的内存单元中,将转换的二进制数存入3510H起始的内存单元中,自行绘制流程图并编写程序。SSTACKSEGMENT STACKDW 64 DUP(?)SSTACKENDSCODESEGMENTASSUME CS:CODESTART:XOR AX, AXMOV CX, 0004HMOV SI, 3500HMOV DI, 3510HA1:MOV AL, SIADD AL, ALMOV BL, ALADD AL, ALADD AL, ALADD AL, BLINC SIADD AL, SIMOV DI, ALINC SIINC DILOOP A1A2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论