1.查表程序设计实验
一、实验目的
学习查表程序的设计方法
二、实验内容及步骤
所谓查表,就是根据某个值,在数据表格中寻找与之对应的一一个数据,在很多情况下,通
过查表比通过计算要使程序更简单,更容易编制。
通过查表的方法实现十六进制数转换为ASCII码。根据2.2章节的表2.1可知,0~9的
ASCII码为30H~39H,而A~F的ASCII码为41H~46H,这样就可以将0~9与A~F对
应的ASCII码保存在-一个数据表格中。当给定一个需要转换的十六进制数时,就可以快速的在
表格中找出相应的ASCII码值。
实验步骤:
1.根据设计思想绘制程序流程图,编写实验程序(例程文件名为: A8-1 .ASM)。
2.经编译、链接无误后,将目标代码装入系统。
3.将变量HEX, ASCH, ASCL添加到变量监视窗口中,并修改HEX的值,如12。
4.在语句JMP AA1处设置断点,然后运行程序。
5.程序会在断点行停止运行,并更新变量窗口中变量的值,查看变量窗,ASCH应为31,
ASCL应为32。
6.反复修改HEX的值,观察ASCH与ASCL的值,验证程序功能。
程序代码:
ASSUME DS:DATA,CS:CODE
DATA SEGMENT
TABLE DB 30H,31H,32H,33H,34H,35H,36H,37H
DB 38H,39H,40H,41H,42H,43H,44H,45H
HEX DB 08H
ASCLL DB 0
DATA ENDS
CODE SEGMENT
START:
MOV AX,DATA
MOV DS,AX
LEA SI,TABLE
MOV AL,HEX
MOV BX,SI
XLAT
MOV ASCLL,AL
CODE ENDS
END START
程序运行结果:
1.利用u命令查看
2.此时AX的值为0704,因为HEX中的值赋为04
3.通过XLAT查表,值改变为0734
4.改变HEX的值为08H,发现运行后值改变为0738