Table of Contents
Note: This API call is for DOS 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
AH=02h,AH=09h,AH=0BH
Note
Text based on Ralf Brown Interrupt List Release 61
DOS API | |
---|---|
Process manager | INT 20H, INT 21H: 00H, 25H, 26H, 31H, 34H, 35H, 4CH, INT 22H, INT 27H, INT 28H |
File manager | INT 25H, INT 26H, INT 21H: 0DH, 0EH, 0FH, 10H, 11H, 12H, 13H, 14H, 15H, 16H, 17H, 19H, 1AH, 1BH, 1CH, 21H, 22H, 23H, 24H, 27H, 28H, 29H, 2EH, 2FH, 32H, 3305H, 36H, 39H, 3AH, 3BH |
Character Device I/O | INT 29H, INT 21H: 01H, 02H, 03H, 04H, 05H, 06H, 07H, 08H, 09H, 0AH, 0BH, 0AH, 0CH |
Signals | INT 23H, INT 24H, INT 21H: 3300H, 3301H, 3302H |
Memory manager | |
Date and Time | INT 21H: 2AH, 2BH, 2CH, 2DH |
Misc | INT 21H: 30H, 3306H, 3700H, 3701H, 3702H, 3703H |
NLS | INT 21H: 3303H, 3304H, 3800H, 3801H |