Exercise 9        Name _________________ Points      /13

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.