BITS 32 SECTION .text global outportb outportb: mov dx, [esp + 4] mov al, [esp + 8] out dx, al ret global outportw outportw: mov dx, [esp + 4] mov ax, [esp + 8] out dx, ax ret global outportl outportl: mov dx, [esp + 4] mov eax, [esp + 8] out dx, eax ret global inportb inportb: mov dx, [esp + 4] in al, dx ret global inportw inportw: mov dx, [esp + 4] in ax, dx ret global inportd inportd: mov dx, [esp + 4] in eax, dx ret global iowait iowait: jmp .hop .hop jmp .bounce .bounce jmp .jump .jump ret