25 lines
483 B
ArmAsm
25 lines
483 B
ArmAsm
/* https://github.com/cirosantilli/x86-bare-metal-examples#bios-color */
|
|
|
|
#include "common.h"
|
|
BEGIN
|
|
|
|
/* ID of character to print. */
|
|
mov $0x0961, %ax
|
|
/* Page, color, */
|
|
mov $0x0034, %bx
|
|
/* How many times to write.
|
|
* If too big, wraps around screen.
|
|
*/
|
|
mov $0x0002, %cx
|
|
int $0x10
|
|
|
|
/* The new color is reused only for character that overwrite the writen region.
|
|
*
|
|
* Cursor is not moved by the previous interrupt, so this produces a colored 'a'.
|
|
*/
|
|
PUTC $'b
|
|
PUTC $'c
|
|
PUTC $'d
|
|
|
|
hlt
|