20 lines
344 B
ArmAsm
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
|