Skip to content

Instantly share code, notes, and snippets.

@vtlmks
Created April 4, 2019 18:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vtlmks/2a93af9574e5357512501e888e6f5eaa to your computer and use it in GitHub Desktop.
Save vtlmks/2a93af9574e5357512501e888e6f5eaa to your computer and use it in GitHub Desktop.
memcmp in x64 assembler, should return 0 on equal, or +-
memcmp Cld
Mov r10, rdi ; save
Mov r11, rsi ; save
Mov rdi, rcx
Mov rsi, rdx
Mov rcx, r8
Mov rdx, r8
Xor eax, eax
Cmpsb
Jeq .done
.not_equal: Mov al, [rdi-1]
Movzx ecx, [rsi-1]
Sub eax, ecx
.done Mov rdi, r10
Mov rsi, r11
Ret
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment