Table of Contents
Note: This API call is for DOS and Win16 personality only. Use Family API for portability.
Int 21H, AH=06H
Version
1 and higher
Brief
DIRECT CONSOLE OUTPUT/INPUT
Family API
Input
AH = 06h DL = output character (except FFh) DL = FFh - input character
Return
On output:
AL = character output (despite official docs which state nothing is returned) (at least DOS 2.1-7.0)
On input:
ZF set if no character available AL = 00h
ZF clear if character available AL = character read
Notes
does not check ^C/^Break
writes to standard output, which is always the screen under DOS 1.x, but may be redirected under DOS 2+
if the returned character is 00h, the user pressed a key with an extended keycode, which will be returned by the next call of this function
this function reads from standard input, which is always the keyboard under DOS 1.x, but may be redirected under DOS 2+
although the return of AL=00h when no characters are available is not documented, some programs rely on this behavior
See also
Note
Text based on Ralf Brown Interrupt List Release 61
osFree Macro Library | |
---|---|
Video I/O | @SetMode @SetCurSz @SetCurPos @GetCur @SetPage @ScrollUp @ScrollDn @Scroll @GetChAtr @PutChAtr @PutCh @SetPalet @SetColor @SetDot @GetDot @WrtTTY @VideoState @GetMode @GetDisplay @GetVideoState @GetEGAInfo @Cls |
Hardware info | @Equipment @MemSize |
Serial I/O | @AuxInit @AuxSendChar @AuxRecieveChar @AuxStatus |
Tape I/O | @TapeOn @TapeOff @TapeRead @TapeWrite |
Keyboard I/O | @KbdStatus @CharIn @CharPeek |
Printer I/O | @PrnPrint @PrnInit @PrnStatus |
Disk I/O | @DskReset @DskStatus @DskRead @DskWrite @DskVerify @DskFormat |
Date and Time | @SetTime @GetTime |
Mouse | @MouInit @MouShowPointer @MouStatus @MouSetPos @MouSetMickey @MouRegion |
Memory manager | @ModBlok SET_BLOCK |