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'; |