AH = 24h AL = character (ASCII) BH = color (0–15, 0=black) INT 18h
AH = 25h AL = lines to scroll CH = top row, CL = left col DH = bottom row, DL = right col BH = fill color INT 18h
AH = 10h INT 18h Returns: AL = ASCII, AH = scancode pc-98 bios
msg db 'Hello from PC-98 BIOS!', 0
AH = 45h DL = drive Returns: BL = sectors per track, BH = heads Get system timer ticks AH = 24h AL = character (ASCII) BH
AH = 42h (same registers as read)
AH = 71h INT 18h Returns: AX = KB of RAM (usually 640) write character mov bh
AH = 40h DL = drive (0=A, 1=B, etc.) INT 18h Returns: CF = 0 if OK
; NASM syntax, PC-98 target ORG 100h start: mov ah, 24h ; write character mov bh, 7 ; gray on black mov si, msg .loop: lodsb test al, al jz done mov al, al int 18h jmp .loop done: ret
AH = 62h CX:DX = microseconds between interrupts INT 18h
AH = 63h CX:DX = microseconds INT 18h (blocks) Get BIOS version