1. (2) The interrupt vector shows the 32-bit address of the Divide routine executed when a Divide Overflow or Type 0 interrupt occurs. Fill in the interrupt vector assuming that Print is to be executed on a Type 4 interrupt and Break is to be executed on a Type 3 interrupt.
Interrupt Physical
Vector
Address 32-bit Address
| 01231401 |
00000 01231401 Print Proc Far
| |
00002
:
|
|
00004
Iret
|
|
00006
Print Endp
|
| 00008
|
|
0000A 01231234 Break Proc Far
|
|
0000C
:
|
|
0000E
Iret
| |
00010
Break Endp
|
|
00012
|
|
00014 0123FEDD Divide Proc Far
|
|
00016
:
| 0123DCDE |
00018
Iret
| |
0001A
Divide Endp
2. (4) Show the stack contents and indicated registers after the execution of the Int 6 instruction below.
101A <- eSp
32-bit Address
|
|
1018
0123DCDE Int 6
|
|
1016
0123BCDC Mov eAx, 178
|
| 1014
|
|
1012
eSp
|
| 1010
|
|
100E
IF
eIp ___________
3. (4) Give the Assembly code fragment that uses
the BIOS Int 10h to read the character at cursor
position row 10, column 42 on video page 0.
4. (2) Using DOS Int 21h, give the code fragment
to set the system time to 5:30:45 pm.
5. (1) Using the DOS Int 21h interrupt, give the
code fragment to wait for any key to be pressed and read the key that was
pressed.