summaryrefslogtreecommitdiff
path: root/src/port.asm
diff options
context:
space:
mode:
Diffstat (limited to 'src/port.asm')
-rw-r--r--src/port.asm21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/port.asm b/src/port.asm
index 34d1f78..c7a2b85 100644
--- a/src/port.asm
+++ b/src/port.asm
@@ -1,18 +1,33 @@
[bits 32]
global port8_write
+global port8_read
+; void port8_write( port8_t *port, uint8_t data );
port8_write:
+ push ebp
+ mov ebp, esp
mov edx, [ebp+16]
mov eax, (edx)
+; mov eax, [epb+8]
; mov dx, [ebp+8]
; out ax, dl
+ leave
ret
-
+; uint8_t port8_read( port8_t *port )
+port8_read:
+ push ebp
+ mov ebp, esp
+ mov edx, [ebp+8]
+ mov eax, [edx]
+ leave
+ ret
+
;~ void port8_init( port8_t *port, uint16_t number )
+; __asm__ volatile("inb %1, %0" : "=a" (result) : "Nd" (_port));
;~ global _myfunc
;~ _myfunc: push ebp
@@ -23,3 +38,7 @@ port8_write:
;~ leave ; mov esp,ebp / pop ebp
;~ ret
; __asm__ volatile("outb %0, %1" : : "a" (_data), "Nd" (_port));
+
+;~ {
+ ;~ return 0;
+;~ }