blob: acac17f8fe7a405c8707b14239ab46e61e145fe9 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
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
|