Example:
| Macro
Definition |
Use in
Program |
Macro
Expansion |
_Div Macro N Mov Dx, 0 Mov Bx, &N Div Bx endm |
Call GetDec _Div 34 Call PutDec |
Call GetDec Mov Dx, 0 Mov Bx, 34 Div Bx Call PutDec |
| Macro
Definition |
Use in
Program |
Macro
Expansion |
_Swap Macro A, B PushA Mov Ax, &A Mov Bx, &B Mov &A, Bx Mov &B, Ax PopA endm |
_Swap X, Y |
2. (4)
| Macro
Definition |
Use in
Program |
Macro
Expansion |
_DCG Macro X, Y local L ifb <&y> exitm endif while&L: cmp &Y, 0 Jne do&L Jmp endwhile&L do&L: _Swap &X, &Y Jmp while&L endwhile&L: endm |
_DCG A, B |
3. (4) Give the macro to compute the power of xn, x is signed and n unsigned 8 bit, both may be constants. The result is in Ax. No overflow checking is performed. Use the following real operations.
Mov Ax, 1 Mov Cx, x Mov Bh, n while: Cmp Bh, 0 Ja do Jmp endwhile do: Imul Cx Dec Bh Jmp while endwhile:Part B. Give the results of the following bit operations:
MOV AL,01001010B ZF = _0_ AND AL,00001010B AL = _00001010_ MOV AL,00011100B ZF = _0_ STC CF = _0_ RCR AL,1 AL = _10001110_
4. (3) MOV CL,5 CLC ZF = __ MOV AL,11101110B CF = __ ROL AL,CL AL = _____________ 5. (3) MOV CL, 4 ZF = __ MOV AL,10100000B CF = __ SAR AL, CL AL = _____________ 6. (3) MOV AL, 10010001B ZF = __ OR AL, 10000001B AL = _____________
Document last modified: