Google

May 27, 2008

options available for int 21h instruction

NT 21h / AH=01h - read character from standard input, with echo, result is stored in AL.
----------------------------------------

INT 21h / AH=02h - write character to standard output.
entry: DL = character to write, after execution AL = DL.
--------------------------------------------------------------------------------


INT 21h / AH=06h - direct console input;
returns: ZF set if no character available and AL = 00h, ZF clear if character available.
AL = character read; buffer is cleared.
--------------------------------------------------------------------------------


INT 21h / AH=07h - character input without echo.
--------------------------------------------------------------------------------


INT 21h / AH=09h - output of a string at DS:DX. String must be terminated by '$' sign.
--------------------------------------------------------------------------------


INT 21h / AH=0Ah - input of a string to DS:DX, fist byte is buffer size (open int21.asm in c:\emu8086\examples), second byte is number of chars actually read. Does not add '$' in the end of string. To print using INT 21h / AH=09h you must set dollar sign at the end of it and start printing from address DS:DX + 2.
--------------------------------------------------------------------------------


INT 21h / AH=0Bh - get input status;
returns: AL = 00h if no character available, AL = 0FFh if character is available.
--------------------------------------------------------------------------------


INT 21h / AH=0Ch - flush keyboard buffer and read standard input.
entry: AL = number of input function to execute after flushing buffer (can be 01h,06h,07h,08h, or 0Ah - for other values the buffer is flushed but no input is attempted); other registers as appropriate for the selected input function.
----------------------------

INT 21h / AH=25h - set interrupt vector;
input: AL = interrupt number. DS:DX -> new interrupt handler.
----------------------------------------
----------------------------------------


INT 21h / AH=2Ah - get system date;
return: CX = year (1980-2099). DH = month. DL = day. AL = day of week (00h=Sunday)
--------------------------------------------------------------------------------


INT 21h / AH=2Ch - get system time;
return: CH = hour. CL = minute. DH = second. DL = 1/100 seconds.
--------------------------------------------------------------------------------


INT 21h / AH=35h - get interrupt vector;
entry: AL = interrupt number;
return: ES:BX -> current interrupt handler.


You might be also interested in:
:: Find Square Root of a hexadecimal number in assembly language
:: common intreview questions on 8086
:: Assembly Language Source Codes
:: why there are two ground pins in 8086

No comments: