From 02f14113cbf14c6f842fb43ecbc68d0c851ef3b0 Mon Sep 17 00:00:00 2001 From: Benji Dial Date: Sun, 24 May 2020 11:02:43 -0400 Subject: very basic vga, ata, serial drivers. start of fat and fs drivers --- src/kernel/util.asm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/kernel/util.asm (limited to 'src/kernel/util.asm') diff --git a/src/kernel/util.asm b/src/kernel/util.asm new file mode 100644 index 0000000..acac17f --- /dev/null +++ b/src/kernel/util.asm @@ -0,0 +1,37 @@ +bits 32 + +global outb +global inb +global outw +global inw + +section .text +outb: + ;word [esp + 4] = port + ;byte [esp + 8] = value + mov dx, word [esp + 4] + mov al, byte [esp + 8] + out dx, al + ret + +inb: + ;word [esp + 4] = port + ;al out = value + mov dx, word [esp + 4] + in al, dx + ret + +outw: + ;word [esp + 4] = port + ;word [esp + 8] = value + mov dx, word [esp + 4] + mov ax, word [esp + 8] + out dx, ax + ret + +inw: + ;word [esp + 4] = port + ;ax out = value + mov dx, word [esp + 4] + in ax, dx + ret \ No newline at end of file -- cgit v1.2.3