经典汇编语言教程:9.7 习题

9.7 习题

9.1、在宏定义时,使用的关键字是什么?宏名是否需要成对出现?

9.2、在宏引用时,是否要求实参与形参的个数相等?若不要求,请简述当二者个数不一致时,会出现什么情况。

9.3、宏和子程序的主要区别有哪些?一般在什么情况下选用宏较好,在什么情况下选用子程序较好?

9.4、宏的参数如何传入宏定义体的?宏的参数传递与子程序的参数传递有哪些区别?

9.5、在有标号的宏定义体中,为什么最好使用LOCAL伪指令来说明标号?它在宏定义体中应处于什么位置?

9.6、子程序和宏中的LOCAL伪指令的作用有哪些不同?

9.7、编写32位相加的宏ADD32,它把32位寄存器组BX-AX加到DX-CX中。

9.8、编写符号扩展的宏CBD,它将存于AL中的有符号数扩展成ECX-EBX中64位有符号数(其中:ECX是64位有符号数的高位)。

9.9、编写字母大小写互换的宏Exchange,其有一个形参,允许字节型的寄存器或存储单元作为实参来引用。

9.10、编写一个宏AddList  Para1, Para2,num,其功能是将从Para2开始的内存单元的值加到以Para1开始的内存单元中,num是相加的字节数。

9.11、编写一个宏SUM Data, Length, Result,其功能是求从Data开始的字节累加和,并把结果存入字类型参数Result中,Length是需要累加的字节数。

9.12、编写一个宏来定义26个大写字母表。

9.13、编写一个宏,它产生n条NOP指令,其中n是宏的形式参数。

9.14、INCLUDE指示符的作用是什么?

9.15、编写只有一个形式参数的宏PRINT,其具体功能如下:

1)、若引用时带有参数,则在屏幕上显示其参数字符,如:PRINT 'A',则显示字符'A';
2)、若引用时不带实参,则显示回车和换行,如:PRINT。
提示:用IFB或IFNB语句来测试是否有参数。

上页:上一课 下页:下一课

经典汇编语言教程·相关目录

第1章 汇编语言的由来,数据类型第2章 CPU资源和存储器
第3章 操作数的寻址方式第4章 标识符和表达式
第5章 微机CPU的指令系统第6章 程序的基本结构
第7章 子程序和库第8章 输入输出和中断
第9章 宏第10章 应用程序设计
第11章 数值运算协处理器第12章 汇编语言和C语言
汇编语言重要附录Windows API函数大全
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号