aboutsummaryrefslogtreecommitdiffstats
path: root/src/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel')
-rw-r--r--src/kernel/kernel.asm10
-rw-r--r--src/kernel/kernel.print.asm21
2 files changed, 31 insertions, 0 deletions
diff --git a/src/kernel/kernel.asm b/src/kernel/kernel.asm
new file mode 100644
index 0000000..244be91
--- /dev/null
+++ b/src/kernel/kernel.asm
@@ -0,0 +1,10 @@
+ ;; kernel.asm
+ [bits 32]
+ [org 0x1000]
+
+%define VGA_COLOR_BLACK 0
+%define VGA_COLOR_GREEN 2
+%define VGA_COLOR_RED 4
+
+_kernel_entry:
+
diff --git a/src/kernel/kernel.print.asm b/src/kernel/kernel.print.asm
new file mode 100644
index 0000000..d7a6a7d
--- /dev/null
+++ b/src/kernel/kernel.print.asm
@@ -0,0 +1,21 @@
+ ;; kernel.print.asm
+%define VGA_BUFFER 0xB8000
+_terminal_getidx:
+ push ax
+ shl dh, 1
+ mov al, VGA_WIDTH
+ mul dl
+ mov dl, al
+ shl dl, 1
+ add dl, dh
+ mov dh, 0
+ pop ax
+ ret
+
+_terminal_set_color:
+ shl dl, 4
+ or dl, dh
+ mov [terminal_color], dl
+ ret
+
+