实验 2 顺序程序设计
一、实验目的
1.能进行简单的顺序结构程序的设计。
2.进一步巩固 8086/8088 的指令。
3.初步掌握源程序中语法错误的检查方法。
4.熟悉在汇编程序的建立、录入、汇编、连接和调试的方法。
5.巩固 DEBUG 的使用方法。
二、实验任务
任务 1:用查表法求对数
利用表格进行数据检索处理,是数据处理的一个重要方法。一
般称之为查表法。对数运算不仅运算不易,而且用汇编语言实现
也非常困难。但使用查询表来解决这类问题就非常容易和有效。
1.实验要求
① 在数据段中定义表 TABLE,其含有从 1 到 9 各整数的常用对
数。为避开处理小数,表内每个数都隐含着一个十进制小数点。
例如:4771 表示
是的 0.4771。
② 通过键盘键入一个需查询的数(范围 1~9,要求用 01H 功能
调用)。并把接收到的数调整成二进制数放入变量 NUM 内,答案
返回到 ANS 变量中。
2.提示
①DOS 系统中 01H 功能调用方法如下:
例: 带显示的键盘键入(01H 号功能)
该功能子程序等待键盘输入一个字符,把字符的 ASCII 码送入
AL,并在屏幕上显示该字符。01H 号功能调用无入口参量,出口
返回参在 AL 中。
调用方法为:
MOV AH,01H
INT 21H
② 由于从键盘输入的待查询数是以其 ASCII 码的形式送到 AL
的,因此程序一开始应将 AL 中的 ASCII 码转换成二进制数送
NUM 变量,再进行查表处理。
③ 下面给出部分程序段供参考:
数据段的定义
DATA SEGMENT
TABLE DW 0,3010,4771,6021,6990,7782,8451,9031,9542
NUM DW ?
"ANS DW ?
DATA ENDS
使用变址查表程序段
MOV AL, NUM ;要查询的数
SUB AL, 1 ;调整变址
ROL AL, 1 ;乘以 2,作为字变址
CBW ;把 AL 从字节转换为字
LEA BX, TABLE ;建立查表首地址
ADD AX, BX ;变址与偏移量相加得到要查单元的地址
MOV ANS, AX ;将结果送 ANS 变量
④ 以上步骤若出现错误,要求用 DEBUG 调试程序。
任务 2:编制一个程序,求出下列公式中 Z 的值,并存放在
RESULT 单元中,其中 X,Y 都是 8 位 2 进制数,Z 为 16 位。
Z=((X+Y)*6-X)/2
任务 3:示例:试编写一程序:将四个 16 位数相加,结果的低
16 位送 LSBR 单元中,高 16 位送 MSBR 单元中。
三、 实验指导
第一步:在 ME 或其它编辑器中输入源程序,并以 EXE1.ASM
为文件名存盘。
第 二 步 : 用 汇 编程 序 MASM 对 源 文 件 汇 编 产 生目 标 文 件
(OBJ)
MASM EXE1.ASM
第三步:如果源程序有语法错误,则汇编程序提示出错。重新
修改源程序,再编译源程序,直到没有错误为止。
第四步:用连接程序 LINK 对(OBJ)文件进行连接,产生可执
行文件(EXE 文件)。
LINK EXE1
若连接过程中没有错误,便产生了可执行文件。如果连接过程
中发现有错误,屏幕上提示出错信息,这时需要重新调入程序,
对源程序进行修改,再重新汇编、连接,直到没有错误为止。
第五步:执行文件
经过上述三步产生的可执行文件有两种运行方法:
⑴ 直接在 DOS 下运行,操作如下:
EXE1.EXE
程序一旦运行完毕,控制将返回到 DOS。
⑵ 在调试状态下运行,操作如下:
DEBUG EXE1.EXE
评论0