Function  09h	 Write Character and Attribute - at current cursor position

entry AH 09h

AL ASCII code of character to display

BH display page number - text mode

BL attribute/color of character

CX number of characters to write

return none

note 1) CX should not exceed actual rows availible, or results may be erratic

2) Setting CX to zero will cause runaway

3) All values of AL result in some sort of display; the various control

characters are not recognized as special and do not change the current

cursor position

4) Does not change cursor position when called - the cursor must be

advanced with int 10 function 0Ah.

5) If used to write characters in graphics mode with bit 7 of AH set to 1

the character will by XORed with the current display contents.

6) In graphics mode the bit patterns for ASCII character codes 80h-0FFh

are obtained from a table. On the standard PC and AT, the location is at

interrupt vector 01Fh (0000:007C). For ASCII characters 00h-07Fh, the

table is at an address in ROM. On the PCjr the table is at interrupt

vector 44h (0000:00110) and is in addressable RAM (may be replaced by

the user)

7) All characters are displayed, including CR, LF, and BS

Function 09h Write Character and Attribute - at current cursor position

Sample Code:

\Asm\Lib\BIOS.INC -@BIOSVidChrAtrOut MACRO char,atrib,page,repeat