2020301918-os/lib/terminal.c
2022-10-02 12:54:35 +08:00

18 lines
391 B
C

#include "terminal.h"
#include "cmatrix.h"
inline static void
write_to_terminal(u16 disp_pos, u16 content)
{
asm(
"mov %1, %%gs:(%0)" ::"r"(disp_pos * 2), "r"(content)
: "memory");
}
void
clear_screen()
{
u16 content = DEFAULT_COLOR | ' ';
for (int i = 0; i < TERMINAL_ROW; i++)
for (int j = 0; j < TERMINAL_COLUMN; j++)
write_to_terminal(TERMINAL_POS(i, j), content);
}