Exercise 9        Name _________________ Points      /13

1. (2) The interrupt vector shows the segment and offset 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 5 interrupt and Break is to be executed on a Type 3 interrupt.

   Interrupt     Physical
  Vector Table    Address          32-bit Address
| A1141401x     | 00000             2B41412Bx  Print Proc Far
|               | 00002                              :
|               | 00004                             Iret
|               | 00006                          Print Endp
|               | 00008
|               | 0000A             2BAD12B4x  Break Proc Far
|               | 0000C                              :
|               | 0000E                             Iret
|               | 00010                          Break Endp
|               | 00012
|               | 00014             A1141401x  Divide Proc Far
|               | 00016                                :
| 12345678x     | 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 Adddress
|             | 1018                412CA2B4  Int 6
|             | 1016                412CA2B6  Mov eAx, 178
|             | 1014
|             | 1012              eSp                   TF ___________
|             | 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 4:45:13 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.