一.实验目的及实验环境
实验环境:
1、熟悉宏指令、宏定义、宏调用以及宏展开的概念;掌握宏指令的定义与调用
的方法。
2、掌握子程序的定义、调用以及调用程序与子程序之间参数的传递方法。
3、了解宏指令与子程序的异同以及各自的适用场合。
实验环境:80x86系列微型计算机一台以及进行汇编语言程序设计所必需的编程工具(文本编辑器、ASM.EXE、LINK.EXE、DEBUG.EXE)
二.实验内容
从键盘输入10个无符号十进制数(小于256),将其转换为二进制数并存放在NUM字节型变量中,找出其中的
最大数,并将找出的最大数在屏幕上
显示出来。
要求:
①在屏幕上显示字符串提示信
息的功能由宏指令DSTRING实现;
②将键盘输入的十进制数转换
成二进制数由子程序DTOB实现;
③在N个无符号字节型二进制
数中找出最大数的功能由子程序
FMAX实现;
④将一个无符号字节型二进制
数转换为十进制数并在屏幕上显示
的功能由子程序BTOAD实现。
程序运行结果如右图所示。
三.方案设计
1、编程指导
(1)显示提示信息的宏指令DSTRING的编写
宏指令通常用于在程序中需要反复使用但所需指令条数又不是很多的情形;而对于需要经常使用且需要较多指令才能完成的功能通常通过子程序调用来实现。这是因为,从执行速度上看,由于子程序调用涉及到保护断点的操作,因此,子程序调用比宏调用执行时间相对要稍长一些;但从生成的可执行文件的大小方面考虑,子程序调用生成的文件要小一些。读者在进行汇编语言程序设计时,应综合考虑两者的利弊,以便进行合理选择。
下面给出实现提示信息显示的宏指令的定义:
DSTRING MACRO STRING
PUSH DX
PUSH AX
MOV DX,OFFSET STRING
MOV AH,09H
INT 21H
POP AX