Add a debug output utility.

This commit is contained in:
Drew Galbraith 2023-05-17 20:42:59 -07:00
parent c2af2eee97
commit 872e6f3392
4 changed files with 24 additions and 4 deletions

View File

@ -1,6 +1,12 @@
add_executable(zion
debug/debug.cpp
zion.cpp)
target_include_directories(zion
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
)
# -c -- Don't run the linker.
# -nostdlib -- Don't include the standard library.
# -mabi=sysv -- Explicitly specify the ABI since we will rely on it.

13
zion/debug/debug.cpp Normal file
View File

@ -0,0 +1,13 @@
#include "debug/debug.h"
#include "common/port.h"
#define COM1 0x3f8
void dbgln(const char* str) {
while (*str != 0) {
outb(COM1, *str);
str++;
}
outb(COM1, '\n');
}

3
zion/debug/debug.h Normal file
View File

@ -0,0 +1,3 @@
#pragma once
void dbgln(const char *str);

View File

@ -1,11 +1,9 @@
#include <stdint.h>
#include "common/port.h"
#define COM1 0x3f8
#include "debug/debug.h"
extern "C" void zion() {
outb(COM1, 'a');
dbgln("Hello World!");
while (1)
;