diff options
author | Benji Dial <benji3.141@gmail.com> | 2020-05-16 09:53:58 -0400 |
---|---|---|
committer | Benji Dial <benji3.141@gmail.com> | 2020-05-16 09:53:58 -0400 |
commit | c0daede46df4f546639bd2d3e11dcf064d554966 (patch) | |
tree | 2042d915325dc66baf063238b8a3c685bb91d17b /src/kernel/serial.asm | |
parent | f7820301d583ae190b683bdd1371ee6f7a35ac16 (diff) | |
download | portland-os-c0daede46df4f546639bd2d3e11dcf064d554966.tar.gz |
starting over
Diffstat (limited to 'src/kernel/serial.asm')
-rw-r--r-- | src/kernel/serial.asm | 107 |
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 |