Table of Contents
Note: This IBM PC BIOS API call is for DOS/Win16 personality only. Use Family API for portability.
Note: osFree Macro Library provides macros for most of functions
Int 10H, AH=08H
Version
IBM 5150 and higher
Brief
Get character and attribute undr cursor
osFree Macro Library
Family API
Parameters
- AH = 08h
 - BH = page number
 
Return
- AH - attribute
 - AL - character
 
Macro
INCLUDE BIOS.INC @GetChAtr 0
Notes
- for monochrome displays, a foreground of 1 with background 0 is underlined
 - the blink bit may be reprogrammed to enable intense background colors using AX=1003h or by programming the CRT controller
 - the foreground intensity bit (3) can be programmed to switch between character sets A and B on EGA and VGA cards, thus enabling 512 simultaneous characters on screen. In this case the bit's usual function (intensity) is regularly turned off.
 - in graphics modes, only characters drawn with white foreground pixels are matched by the pattern-comparison routine
 - on the Tandy 2000, BH=FFh specifies that the current page should be used
 - because of the IBM BIOS specifications, there may exist some clone BIOSes which do not preserve SI or DI; the Novell DOS kernel preserves SI, DI, and BP before many INT 10h calls to avoid problems due to those registers not being preserved by the BIOS.
 - some IBM PC ROM BIOSes destroy BP when in graphics modes
 - Text based on Ralf Brown Interrupt List Release 61
 
| IBM PC BIOS API | |
|---|---|
| Video I/O | INT 10H: 00H, 01H, 02H, 03H, 05H, 06H, 07H, 08H, 09H, 0AH, 0BH, 0CH, 0DH, 0EH, 0FH | 
| Hardware info | INT 11H, INT 12H | 
| Serial I/O | INT 14H: 00H, 01H, 02H, 03H | 
| Tape I/O | INT 15H: 00H, 01H, 02H, 03H | 
| Keyboard I/O | INT 16H: 00H, 01H, 02H | 
| Printer I/O | INT 17H: 00H, 01H, 02H | 
| Disk I/O | INT 13H: 00H, 01H, 02H, 03H, 04H, 05H | 
| Date and Time | INT 1AH: 00H, 01H | 
| 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 | 





