Compare commits
2 commits
d63c2cbd69
...
2aaae86c8a
Author | SHA1 | Date | |
---|---|---|---|
2aaae86c8a | |||
b773014f61 |
46
messages.asm
46
messages.asm
|
@ -21,9 +21,6 @@ mov dh, HEIGHT
|
|||
mov dl, WIDTH
|
||||
int 0x10
|
||||
|
||||
;; Turn on interrupts
|
||||
sti
|
||||
|
||||
;; Set cursor to bottom of screen
|
||||
mov dh, HEIGHT
|
||||
mov dl, 0x00
|
||||
|
@ -31,33 +28,10 @@ mov bh, 0x00
|
|||
mov ah, 0x02
|
||||
int 0x10
|
||||
|
||||
;; Start serial connection
|
||||
mov ah, 0
|
||||
mov al, 0b11100011
|
||||
mov dx, 0
|
||||
int 0x14
|
||||
|
||||
.loop:
|
||||
;; Print a '.' to debug
|
||||
mov ah, 0x01
|
||||
mov al, '.'
|
||||
mov dx, 0
|
||||
int 0x14
|
||||
|
||||
|
||||
;; Check status of COM1
|
||||
mov ah, 0x03
|
||||
mov dx, 0
|
||||
int 0x14
|
||||
|
||||
;; If not ok, wait
|
||||
and ah, 0x01
|
||||
jz .loop
|
||||
|
||||
;; If ok, start reading character
|
||||
mov ah, 0x02
|
||||
mov dx, 0
|
||||
int 0x14
|
||||
;; Read character
|
||||
mov ah, 0x00
|
||||
int 0x16
|
||||
|
||||
cmp al, 0x0d ; newline
|
||||
je .newline
|
||||
|
@ -69,6 +43,18 @@ int 0x14
|
|||
;; Read character
|
||||
mov ah, 0x00
|
||||
int 0x16
|
||||
;; Read character is in al
|
||||
sub al, 'a'
|
||||
mov bl, al
|
||||
shl bl, 0x4
|
||||
|
||||
;; Read character
|
||||
mov ah, 0x00
|
||||
int 0x16
|
||||
;; Read character is in al
|
||||
sub al, 'a'
|
||||
or al, bl
|
||||
|
||||
mov [color_mode], al
|
||||
jmp .loop
|
||||
|
||||
|
@ -142,7 +128,7 @@ int 0x14
|
|||
|
||||
halt: hlt
|
||||
|
||||
color_mode: db 0x05
|
||||
color_mode: db 0x02
|
||||
|
||||
times 510 - ($ - $$) db 0
|
||||
dw 0xAA55
|
||||
|
|
Loading…
Reference in a new issue