子程序设计(2)

2018-12-08 19:29

计算机与信息工程学院实验报告

2.8 查表程序设计实验

一、实验内容

设计一个查表程序。 二、实验目的及要求

1. 掌握查表程序的基本程序结构。 2. 学习综合程序的设计、编制及调试。

三、实验环境

PC机一台,TD-PITE实验装置或TD-PITC实验装置一套。 四、实验方法过程(步骤)

.1、80X86指令系统提供了实现查表程序的基本指令,编写程序。 2、加载程序并编译程序。

3、调试通过后全速运行并观察实验结果。 4、编写实验报告。 五、算法描述

所谓查表,就是根据某个值,在数据表格中寻找与之对应的一个数据,在很多情况下,通过查表比通过计算要使程序更简单,更容易编制。

通过查表的方法实现十六进制数转换为ASCII码。

六、源程序清单 SSTACK SEGMENT STACK DW 32 DUP(?) SSTACK ENDS

PUBLIC ASCH, ASCL, HEX ;定义全局变量

DATA SEGMENT ;十六进制数0~9,A,B,C,D,E,F对应ASC码表 TAB DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H DB 41H,42H,43H,44H,45H,46H HEX DB ? ;待转换的十六进制数 ASCH DB ? ;高4位转换的ASCII码 ASCL DB ? ;低4位转换的ASCII码 DATA ENDS ·6·

计算机与信息工程学院实验报告

CODE SEGMENT

ASSUME CS:CODE, SS:SSTACK, DS:DATA START: PUSH DS XOR AX, AX MOV AX, DATA MOV DS, AX

AA1: MOV AL, HEX ;需转换的十六进制数 MOV AH, AL AND AL, 0F0H MOV CL, 04H SHR AL, CL

MOV BX, OFFSET TAB ;表首地址存放于BX中 XLAT

MOV ASCH, AL ;存放十六进制数高4位的BCD码 MOV AL, AH AND AL, 0FH XLAT

MOV ASCL, AL ;存放十六进制数低4位的BCD码 NOP

JMP AA1 ;在此处设置断点,观察转换结果 CODE ENDS END START

七、运行结果及分析

程序运行结果为ASCH为31,ASCL为32。

0~9的ASCII码为30H~39H,而A~F的ASCII码为41H~46H,这样就可以将0~9与A~F对应的ASCII码保存在一个数据表格中。当给定一个需要转换的十六进制数时,就可以快速的在表格中找出相应的ASCII码值。此实验中输入的2个数中,1的ASCII码是31,2的ASCII码是32。此程序中十六进制数的ASC码已经存入数据段中,只要输入要转换的数,就能输出对应的ASC码。其中:ASCH为第一个数的ASC码,ASCL为第二个数的ASC码。

·7·


子程序设计(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:机关办公室工作失误案例

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: