Follow along with me in the x64Playground: https://x64.halb.it (Select GNU as the Assembler!)
Watch the course from the beginning: • Learn Assembly For Beginners | Introductio...
Next Video in Course: • Building a Tiny Shell in Assembly | Beginn...
Previous Video in Course: • How a Shell Reads Commands | Building a To...
00:00 Why CMP fails for Strings
01:36 Coding strcmp() in Assembly
07:10 Testing strcmp()
8:55 Outputting match/no match
12:40 CHALLENGE: Check only N characters of string
;##### Code Below
exit:
xor rdi, rdi
mov rax, 60
syscall
print:
push rdi
call slen
pop rsi
mov rdx, rax
mov rax, 1
mov rdi, 1
syscall
ret
println:
push rdi
call slen
pop rsi
mov rdx, rax
mov rax, 1
mov rdi, 1
syscall
mov rax, 1
mov rdi, 1
lea rsi, [newline]
mov rdx, 1
syscall
ret
slen:
xor rcx, rcx
slen.loop:
mov al, [rdi + rcx]
cmp al, 0
je slen.ret
inc rcx
jmp slen.loop
slen.ret:
mov rax, rcx
ret
;#########