;
; 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
