合肥工业大学电气与自动化专业实验中心 80X86微机原理及接口技术实验教程 1数制转换实验

1.2 数制转换实验

1.2.1 实验目的

1. 掌握不同进制数及编码相互转换的程序设计方法,加深对数制转换的理解。

2. 熟悉程序调试的方法。

1.2.2 实验设备

PC机一台,TD-PITE实验装置一套。

1.2.3 实验内容及步骤

计算机输入设备输入的信息一般是由ASCII码或BCD码表示的数据或字符,CPU一般均用二进制数进行计算或其它信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、BCD码或七段显示码等。因此,在应用软件中,各类数制的转换是必不可少的。

计算机与外设间的数制转换关系如图1.11所示,数制对应关系如表1.1所示。

ASCII码ASCII码BCD码二进制二进制ASCII码ASCII码BCD码二进制键 盘光 电 机拨码开关数据开关CRT显示打 印 机多段显示位 显 示主机 图1.11 数制转换关系

1. 将ASCII码表示的十进制数转换为二进制数 十进制表示为:

Dn?10?Dn?1?10nn?1?????D0?10?0?D?10ii?0ni (1)

Di代表十进制数0,1,2,…,9; 上式转换为:

?D?10ii?0ni?(???((Dn?10?Dn?1)?10?Dn?2)?10?????D1)?10?D0 (2)

由式(2)可归纳十进制数转换为二进制数的方法:从十进制数的最高位Dn开始作乘10加次位的操作,依次类推,则可求出二进制数的结果。

表1.1 数制对应关系表 二进制 十六进制 BCD码 机器码 0 1 2 3 4 5 6 7 8 9 A B 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 30H 31H 32H 33H 34H 35H 36H 37H 38H 39H 41H 42H ASCII码 七段码 共阳 40H 79H 24H 30H 19H 12H 02H 78H 00H 18H 08H 03H 共阴 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 67H 77H 7CH C D E F

1100 1101 1110 1111 43H 44H 45H 46H 46H 21H 06H 0EH 39H 5EH 79H 71H 程序流程图如图1.12所示。实验参考程序如下。 实验程序清单(例程文件名:A2-1.ASM)

SSTACK SSTACK DATA SADD DATA CODE START: A1: A2: CODE

SEGMENT STACK DW 64 DUP(?) ENDS

SEGMENT

DB 30H,30H,32H,35H,36H ENDS SEGMENT

ASSUME CS:CODE, DS:DATA MOV AX, DATA MOV DS, AX

MOV AX, OFFSET SADD MOV SI, AX MOV BX, 000AH MOV CX, 0004H MOV AH, 00H MOV AL, [SI] SUB AL, 30H IMUL BX

MOV DX, [SI+01] AND DX, 00FFH ADC AX, DX SBB AX, 30H INC SI LOOP A1 JMP A2 ENDS

END START

;十进制数:00256

程序开始初始化转换首地址转换次数→CX取第一位ASCII码减去30H实验步骤

(1)绘制程序流程图,编写实验程序,经编译、链接无误后装入系统。

(2)待转换数据存放于数据段,根据自己要求输入,默认为30H,30H,32H,35H,36H。

乘10加下一位ASCII码减30HN转换完否?Y程序结束

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4