实验六 子程序和宏汇编的程序设计

. 实验目的:

1. 掌握子程序设计和调试方法

2. 掌握多模块汇编程序设计方法

3. 掌握宏汇编的程序设计方法

. 实验要求:

1. 掌握子程序设计方法,包括:

A 子程序间参数简单传递方法

B 利用堆栈传递方法

C 子程序的递归

2. 掌握多模块汇编程序的设计、调试,包括:

A PUBLIC 和 EXTRN 伪指令的使用方法

B 多模块的链接

3. 掌握宏汇编的程序设计方法

. 实验仪器:

PC 机一台

. 实验内容:

6.1 将一串 ASCII 码中小写英文字母转换成大写, 该串以 "$" 结束,要求判别和转换用子程序实现。

6.2 将一串十六进制数转换成对应的 ASCII 码, 其中转换过程用子程序实现。

6.3 将 DISPLAY 单元 ( WORD ) 中的数据用二进制的方式显示, 其中子程序完成将 AX 中数据显示的功能。

6.4 主程序读入一串字符后, 利用堆栈方式将该字符串的段址,偏移及串长传给子程序, 在子程序中加以显示, 返回主程序后显示 'OK'。

6.5 利用堆栈方法实现 N! 的计算。

6.6 A模块中有两组无符号数, B 模块是加法程序, 在 A 模块中两次调用 B 模块实现加法。其参数用 PUBLIC 和 EXTRN 方式进行传递。

6.7 利用数据段以 COMMAND 方式完成第 6 题的要求。

6.8 编写可实现左右移多位的宏定义,并利用该宏定义实现 A1 左移 3 位, A2 右移 5 位的程序。同时, 利用显示子程序将移位前后的数据加以显示。

6.9 编写用查表法求 1 ~ 15 平方的程序, 其中平方表用宏定义实现。 数据由键盘输入 ( 00 推出 )结果在屏幕上显示。

6.10 自编题。