Add more settings, bump version to 0.2.0

This commit is contained in:
2025-05-25 20:21:37 +05:00
parent 36f286ecc3
commit 2e25054f77
6 changed files with 400 additions and 205 deletions

View File

@@ -71,6 +71,7 @@ proc strlen
mov eax, esi
sub eax, ebx
dec eax
dec esi
pop ebx
ret
endp
@@ -86,3 +87,59 @@ proc strcpy
jnz @b
ret
endp
proc escape_chars
; esi = source
; ecx = length
.loop:
mov al, [esi]
cmp al, 0x20
jb .escape
cmp al, 0x80
jae .escape
jmp .no_escape
.escape:
mov byte [esi], '.'
.no_escape:
inc esi
loop .loop
ret
endp
proc make_line_header
; eax = 0 - rx, 1 - tx
; edi = dest buf
push eax
mcall SF_GET_SYS_TIME
mov ebx, eax
mov ecx, 3
; BCD timestamp to string
.loop:
mov al, bl
shr al, 4
add al, '0'
stosb
mov al, bl
and al, 0x0f
add al, '0'
stosb
dec ecx
jz .done
mov al, ':'
stosb
shr ebx, 8
jmp .loop
.done:
mov al, ' '
stosb
mov al, '<'
pop ebx
test ebx, ebx
jz @f
mov al, '>'
@@:
stosb
mov al, ' '
stosb
ret
endp