summaryrefslogtreecommitdiff
path: root/src/kernel/serial.asm
diff options
context:
space:
mode:
authorBenji Dial <benji3.141@gmail.com>2020-05-16 09:53:58 -0400
committerBenji Dial <benji3.141@gmail.com>2020-05-16 09:53:58 -0400
commitc0daede46df4f546639bd2d3e11dcf064d554966 (patch)
tree2042d915325dc66baf063238b8a3c685bb91d17b /src/kernel/serial.asm
parentf7820301d583ae190b683bdd1371ee6f7a35ac16 (diff)
downloadportland-os-c0daede46df4f546639bd2d3e11dcf064d554966.tar.gz
starting over
Diffstat (limited to 'src/kernel/serial.asm')
-rw-r--r--src/kernel/serial.asm107
1 files changed, 0 insertions, 107 deletions
diff --git a/src/kernel/serial.asm b/src/kernel/serial.asm
deleted file mode 100644
index 2213fd8..0000000
--- a/src/kernel/serial.asm
+++ /dev/null
@@ -1,107 +0,0 @@
-;Copyright 2019 Benji Dial
-
-;Permission to use, copy, modify, and/or distribute this
-;software for any purpose with or without fee is hereby
-;granted, provided that the above copyright notice and this
-;permission notice appear in all copies.
-
-;THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS
-;ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
-;IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
-;EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
-;INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
-;RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-;ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-;ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
-;OF THIS SOFTWARE.
-
-global send_byte
-global read_byte
-global poll_port
-
-section .text
-send_byte:;void send_byte(uint8_t value, uint8_t port)
- push ebp
- mov ebp, esp
-
- xor ecx, ecx
- mov cl, byte [ebp + 12];port
-
- test cl, 0xfc
- jnz .leave
-
- shl cl, 1
- mov dx, word [ecx + com_ports]
-
- or dx, 5
-
-.check_ready:
- in al, dx
- test al, 0x20
- jz .check_ready
-
- and dx, 0xfff8
-
- mov al, byte [ebp + 8];value
- out dx, al
-
-.leave:
- leave
- ret
-
-read_byte:;uint8_t read_byte(uint8_t port)
- push ebp
- mov ebp, esp
-
- xor eax, eax
-
- xor ecx, ecx
- mov cl, byte [ebp + 8];port
-
- test cl, 0xfc
- jnz .leave
-
- shl cl, 1
- mov dx, word [ecx + com_ports]
-
- or dx, 5
-
-.check_ready:
- in al, dx
- test al, 0x01
- jz .check_ready
-
- and dx, 0xfff8
-
- in al, dx
-
-.leave:
- leave
- ret
-
-poll_port:;bool poll_port(uint8_t port)
- push ebp
- mov ebp, esp
-
- xor eax, eax
-
- xor ecx, ecx
- mov cl, byte [ebp + 8];port
-
- test cl, 0xfc
- jnz .leave
-
- shl cl, 1
- mov dx, word [ecx + com_ports]
-
- or dx, 5
-
- in al, dx
- and al, 0x01
-
-.leave:
- leave
- ret
-
-section .rodata
-com_ports dw 0x03f8, 0x02f8, 0x03e8, 0x02e8 \ No newline at end of file