home *** CD-ROM | disk | FTP | other *** search
/ Power CD-ROM!! 7 / POWERCD7.ISO / prgmming / clipper / ctrl.asm < prev    next >
Assembly Source File  |  1993-10-14  |  2KB  |  89 lines

  1. ;  File......: CTRL.ASM
  2. ;  Author....: Andy M Leighton
  3. ;  BBS.......: The Dark Knight Returns
  4. ;  Net/Node..: 050/069
  5. ;  User Name.: Andy Leighton
  6. ;  Date......: $Date$
  7. ;  Revision..: $Rev$
  8. ;
  9. ;  This is an original work by Andy Leighton and is placed in the public
  10. ;  domain.
  11. ;
  12. ;  Modification history:
  13. ;  ---------------------
  14. ;
  15. ;  $Log$
  16. ;
  17. ;
  18. ;
  19. ;   $DOC$
  20. ;   $FUNCNAME$
  21. ;       GT_ISCTRL()
  22. ;   $CATEGORY$
  23. ;       Keyboard
  24. ;   $ONELINER$
  25. ;       Checks Control key
  26. ;   $SYNTAX$
  27. ;       GT_isCtrl() --> lRet
  28. ;   $ARGUMENTS$
  29. ;       None
  30. ;   $RETURNS$
  31. ;       lRet    -       TRUE if Ctrl is being pressed, otherwise FALSE
  32. ;   $DESCRIPTION$
  33. ;       Checks status of the Ctrl Key
  34. ;   $EXAMPLES$
  35. ;       if GT_isCtrl()
  36. ;           ? "Get your grubby fingers off the control key."
  37. ;       endif
  38. ;   $END$
  39. ;
  40.  
  41. ; This has been written using TASM
  42. ; If you are using MASM you might have to change things
  43. ; around a little
  44. ; look for comments telling you what to do
  45. ;
  46.  
  47. ;MASM   remove next line
  48.  
  49.                 IDEAL
  50.  
  51.  
  52. Public          GT_ISCTRL
  53.  
  54. Extrn           __RetL:Far
  55.  
  56. ;MASM change next line to
  57. ;               GtLibrary       SEGMENT WORD  "CODE"
  58. Segment         GtLibrary       Word    "CODE"
  59.                 Assume          CS:GtLibrary
  60.  
  61. ;MASM change next line to
  62. ;               GT_ISCTRL       PROC FAR
  63. Proc            GT_ISCTRL       Far
  64.  
  65.                 PUSH    ES                         ; save for later
  66. ; set up ES:[BX] to point to the address 0x00000417
  67.                 MOV     AX,40H
  68.                 MOV     ES,AX
  69.                 MOV     BX,17H
  70.  
  71.                 XOR     AH,AH                      ; Clear high byte of AX
  72.                 MOV     AL,BYTE PTR ES:[BX]        ; Get keyboard flags
  73.                 AND     AL,04H                     ; isolate bit 3
  74.                 PUSH    AX
  75.                 CALL    __RETL                     ; set up CLIPPER return
  76.                 ADD     SP, 2                      ; reset stack ptr
  77.                 POP     ES                         ; restore ES
  78.                 RET
  79.  
  80. ;MASM change next line to
  81. ;               GT_ISCTRL       ENDP
  82. EndP            GT_ISCTRL
  83.  
  84. ;MASM change next line to
  85. ;               GtLibrary       ENDS
  86. EndS            GtLibrary
  87.  
  88.                 End
  89.