home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1991 / 04 / tricks / int09.asm < prev    next >
Encoding:
Assembly Source File  |  1991-01-08  |  1.1 KB  |  67 lines

  1. ;* ------------------------------------------------------- *
  2. ;*                    INT09.ASM                            *
  3. ;*      (c) 1991 Hanno-Ekkehard Müller & TOOLBOX           *
  4. ;* ------------------------------------------------------- *
  5. DATA Segment Word Public
  6.      Extrn ButtonPressed
  7. DATA ends
  8.  
  9. CODE Segment Byte Public
  10.      Public Int09
  11.      ASSUME cs:CODE, ds:DATA
  12.  
  13. Int09 PROC FAR
  14.  
  15.      PUSH ax
  16.      PUSH bx
  17.      PUSH dx
  18.      PUSH ds
  19.  
  20.      MOV  ax,Data
  21.      MOV  ds,ax
  22.  
  23.      IN   al,60h
  24.      XOR  ah,ah
  25.      MOV  bx,ax
  26.  
  27.      TEST bx,80h
  28.      JZ   Pressed
  29.  
  30. ; Released
  31.  
  32.      XOR  bx,80h
  33.      MOV  ButtonPressed[bx],0
  34.      JMP  Short TheEnd
  35.  
  36. Pressed:
  37.  
  38.      MOV  ButtonPressed[bx],1
  39.  
  40. TheEnd:
  41.  
  42.      MOV  dx,61h
  43.      IN   al,dx
  44.      OR   al,80h
  45.      OUT  dx,al
  46.      XOR  al,80h
  47.      OUT  dx,al
  48.  
  49.      MOV  al,20h
  50.      OUT  20h,al
  51.  
  52.      POP  ds
  53.      POP  dx
  54.      POP  bx
  55.      POP  ax
  56.  
  57.      IRET
  58.  
  59. Int09 ENDP
  60.  
  61.  
  62. CODE ENDS
  63.  
  64. END
  65. ;* ------------------------------------------------------- *
  66. ;*                 Ende von INT09.ASM                      *
  67.