diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/a.c | 34 | ||||
-rw-r--r-- | apps/b.c | 36 | ||||
-rw-r--r-- | apps/init.c | 35 |
3 files changed, 8 insertions, 97 deletions
@@ -1,41 +1,11 @@ // MIT License, Copyright (c) 2020 Marvin Borner #include <def.h> -#include <str.h> - -u8 inb(u16 port) -{ - u8 value; - __asm__ volatile("inb %1, %0" : "=a"(value) : "Nd"(port)); - return value; -} - -void outb(u16 port, u8 data) -{ - __asm__ volatile("outb %0, %1" ::"a"(data), "Nd"(port)); -} - -int is_transmit_empty() -{ - return inb(0x3f8 + 5) & 0x20; -} - -void serial_put(char ch) -{ - while (is_transmit_empty() == 0) - ; - outb(0x3f8, (u8)ch); -} - -void serial_print(const char *data) -{ - for (u32 i = 0; i < strlen(data); i++) - serial_put(data[i]); -} +#include <print.h> void main() { while (1) { - serial_print("a"); + print("a"); } } @@ -1,42 +1,12 @@ // MIT License, Copyright (c) 2020 Marvin Borner #include <def.h> -#include <str.h> - -u8 inb(u16 port) -{ - u8 value; - __asm__ volatile("inb %1, %0" : "=a"(value) : "Nd"(port)); - return value; -} - -void outb(u16 port, u8 data) -{ - __asm__ volatile("outb %0, %1" ::"a"(data), "Nd"(port)); -} - -int is_transmit_empty() -{ - return inb(0x3f8 + 5) & 0x20; -} - -void serial_put(char ch) -{ - while (is_transmit_empty() == 0) - ; - outb(0x3f8, (u8)ch); -} - -void serial_print(const char *data) -{ - for (u32 i = 0; i < strlen(data); i++) - serial_put(data[i]); -} +#include <print.h> void main() { - serial_print("\nB loaded\n"); + print("\nB loaded\n"); while (1) { - serial_print("b"); + print("b"); } } diff --git a/apps/init.c b/apps/init.c index c35f26f..91f5083 100644 --- a/apps/init.c +++ b/apps/init.c @@ -1,43 +1,14 @@ // MIT License, Copyright (c) 2020 Marvin Borner #include <def.h> +#include <print.h> #include <str.h> -u8 inb(u16 port) -{ - u8 value; - __asm__ volatile("inb %1, %0" : "=a"(value) : "Nd"(port)); - return value; -} - -void outb(u16 port, u8 data) -{ - __asm__ volatile("outb %0, %1" ::"a"(data), "Nd"(port)); -} - -int is_transmit_empty() -{ - return inb(0x3f8 + 5) & 0x20; -} - -void serial_put(char ch) -{ - while (is_transmit_empty() == 0) - ; - outb(0x3f8, (u8)ch); -} - -void serial_print(const char *data) -{ - for (u32 i = 0; i < strlen(data); i++) - serial_put(data[i]); -} - void main() { - serial_print("Init loaded\n"); + print("Init loaded\n"); __asm__ volatile("int $0x80"); while (1) { - serial_print("b"); + print("b"); }; } |