]> pd.if.org Git - zos/blob - ioport.s
add a readme with a public domain note
[zos] / ioport.s
1 global outport8:function
2 global outport16:function
3 global outport32:function
4 global inport8:function
5 global inport16:function
6 global inport32:function
7 global outport_buf8:function
8 global outport_buf16:function
9 global outport_buf32:function
10 global inport_buf8:function
11 global inport_buf16:function
12 global inport_buf32:function
13
14 ; rdi = buf len
15 ; rsi = buffer address
16 ; rdx = port addr
17
18 inport_buf8:
19         mov rcx, rdi
20         cld
21         rep insb
22         ret
23
24 inport_buf16:
25         mov rcx, rdi
26         cld
27         rep insw
28         ret
29
30 inport_buf32:
31         mov rcx, rdi
32         cld
33         rep insd
34         ret
35
36 outport_buf8:
37         mov rcx, rdi
38         cld
39         rep outsb
40         ret
41
42 outport_buf16:
43         mov rcx, rdi
44         cld
45         rep outsw
46         ret
47
48 outport_buf32:
49         mov rcx, rdi
50         cld
51         rep outsd
52         ret
53
54 outport8:
55         mov rdx, rdi
56         mov rax, rsi
57         and rax, 0xff
58         out dx, al
59         ret
60
61 outport16:
62         mov rdx, rdi
63         mov rax, rsi
64         and rax, 0xffff
65         out dx, ax
66         ret
67
68 outport32:
69         mov rdx, rdi
70         mov rax, rsi
71         and rax, 0xffffffff
72         out dx, eax
73         ret
74
75 inport8:
76         mov rdx, rdi
77         in al, dx
78         ret
79
80 inport16:
81         mov rdx, rdi
82         in ax, dx
83         ret
84
85 inport32:
86         mov rdx, rdi
87         in eax, dx
88         ret