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      Address          Segment:Offset
| Offset  1401  | 00000             2B41 : 412B  Print Proc Far
| Segment A114  | 00002                              :
|               | 00004                             Iret
|               | 00006                          Print Endp
|               | 00008
|               | 0000A             2BAD : 12B4  Break Proc Far
|               | 0000C                              :
|               | 0000E                             Iret
|               | 00010                          Break Endp
|               | 00012
|               | 00014             A114 : 1401  Divide Proc Far
|               | 00016                                :
| Offset  1234  | 00018                               Iret
| Segment 5678  | 0001A                          Divide Endp

2. (4) Show the stack contents and indicated registers after the execution of the Int 6 instruction below.

                101A  <- Sp      Segment : Offset
|             | 1018                412C : A2B4  Int 6
|             | 1016                412C : A2B6  Mov Ax, 178
|             | 1014
|             | 1012              Sp                   Cs ___________
|             | 1010
|             | 100E              IF                   Ip ___________
 

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.