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

  1. ;  File......: SYSREQ.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_ISSYSRQ()
  22. ;   $CATEGORY$
  23. ;       Keyboard
  24. ;   $ONELINER$
  25. ;       Checks SYSRQ key
  26. ;   $SYNTAX$
  27. ;       GT_isSysRq() --> lRet
  28. ;   $ARGUMENTS$
  29. ;       None
  30. ;   $RETURNS$
  31. ;       lRet    -       TRUE if SysRq is being pressed, otherwise FALSE
  32. ;   $DESCRIPTION$
  33. ;       Checks status of the SysRq Key (ALT-PRTSCR)
  34. ;       Can anyone tell me what this key is supposed to do?
  35. ;   $EXAMPLES$
  36. ;       if GT_isSysRq()
  37. ;           ? "Get your grubby fingers off the sysrq key."
  38. ;       endif
  39. ;   $END$
  40. ;
  41.  
  42. ; This has been written using TASM
  43. ; If you are using MASM you might have to change things
  44. ; around a little
  45. ; look for comments telling you what to do
  46. ;
  47.  
  48. ;MASM   remove next line
  49.  
  50.                 IDEAL
  51.  
  52.  
  53. Public          GT_ISSYSRQ
  54.  
  55. Extrn           __RetL:Far
  56.  
  57. ;MASM change next line to
  58. ;               GtLibrary       SEGMENT WORD  "CODE"
  59. Segment         GtLibrary       Word    "CODE"
  60.                 Assume          CS:GtLibrary
  61.  
  62. ;MASM change next line to
  63. ;               GT_ISSYSRQ      PROC FAR
  64. Proc            GT_ISSYSRQ      Far
  65.  
  66.                 PUSH    ES                         ; save for later
  67.  
  68. ; set up ES:[BX] to point to the address 0x00000418
  69.                 MOV     AX,40H
  70.                 MOV     ES,AX
  71.                 MOV     BX,18H
  72.  
  73.                 XOR     AH,AH                      ; Clear high byte of AX
  74.                 MOV     AL,BYTE PTR ES:[BX]        ; Get keyboard flags 2
  75.                 AND     AL,04H                     ; isolate bit 3
  76.                 PUSH    AX
  77.                 CALL    __RETL                     ; set up CLIPPER return
  78.                 ADD     SP, 2                      ; reset stack ptr
  79.                 POP     ES                         ; restore ES
  80.                 RET
  81.  
  82. ;MASM change next line to
  83. ;               GT_ISSYSRQ      ENDP
  84. EndP            GT_ISSYSRQ
  85.  
  86. ;MASM change next line to
  87. ;               GtLibrary       ENDS
  88. EndS            GtLibrary
  89.  
  90.                 End
  91.