试验数制转换试验.DOC

PAGE PAGE 4 实验一、 数制转换实验 1.1.1 实验目的 1. 掌握不同进制数及编码相互转换的程序设计方法,加深对数制转换的理解; 2. 熟悉程序调试的方法。 1.1.2 实验设备 PC机一台,TD-PITC 实验装置一套。 1.1.3 实验内容及步骤 计算机输入设备输入的信息一般是由ASCII 码或BCD 码表示的数据或字符,CPU 一般均用二进制数进行计算或其它信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、BCD 码或七段显示码等。因此,在应用软件中,各类数制的转换是必不可少的。 计算机与外设间的数制转换关系如图1-2-1所示,数制对应关系如表1-2-1所示 图1-1 数制转换关系 表1-2 数制对应关系表 1.2 将ASCII码表示的十进制数转换为二进制数 1.2.1 实验原理 十进制表示为: ??????? Di代表十进制数0,1,2,…,9; 上式转换为: (2)由式(2)可归纳十进制数转换为二进制数的方法:从十进制数的最高位Dn 开始作乘10加次位的操作,依次类推,则可求出二进制数的结果。程序流程图如图1-2-2 所示。实验参考程序如下。 图1-2 转换程序流程图 1.2.2 实验程序清单(例程文件名:A2-1.ASM) SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS DATA SEGMENT SADD DB 30H,30H,32H,35H,36H ;十进制数:00256 DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: 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 A1: IMUL BX MOV DX, [SI+01] AND DX, 00FFH ADC AX, DX SUB AL, 30H INC SI LOOP A1 A2: JMP A2 CODE ENDS END START 1.2.3 实验步骤 (1)绘制程序流程图,编写实验程序,经编译、链接无误后装入系统; (2)待转换数据存放于数据段,根据自己要求输入,默认为30H,30H,32H,35H,36H; (3)运行程序,然后停止程序; (4)查看AX 寄存器,即为转换结果,应为:0100 ; (5)反复试几组数据,验证程序的正确性。 1.3. 十六进制数转换为ASCII码 1.3.1 实验原理 由表1-2-1 中十六进制数与ASCII 码的对应关系可知:将十六进制数0H~09H 加上30H后得到相应的ASCII码,AH~FH 加上37H 可得到相应的ASCII码。将四位十六进制数存放于起始地址为3500H 的内存单元中,把它们转换为ASCII 码后存入起始地址为350AH 的内存单元中。自行绘制流程图。 1.3.2 实验程序清单 SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV CX,0004H MOV DI,3500H ;十六进制数源地址 MOV DX,[DI] A1: MOV AX,DX AND AX,000FH ;取低4位 CMP AL,0AH JB A2 ;小于0AH则转A2 ADD AL,07H ;在A~FH之间,需多加上7H A2: ADD AL,30H ;转换为相应ASCII码 MOV [DI+0DH],AL ;结果存入目标地址 DEC DI PUSH CX MOV CL,04H SHR DX,CL ;将十六进制数右移4位 POP CX LOOP A1 A3: JMP A3 CODE ENDS END START 1.3.3 实验步骤 (1)编写程序,经编译、链接无误后装入系统; (2)在3500H、3501H 中存入四位十六进制数203B,即键入E3500,然后输入3B 20; (3)先运行程序,然后再停止运行; (4)键入D350A,显示结果为:0000:350A 32 30 33 42 CC …; (5)反复输入几组数据,验证程序功能。 实验二 循环程序设计实验 2.1.1 实验目的 1. 加深对循环结构的理解; 2. 掌握循环结构程序设计的方法以及调试方法。 2.1.2 实验设备 PC机一台,TD-PITC 实验装置一套。 2.1.3 实验内容及步骤 2. 2 求某数据区内负数的个数 2.2.1 实验原理 设数据区的第一单元存放区内单元数据的个

文档评论(0)

1亿VIP精品文档

相关文档