This repository has been archived on 2025-02-27. You can view files and clone it, but cannot push or open issues or pull requests.
portland-os/src/kernel/util.asm

37 lines
No EOL
506 B
NASM

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