; ; writechr: Write a single character in AL to the console without ; mangling any registers; handle video pages correctly. ; section .text writechr: call write_serial ; write to serial port if needed pushfd test byte [cs:UsingVGA], 08h jz .videook call vgaclearmode .videook: test byte [cs:DisplayCon], 01h jz .nothing pushad mov ah,0Eh mov bl,07h ; attribute mov bh,[cs:BIOS_page] ; current page int 10h popad .nothing: popfd ret