segment .data
a: db "This is fun"
b: db "This is not"
segment .text
global main
global memcmp
memcmp:
mov rcx, rdx
repe cmpsb
cmp rcx, 0
jz equal
movzx eax, byte [rdi-1]
movzx ecx, byte [rsi-1]
sub rax, rcx
ret
equal: xor eax, eax
ret
main:
push rbp
mov rbp, rsp
lea rdi, [a]
lea rsi, [b]
mov edx, 11
call memcmp
xor eax, eax
leave
ret