x64-httpd/readline.s

20 lines
344 B
ArmAsm

; Returns:
; rax - if line: line length; otherwise: 0
; Arguments:
; rdi - buffer
; rsi - max length
scanline:
mov rax, 0
scanline__loop:
cmp rax, rsi
jge scanline__incomplete_line
mov r10b, [rdi + rax]
add rax, 1
cmp r10b, 0x0a ; '\n'
jne scanline__loop
ret
scanline__incomplete_line:
mov rax, 0
ret