home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / Assembly / KBD_IO19.ASM < prev    next >
Assembly Source File  |  1986-09-25  |  884b  |  34 lines

  1. CGROUP    GROUP    CODE_SEG
  2.     ASSUME    CS:CGROUP, DS:CGROUP
  3.  
  4.  
  5. CODE_SEG    SEGMENT PUBLIC
  6.     PUBLIC    READ_BYTE
  7. ;-----------------------------------------------------------------------;
  8. ; This procedure reads a single ASCII character.  This is just        ;
  9. ; a test version of READ_BYTE.                        ;
  10. ;                                    ;
  11. ; Returns byte in    AL    Character code (Unless AH = 0)        ;
  12. ;            AH    1 if read ASCII char            ;
  13. ;                -1 if read a special key        ;
  14. ;-----------------------------------------------------------------------;
  15. READ_BYTE    PROC    NEAR
  16.     MOV    AH,7            ;Read character without echo
  17.     INT    21h            ; and place into AL
  18.     OR    AL,AL            ;Is it an extended code?
  19.     JZ    EXTENDED_CODE        ;Yes
  20. NOT_EXTENDED:
  21.     MOV    AH,1            ;Signal normal ASCII character
  22. DONE_READING:
  23.     RET
  24.  
  25. EXTENDED_CODE:
  26.     INT    21h            ;Read the extended code
  27.     MOV    AH,0FFh            ;Signal extended code
  28.     JMP    DONE_READING
  29. READ_BYTE    ENDP
  30.  
  31. CODE_SEG    ENDS
  32.  
  33.     END
  34.