libc.obj: translate crt0.asm
Some checks failed
Build system / Build (pull_request) Failing after 1s
Build system / Check kernel codestyle (pull_request) Successful in 1m14s

This commit is contained in:
2026-01-24 11:20:51 +05:00
parent eee5a71fdd
commit 8e6c43113a

View File

@@ -39,36 +39,36 @@ start:
call push_param
; retrieving parameters
mov esi, params
xor edx, edx ; dl - идёт параметр(1) или разделители(0)
; dh - символ с которого начался параметр (1 кавычки, 0 остальное)
xor edx, edx ; dl - is it a parameter (1) or delimiters (0)
; dh - character with which the parameter started (1 quotes, 0 everything else)
mov ecx, 1 ; cl = 1
; ch = 0 просто ноль
; ch = 0 just zero
.parse:
lodsb
test al, al
jz .run
test dl, dl
jnz .findendparam
;{если был разделитель
;{if it was a delimiter
cmp al, ' '
jz .parse ;загружен пробел, грузим следующий символ
mov dl, cl ;начинается параметр
jz .parse ; space loaded, load next character
mov dl, cl ; parameter starts
cmp al, '"'
jz @f ;загружены кавычки
mov dh, ch ;параметр без кавычек
jz @f ; quotes loaded
mov dh, ch ; parameter without quotes
dec esi
call push_param
inc esi
jmp .parse
@@:
mov dh, cl ;параметр в кавычеках
call push_param ;если не пробел значит начинается какой то параметр
jmp .parse ;если был разделитель}
mov dh, cl ; parameter in quotes
call push_param ; if not a space, then some parameter starts
jmp .parse ; if it was a delimiter}
.findendparam:
test dh, dh
jz @f ; без кавычек
jz @f ; without quotes
cmp al, '"'
jz .clear
jmp .parse