From 13435bfc961fd2abd5f688ce37e94d5f96b0873b Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sat, 22 Jul 2017 22:17:18 +0200 Subject: added 16-bit port class --- src/hardware/port.asm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/hardware/port.asm') diff --git a/src/hardware/port.asm b/src/hardware/port.asm index 555a4e8..c7e7bc4 100644 --- a/src/hardware/port.asm +++ b/src/hardware/port.asm @@ -24,6 +24,30 @@ port8_read: leave ret +global port16_write +global port16_read + +; void port16_write( port16_t *port, uint16_t data ); +port16_write: + push ebp + mov ebp, esp + mov ecx, [ebp+8] + mov edx, DWORD [ecx] + mov ax, WORD [ebp+12] + out dx, ax + leave + ret + +; uint16_t port16_read( port16_t *port ) +port16_read: + push ebp + mov ebp, esp + mov ecx, DWORD [ebp+8] + mov edx, [ecx] + in ax, dx + leave + ret + global port32_write global port32_read -- cgit v1.2.3-54-g00ecf