global outport8:function global outport16:function global outport32:function global inport8:function global inport16:function global inport32:function global outport_buf8:function global outport_buf16:function global outport_buf32:function global inport_buf8:function global inport_buf16:function global inport_buf32:function ; rdi = buf len ; rsi = buffer address ; rdx = port addr inport_buf8: mov rcx, rdi cld rep insb ret inport_buf16: mov rcx, rdi cld rep insw ret inport_buf32: mov rcx, rdi cld rep insd ret outport_buf8: mov rcx, rdi cld rep outsb ret outport_buf16: mov rcx, rdi cld rep outsw ret outport_buf32: mov rcx, rdi cld rep outsd ret outport8: mov rdx, rdi mov rax, rsi and rax, 0xff out dx, al ret outport16: mov rdx, rdi mov rax, rsi and rax, 0xffff out dx, ax ret outport32: mov rdx, rdi mov rax, rsi and rax, 0xffffffff out dx, eax ret inport8: mov rdx, rdi in al, dx ret inport16: mov rdx, rdi in ax, dx ret inport32: mov rdx, rdi in eax, dx ret