diff options
Diffstat (limited to 'src/port.asm')
-rw-r--r-- | src/port.asm | 21 |
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; +;~ } |