1. When the assembler encounters a macro name in a program,
the block of text associated with the macro name is .
|
2. The process of substituting the block of text associated
with the macro name is called macro invocation. |
True |
False
|
3. The macro directive can be used for constant substitution
during assembly time. |
True |
False
|
4. The directives = and EQU are identical. |
True |
False
|
5. In the macro directive, the parameters are optional. |
True |
False
|
6. To invoke or call a macro, use the macro and
supply the necessary parameter values.
|
7. During macro expansion, the assembler replaces each
parameter in the macro body by its corresponding .
|
8. One use of macros is to create new instructions. |
True |
False
|
9. Macros and procedures both improve program productivity
by aiding in the development of modular source code. |
True |
False
|
10. Parameter passing in a macro invocation is similar to that in
a procedure call of assembly language. |
True |
False
|
11. Macros avoid the overhead associated with procedures
by text substitution but increase the requirement.
|
12. All parameter types that can be passed to macros can also be passed to procedures. |
True |
False
|
13. Macro invocation is done at time by text substitution.
|
14. Procedure invocation is done at time by transferring
control to the procedure.
|
15. Using macros results in
|
faster execution of the code.
|
increased memory space due to macro expansions.
|
assembly-time overhead.
|
all the above.
|
16. The directive is provided by the assembler to declare
labels in a macro local to that macro.
|
17. The labels that the assembler generates to replace the
local labels are of the form ??XXXX, where XXXX is
a hexadecimal number between 0 and
|
FH |
FFH |
FFFH |
FFFFH.
|
18. To avoid conflicts with local labels, you should not
use labels in your program that begin with .
|
19. The file is generated when a program is assembled,
and shows assembly code and the corresponding machine code,
and how macros are expanded.
|
20. The following list control directive allows listing of
subsequent source lines.
|
.LIST |
.XLIST |
.LALL |
.SALL
|
21. The following list control directive suppresses listing of
subsequent source lines.
|
.LIST |
.XLIST |
.LALL |
.SALL
|
22. The following list control directive enables listing of
macro expansions. All source lines are listed, except
those beginning with a double semicolon.
|
.XLIST |
.LALL |
.SALL |
.XALL
|
23. The following list control directive suppresses
listing of all statements in macro expansions.
|
.XLIST |
.LALL |
.SALL |
.XALL
|
24. The following list control directive lists only
the source statements in a macro expansion that
generate code or data.
|
.XLIST |
.LALL |
.SALL |
.XALL
|
25. If the assembler finds an error during macro expansion, it indicates
an error
|
at the point of the macro invocation.
|
inside the macro at the place where there is an error.
|
without showing its place.
|
26. A macro may invoke another macro and may invoke itself. |
True |
False
|
27. When the assembler encounters the pseudo-op INCLUDE MACROS,
it copies all the macro definitions from the file MACROS
into the program
|
at the beginning of the program.
|
at the position of the INCLUDE statement.
|
at the end of the program.
|
28. The INCLUDE statement
|
has to appear in the beginning of the program. |
may appear anywhere in the program,
as long as it precedes the invocation of its macros.
|
may appear anywhere in the program even after the
invocation of its macros.
|
29. Any comment that starts with will appear
only in the macro definition but not in macro expansions.
|
30. The operator forces the assembler to substitute
a parameter with the actual argument.
|
31. The operator is typically used to concatenate one or
more parameters with other text.
|
32. To substitute a parameter inside a quoted string, we need to
use the
|
literal-text string operator.
|
literal-character operator.
|
expression evaluate operator.
|
substitute operator.
|
33. The operator informs the assembler that the enclosed text
should be treated as a single string (argument) rather than
separate arguments.
|
34. Which of the following is not a parameter separator?
|
comma
|
semicolon
|
space
|
tab
|
35. Which of the operators can be used to force the assembler
to treat a character literally by removing its default special meaning?
|
literal-text string operator.
|
literal-character operator.
|
substitute operator.
|
both literal-text string and literal-character operators.
|
36. The operator preceding a character forces the assembler
to treat the character literally without its default special meaning.
|
37. Writing !; is equivalent to <;>. |
True |
False
|
38. The operator causes the expression to be evaluated
and its value replace the expression itself.
|
39. Repeat block directives can be used
|
inside a macro definition.
|
outside a macro definition.
|
both inside and outside a macro definition.
|
40. When the assembler encounters the macro,
the statements in the macro body are repeated a number
of times equivalent to the value of the expression.
|
41. The statments in the macro body of the WHILE directive
are repeated until the expression evaluates to
|
false.
|
true.
|
non-zero.
|
42. The directive causes the statements in the macro body
to be repeated once for each argument.
|
43. The directive causes the statements in the macro body
to be repeated once for each character in the string argument.
|
44. directives may be used to assemble certain
statements and exclude others.
|
45. The IF directive assembles the then part if the expression
evalues to
|
true.
|
false.
|
zero.
|
46. The IFE directive assembles the then part if the expression
evalues to
|
true.
|
false.
|
non-zero.
|
47. The operator returns the number of bytes reserved for
the operand in memory.
|
48. The directive is used for displaying text on the screen.
|
49. The IFNDEF directive causes the conditional block of statements
to be assembled if the symbol is
|
defined.
|
not defined.
|
declared as EXTRN.
|
50. The IFB directive assembles the then part if the argument is
|
blank.
|
non blank.
|
defined.
|
not defined.
|
51. The directive stops any macro expansion or repeat block expansion that is in progress.
All remaining statements after this directive are ignored.
|
52. When the assembler encounters the directive,
it displayes the message "forced error", which indicates
a fatal assembly error.
|
53. The IFIDN directive causes the condition block of statements
to be assembled if the arguments are
|
identical character strings (case sensitive).
|
identical character strings (case insensitive).
|
different character strings (case sensitive).
|
different character strings (case insensitive).
|
54. The IFDIFI directive causes the condition block of statements
to be assembled if the arguments are
|
identical character strings (case sensitive).
|
identical character strings (case insensitive).
|
different character strings (case sensitive).
|
different character strings (case insensitive).
|
55. All directives introduce
|
only assembly-time overhead.
|
only run-time overhead.
|
only assembly-time overhead but not run-time overhead.
|
both assembly-time and run-time overhead.
|
|