summaryrefslogtreecommitdiff
path: root/src/port.asm
diff options
context:
space:
mode:
Diffstat (limited to 'src/port.asm')
-rw-r--r--src/port.asm24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/port.asm b/src/port.asm
index 4f2b646..555a4e8 100644
--- a/src/port.asm
+++ b/src/port.asm
@@ -23,3 +23,27 @@ port8_read:
in al, dx
leave
ret
+
+global port32_write
+global port32_read
+
+; void port32_write( port32_t *port, uint32_t data );
+port32_write:
+ push ebp
+ mov ebp, esp
+ mov ecx, [ebp+8]
+ mov edx, DWORD [ecx]
+ mov eax, DWORD [ebp+12]
+ out dx, eax
+ leave
+ ret
+
+; uint32_t port32_read( port32_t *port )
+port32_read:
+ push ebp
+ mov ebp, esp
+ mov ecx, DWORD [ebp+8]
+ mov edx, [ecx]
+ in eax, dx
+ leave
+ ret