diff --git a/src/io.c b/src/io.c
new file mode 100644
index 0000000..1b35f71
--- /dev/null
+++ b/src/io.c
@@ -0,0 +1,42 @@
+#include "io.h"
+
+
+void outb(ushort port, uchar val)
+{
+	asm volatile("outb %1, %0" : : "dN" (port), "a" (val));
+}
+
+uchar inb(ushort port)
+{
+	uchar ret;
+	asm volatile("inb %1, %0" : "=a" (ret) : "dN" (port));
+	return ret;
+}
+
+ushort inw(ushort port)
+{
+	ushort ret;
+	asm volatile("inw %1, %0" : "=a" (ret) : "dN" (port));
+	return ret;
+}
+
+void *memset(void *s, int c, size_t n)
+{
+	for (size_t i = 0; i < n; i++)
+	{
+		((uchar *)s)[i] = c;
+	}
+}
+
+void *memcpy(void *dest, const void *src, size_t n)
+{
+	for (size_t i = 0; i < n; i++)
+	{
+		((uchar *)dest)[i] = ((uchar *)src)[i];
+	}
+}
+
+void io_wait()
+{
+	asm volatile("outb %0, $0x80" :: "a"(0));
+}
