实验一 数码转换编程及程序调试.doc

上传人:hw****26 文档编号:3155229 上传时间:2019-05-23 格式:DOC 页数:7 大小:94KB
下载 相关 举报
实验一 数码转换编程及程序调试.doc_第1页
第1页 / 共7页
实验一 数码转换编程及程序调试.doc_第2页
第2页 / 共7页
实验一 数码转换编程及程序调试.doc_第3页
第3页 / 共7页
实验一 数码转换编程及程序调试.doc_第4页
第4页 / 共7页
实验一 数码转换编程及程序调试.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、实验一 数码转换编程及程序调试一、实验目的掌握不同进制数及编码相互转换的程序设计方法,加深对数码转换的理解。熟悉程序调试的方法。二、实验设备Pc 微机一台,TD-PITE 实验装置一套。三、实验内容及步骤计算机输入设备输入的信息一般是由 ASSII 码或 BCD 码表示的数据或字符,CPU 一般均用二进制数进行计算或其它信息处理,处理结果的输出又必须依照外设的要求变为ASCII 码、BCD 码或七段显示码等。因此,在应用软件中,各类数制的转换是必不可少的。计算机与外设间的数制转换关系如图所示 2-1 所示,数制对应关系如表 2-1 所示。图 2-1 数制转换关系表 1 数制对应关系表七段码十六

2、进制数BCD 码 二进制机器码ASCII 码0 0000 0000 30H 40H 3FH1 0001 0001 31H 79H 06H2 0010 0010 32H 24H 5BH3 0011 0011 33H 30H 4FH4 0100 0100 34H 19H 66H5 0101 0101 35H 12H 6DH6 0110 0110 36H 02H 7DH7 0111 0111 37H 78H 07H8 1000 1000 38H 00H 7FH9 1001 1001 39H 18H 67HA 1010 41H 08H 77HB 1010 42H 03H 7CHC 1011 43H 4

3、6H 39HD 1100 44H 21H 5EHE 1110 45H 06H 79H键盘数据开关光电机拨码开关主机CRT 显示位显示多段显示打印机ASCII 码BCD 码ASCII 码BCD 码ASCII 码ASCII 码二进制二进制F 1111 46H 0EH 71H1. 将 ASCII 码表示的十进制数转换为二进制数十进制表示为:Di 代表十进制数 0,1,2,9;上式转换为:由此可归纳十进制数转换为二进制数的方法:从十进制数的最高位 Dn 开始作乘 10 加次位的操作,依次类推,则可求出二进制数的结果。参考流程:实验程序:PUBLIC SADDSSTACK SEGMENT STACKDW

4、 64 DUP(?)SSTACK ENDSDATA SEGMENTSADD DB 30H,30H,32H,35H,36H ;十进制数:00256DATA ENDSCODE SEGMENTASSUME 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

5、 A1A2: JMP A2CODE ENDSEND START实验步骤:(1)绘制程序流程图,编写实验程序,经编译、链接无误后装入系统;(2)待转换数据存放于数据段,根据自己要求输入,默认为30H,30H,32H,35H,36H ;(3)运行程序,然后停止程序;(4)查看 AX 寄存器,即为转换结果,应为:0100 ;(5)反复试几组数据,验证程序的正确性。2. 将十进制数的 ASCII 码转换为 BCD 码从键盘输入五位十进制数的 ASCII 码,存放于 3500H 起始的内存单元中,将其转换为BCD 码后,再按位分别存入 350AH 起始的内存单元内。若输入的不是十进制的 ASCII 码,

6、则对应存放结果的单元内容为“FF”。由表 1 可知,一字节 ASCII 码取其低四位即变为 BCD码。实验程序:STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODESTART: MOV CX, 0005H ;转换位数MOV DI, 3500H ;ASCII 码首地址A1: MOV BL, 0FFH ;将错误标志存入 BLMOV AL, DICMP AL, 3AHJNB A2 ;不低于 3AH 则转 A2SUB AL, 30HJB A2 ;低于 30H 则转 A2MOV BL, ALA2: MOV AL, BL ;

7、结果或错误标志送入 ALMOV DI+0AH,AL ;结果存入目标地址INC DILOOP A1A3: JMP A3CODE ENDSEND 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 码表示的十进制数十六位二

8、进制数的值域为 065535,最大可转换为五位十进制数。五位十进制数可表示为:Di:表示十进制数 09将十六位二进制数转换为五位 ASCII 码表示的十进制数,就是求 D1D4 ,并将它们转换为 ASCII 码。自行绘制程序流程图,编写程序可参考例程。例程中源数存放于3500H、3501H 中,转换结果存放于 3510H3514H 单元中。实验程序: STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODESTART: MOV SI,3500H ;源数据地址MOV DX,SIMOV SI,3515H ;目标数据地址A

9、1: 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,ALJMP A2A3: JMP A3CODE ENDSEND START实验步骤(1)编写程序,经编译、链接

10、无误后,装入系统;(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 的内存单元中。自行绘制流程图。 实验程

11、序SSTACK SEGMENT STACKDW 64 DUP(?)SSTACK ENDSCODE SEGMENTASSUME 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 ;将十六进

12、制数右移 4 位POP CXLOOP A1A3: JMP A3CODE ENDSEND 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 起始的内存单元中,自行绘制流程图并编写

13、程序。SSTACK SEGMENT STACKDW 64 DUP(?)SSTACK ENDSCODE SEGMENTASSUME 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: JMP A2CODE ENDSEND START实验步骤(1)编写程序,经编译、链接无误后装入系统;(2)将四个二位十进制数的 BCD 码存入 3500H3507H 中,即:先键入 E3500,然后输入 01 02 03 04 05 06 07 08;(3)先运行程序,然后停止运行;(4)键入 D3510 显示转换结果,应为: 0C 22 38 4E;(5)反复输入几组数据,验证程序功能。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 建筑建材

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。