Diff
checker
Text
Text
Images
Documents
Excel
Folders
Legal
Enterprise
Desktop
Pricing
Sign in
Download Diffchecker Desktop
Compare text
Find the difference between two text files
Tools
History
Display
Layout
Split
Unified
Real-time editor
Hide whitespace changes
Hide unchanged lines
Disable line wrap
Diff precision
Smart
Syntax
None
Change appearance
Process
Ignore
Transform text
Go to first change
Edit input
Diffchecker Desktop
The most secure way to run Diffchecker. Get the Diffchecker Desktop app: your diffs never leave your computer!
Get Desktop
x86 memcmp -1 : 1 vs 0x80000000 : 0x7fffffff
Created
4 years ago
Diff never expires
Clear
Export
Share
Explain
13 removals
Lines
Total
Removed
Characters
Total
Removed
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
204 lines
Copy
9 additions
Lines
Total
Added
Characters
Total
Added
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
202 lines
Copy
.LCPI0_0:
.LCPI0_0:
.byte 15 # 0xf
.byte 15 # 0xf
.byte 14 # 0xe
.byte 14 # 0xe
.byte 13 # 0xd
.byte 13 # 0xd
.byte 12 # 0xc
.byte 12 # 0xc
.byte 11 # 0xb
.byte 11 # 0xb
.byte 10 # 0xa
.byte 10 # 0xa
.byte 9 # 0x9
.byte 9 # 0x9
.byte 8 # 0x8
.byte 8 # 0x8
.byte 7 # 0x7
.byte 7 # 0x7
.byte 6 # 0x6
.byte 6 # 0x6
.byte 5 # 0x5
.byte 5 # 0x5
.byte 4 # 0x4
.byte 4 # 0x4
.byte 3 # 0x3
.byte 3 # 0x3
.byte 2 # 0x2
.byte 2 # 0x2
.byte 1 # 0x1
.byte 1 # 0x1
.byte 0 # 0x0
.byte 0 # 0x0
memcmp: # @memcmp
memcmp: # @memcmp
xor eax, eax
xor eax, eax
cmp rdx, 8
cmp rdx, 8
ja .LBB0_19
ja .LBB0_19
lea rcx, [rip + .LJTI0_0]
lea rcx, [rip + .LJTI0_0]
movsxd rdx, dword ptr [rcx + 4*rdx]
movsxd rdx, dword ptr [rcx + 4*rdx]
add rdx, rcx
add rdx, rcx
jmp rdx
jmp rdx
.LBB0_2:
.LBB0_2:
movzx eax, byte ptr [rdi]
movzx eax, byte ptr [rdi]
movzx ecx, byte ptr [rsi]
movzx ecx, byte ptr [rsi]
sub eax, ecx
sub eax, ecx
ret
ret
.LBB0_19:
.LBB0_19:
cmp rdx, 16
cmp rdx, 16
ja .LBB0_23
ja .LBB0_23
mov rcx, qword ptr [rdi]
mov rcx, qword ptr [rdi]
mov r8, qword ptr [rsi]
mov r8, qword ptr [rsi]
cmp rcx, r8
cmp rcx, r8
jne .LBB0_21
jne .LBB0_21
mov rcx, qword ptr [rdi + rdx - 8]
mov rcx, qword ptr [rdi + rdx - 8]
mov rdx, qword ptr [rsi + rdx - 8]
mov rdx, qword ptr [rsi + rdx - 8]
cmp rcx, rdx
cmp rcx, rdx
je .LBB0_34
je .LBB0_34
jmp .LBB0_17
jmp .LBB0_17
.LBB0_3:
.LBB0_3:
movbe ax, word ptr [rdi]
movbe ax, word ptr [rdi]
movzx eax, ax
movzx eax, ax
movbe cx, word ptr [rsi]
movbe cx, word ptr [rsi]
movzx ecx, cx
movzx ecx, cx
sub eax, ecx
sub eax, ecx
ret
ret
.LBB0_5:
.LBB0_5:
movbe ax, word ptr [rdi]
movbe ax, word ptr [rdi]
movzx eax, ax
movzx eax, ax
movbe cx, word ptr [rsi]
movbe cx, word ptr [rsi]
movzx ecx, cx
movzx ecx, cx
sub eax, ecx
sub eax, ecx
je .LBB0_6
je .LBB0_6
.LBB0_34:
.LBB0_34:
ret
ret
.LBB0_7:
.LBB0_7:
movbe eax, dword ptr [rdi]
movbe eax, dword ptr [rdi]
movbe ecx, dword ptr [rsi]
movbe ecx, dword ptr [rsi]
sub rax, rcx
sub rax, rcx
movzx ecx, ax
movzx ecx, ax
shr rax
shr rax
or eax, ecx
or eax, ecx
ret
ret
.LBB0_8:
.LBB0_8:
movbe eax, dword ptr [rdi]
movbe eax, dword ptr [rdi]
movbe ecx, dword ptr [rsi]
movbe ecx, dword ptr [rsi]
sub rax, rcx
sub rax, rcx
movzx ecx, ax
movzx ecx, ax
shr rax
shr rax
or eax, ecx
or eax, ecx
jne .LBB0_34
jne .LBB0_34
movzx eax, byte ptr [rdi + 4]
movzx eax, byte ptr [rdi + 4]
movzx ecx, byte ptr [rsi + 4]
movzx ecx, byte ptr [rsi + 4]
sub eax, ecx
sub eax, ecx
ret
ret
.LBB0_10:
.LBB0_10:
movbe eax, dword ptr [rdi]
movbe eax, dword ptr [rdi]
movbe ecx, dword ptr [rsi]
movbe ecx, dword ptr [rsi]
sub rax, rcx
sub rax, rcx
movzx ecx, ax
movzx ecx, ax
shr rax
shr rax
or eax, ecx
or eax, ecx
jne .LBB0_34
jne .LBB0_34
movbe ax, word ptr [rdi + 4]
movbe ax, word ptr [rdi + 4]
movzx eax, ax
movzx eax, ax
movbe cx, word ptr [rsi + 4]
movbe cx, word ptr [rsi + 4]
movzx ecx, cx
movzx ecx, cx
sub eax, ecx
sub eax, ecx
ret
ret
.LBB0_12:
.LBB0_12:
movbe eax, dword ptr [rdi]
movbe eax, dword ptr [rdi]
movbe ecx, dword ptr [rsi]
movbe ecx, dword ptr [rsi]
sub rax, rcx
sub rax, rcx
movzx ecx, ax
movzx ecx, ax
shr rax
shr rax
or eax, ecx
or eax, ecx
jne .LBB0_34
jne .LBB0_34
Saved diffs
Original text
Open file
.LCPI0_0: .byte 15 # 0xf .byte 14 # 0xe .byte 13 # 0xd .byte 12 # 0xc .byte 11 # 0xb .byte 10 # 0xa .byte 9 # 0x9 .byte 8 # 0x8 .byte 7 # 0x7 .byte 6 # 0x6 .byte 5 # 0x5 .byte 4 # 0x4 .byte 3 # 0x3 .byte 2 # 0x2 .byte 1 # 0x1 .byte 0 # 0x0 memcmp: # @memcmp xor eax, eax cmp rdx, 8 ja .LBB0_19 lea rcx, [rip + .LJTI0_0] movsxd rdx, dword ptr [rcx + 4*rdx] add rdx, rcx jmp rdx .LBB0_2: movzx eax, byte ptr [rdi] movzx ecx, byte ptr [rsi] sub eax, ecx ret .LBB0_19: cmp rdx, 16 ja .LBB0_23 mov rcx, qword ptr [rdi] mov r8, qword ptr [rsi] cmp rcx, r8 jne .LBB0_21 mov rcx, qword ptr [rdi + rdx - 8] mov rdx, qword ptr [rsi + rdx - 8] cmp rcx, rdx je .LBB0_34 jmp .LBB0_17 .LBB0_3: movbe ax, word ptr [rdi] movzx eax, ax movbe cx, word ptr [rsi] movzx ecx, cx sub eax, ecx ret .LBB0_5: movbe ax, word ptr [rdi] movzx eax, ax movbe cx, word ptr [rsi] movzx ecx, cx sub eax, ecx je .LBB0_6 .LBB0_34: ret .LBB0_7: movbe eax, dword ptr [rdi] movbe ecx, dword ptr [rsi] sub rax, rcx movzx ecx, ax shr rax or eax, ecx ret .LBB0_8: movbe eax, dword ptr [rdi] movbe ecx, dword ptr [rsi] sub rax, rcx movzx ecx, ax shr rax or eax, ecx jne .LBB0_34 movzx eax, byte ptr [rdi + 4] movzx ecx, byte ptr [rsi + 4] sub eax, ecx ret .LBB0_10: movbe eax, dword ptr [rdi] movbe ecx, dword ptr [rsi] sub rax, rcx movzx ecx, ax shr rax or eax, ecx jne .LBB0_34 movbe ax, word ptr [rdi + 4] movzx eax, ax movbe cx, word ptr [rsi + 4] movzx ecx, cx sub eax, ecx ret .LBB0_12: movbe eax, dword ptr [rdi] movbe ecx, dword ptr [rsi] sub rax, rcx movzx ecx, ax shr rax or eax, ecx jne .LBB0_34 movbe ax, word ptr [rdi + 4] movzx eax, ax movbe cx, word ptr [rsi + 4] movzx ecx, cx sub eax, ecx jne .LBB0_34 movzx eax, byte ptr [rdi + 6] movzx ecx, byte ptr [rsi + 6] sub eax, ecx ret .LBB0_15: mov rcx, qword ptr [rdi] mov rdx, qword ptr [rsi] cmp rcx, rdx je .LBB0_34 .LBB0_17: bswap rcx bswap rdx xor eax, eax cmp rcx, rdx sbb eax, eax or eax, 1 ret .LBB0_23: cmp rdx, 384 jae .LBB0_24 .LBB0_28: add rdx, -16 xor eax, eax .LBB0_29: # =>This Inner Loop Header: Depth=1 vmovdqu xmm0, xmmword ptr [rdi + rax] vmovdqu xmm1, xmmword ptr [rsi + rax] vpxor xmm2, xmm1, xmm0 vptest xmm2, xmm2 jne .LBB0_32 add rax, 16 cmp rax, rdx jb .LBB0_29 vmovdqu xmm0, xmmword ptr [rdi + rdx] vmovdqu xmm1, xmmword ptr [rsi + rdx] vpxor xmm2, xmm1, xmm0 xor eax, eax vptest xmm2, xmm2 je .LBB0_34 .LBB0_32: vpmaxub xmm2, xmm1, xmm0 vpcmpeqb xmm1, xmm1, xmm2 vmovdqa xmm3, xmmword ptr [rip + .LCPI0_0] # xmm3 = [15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0] vpshufb xmm1, xmm1, xmm3 vpmovmskb ecx, xmm1 vpcmpeqb xmm0, xmm0, xmm2 vpshufb xmm0, xmm0, xmm3 vpmovmskb eax, xmm0 sub eax, ecx ret .LBB0_6: movzx eax, byte ptr [rdi + 2] movzx ecx, byte ptr [rsi + 2] sub eax, ecx ret .LBB0_21: bswap rcx bswap r8 xor eax, eax cmp rcx, r8 sbb eax, eax or eax, 1 ret .LBB0_24: mov ecx, edi and ecx, 15 je .LBB0_28 vmovdqu xmm0, xmmword ptr [rdi] vmovdqu xmm1, xmmword ptr [rsi] vpxor xmm2, xmm1, xmm0 vptest xmm2, xmm2 je .LBB0_27 vpmaxub xmm2, xmm1, xmm0 vpcmpeqb xmm1, xmm1, xmm2 vmovdqa xmm3, xmmword ptr [rip + .LCPI0_0] # xmm3 = [15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0] vpshufb xmm1, xmm1, xmm3 vpmovmskb r8d, xmm1 vpcmpeqb xmm0, xmm0, xmm2 vpshufb xmm0, xmm0, xmm3 vpmovmskb eax, xmm0 sub eax, r8d jne .LBB0_34 .LBB0_27: mov eax, 16 sub rax, rcx add rdi, rax add rsi, rax sub rdx, rax jmp .LBB0_28 .LJTI0_0: .long .LBB0_34-.LJTI0_0 .long .LBB0_2-.LJTI0_0 .long .LBB0_3-.LJTI0_0 .long .LBB0_5-.LJTI0_0 .long .LBB0_7-.LJTI0_0 .long .LBB0_8-.LJTI0_0 .long .LBB0_10-.LJTI0_0 .long .LBB0_12-.LJTI0_0 .long .LBB0_15-.LJTI0_0
Changed text
Open file
.LCPI0_0: .byte 15 # 0xf .byte 14 # 0xe .byte 13 # 0xd .byte 12 # 0xc .byte 11 # 0xb .byte 10 # 0xa .byte 9 # 0x9 .byte 8 # 0x8 .byte 7 # 0x7 .byte 6 # 0x6 .byte 5 # 0x5 .byte 4 # 0x4 .byte 3 # 0x3 .byte 2 # 0x2 .byte 1 # 0x1 .byte 0 # 0x0 memcmp: # @memcmp xor eax, eax cmp rdx, 8 ja .LBB0_19 lea rcx, [rip + .LJTI0_0] movsxd rdx, dword ptr [rcx + 4*rdx] add rdx, rcx jmp rdx .LBB0_2: movzx eax, byte ptr [rdi] movzx ecx, byte ptr [rsi] sub eax, ecx ret .LBB0_19: cmp rdx, 16 ja .LBB0_23 mov rcx, qword ptr [rdi] mov r8, qword ptr [rsi] cmp rcx, r8 jne .LBB0_21 mov rcx, qword ptr [rdi + rdx - 8] mov rdx, qword ptr [rsi + rdx - 8] cmp rcx, rdx je .LBB0_34 jmp .LBB0_17 .LBB0_3: movbe ax, word ptr [rdi] movzx eax, ax movbe cx, word ptr [rsi] movzx ecx, cx sub eax, ecx ret .LBB0_5: movbe ax, word ptr [rdi] movzx eax, ax movbe cx, word ptr [rsi] movzx ecx, cx sub eax, ecx je .LBB0_6 .LBB0_34: ret .LBB0_7: movbe eax, dword ptr [rdi] movbe ecx, dword ptr [rsi] sub rax, rcx movzx ecx, ax shr rax or eax, ecx ret .LBB0_8: movbe eax, dword ptr [rdi] movbe ecx, dword ptr [rsi] sub rax, rcx movzx ecx, ax shr rax or eax, ecx jne .LBB0_34 movzx eax, byte ptr [rdi + 4] movzx ecx, byte ptr [rsi + 4] sub eax, ecx ret .LBB0_10: movbe eax, dword ptr [rdi] movbe ecx, dword ptr [rsi] sub rax, rcx movzx ecx, ax shr rax or eax, ecx jne .LBB0_34 movbe ax, word ptr [rdi + 4] movzx eax, ax movbe cx, word ptr [rsi + 4] movzx ecx, cx sub eax, ecx ret .LBB0_12: movbe eax, dword ptr [rdi] movbe ecx, dword ptr [rsi] sub rax, rcx movzx ecx, ax shr rax or eax, ecx jne .LBB0_34 movbe ax, word ptr [rdi + 4] movzx eax, ax movbe cx, word ptr [rsi + 4] movzx ecx, cx sub eax, ecx jne .LBB0_34 movzx eax, byte ptr [rdi + 6] movzx ecx, byte ptr [rsi + 6] sub eax, ecx ret .LBB0_15: mov rcx, qword ptr [rdi] mov rdx, qword ptr [rsi] cmp rcx, rdx je .LBB0_34 .LBB0_17: bswap rcx bswap rdx cmp rdx, rcx mov eax, -2147483648 sbb eax, 0 ret .LBB0_23: cmp rdx, 384 jae .LBB0_24 .LBB0_28: add rdx, -16 xor eax, eax .LBB0_29: # =>This Inner Loop Header: Depth=1 vmovdqu xmm0, xmmword ptr [rdi + rax] vmovdqu xmm1, xmmword ptr [rsi + rax] vpxor xmm2, xmm1, xmm0 vptest xmm2, xmm2 jne .LBB0_32 add rax, 16 cmp rax, rdx jb .LBB0_29 vmovdqu xmm0, xmmword ptr [rdi + rdx] vmovdqu xmm1, xmmword ptr [rsi + rdx] vpxor xmm2, xmm1, xmm0 xor eax, eax vptest xmm2, xmm2 je .LBB0_34 .LBB0_32: vpmaxub xmm2, xmm1, xmm0 vpcmpeqb xmm1, xmm1, xmm2 vmovdqa xmm3, xmmword ptr [rip + .LCPI0_0] # xmm3 = [15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0] vpshufb xmm1, xmm1, xmm3 vpmovmskb ecx, xmm1 vpcmpeqb xmm0, xmm0, xmm2 vpshufb xmm0, xmm0, xmm3 vpmovmskb eax, xmm0 sub eax, ecx ret .LBB0_6: movzx eax, byte ptr [rdi + 2] movzx ecx, byte ptr [rsi + 2] sub eax, ecx ret .LBB0_21: bswap rcx bswap r8 cmp r8, rcx mov eax, -2147483648 sbb eax, 0 ret .LBB0_24: mov ecx, edi and ecx, 15 je .LBB0_28 vmovdqu xmm0, xmmword ptr [rdi] vmovdqu xmm1, xmmword ptr [rsi] vpxor xmm2, xmm1, xmm0 vptest xmm2, xmm2 je .LBB0_27 vpmaxub xmm2, xmm1, xmm0 vpcmpeqb xmm1, xmm1, xmm2 vmovdqa xmm3, xmmword ptr [rip + .LCPI0_0] # xmm3 = [15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0] vpshufb xmm1, xmm1, xmm3 vpmovmskb r8d, xmm1 vpcmpeqb xmm0, xmm0, xmm2 vpshufb xmm0, xmm0, xmm3 vpmovmskb eax, xmm0 sub eax, r8d jne .LBB0_34 .LBB0_27: mov eax, 16 sub rax, rcx add rdi, rax add rsi, rax sub rdx, rax jmp .LBB0_28 .LJTI0_0: .long .LBB0_34-.LJTI0_0 .long .LBB0_2-.LJTI0_0 .long .LBB0_3-.LJTI0_0 .long .LBB0_5-.LJTI0_0 .long .LBB0_7-.LJTI0_0 .long .LBB0_8-.LJTI0_0 .long .LBB0_10-.LJTI0_0 .long .LBB0_12-.LJTI0_0 .long .LBB0_15-.LJTI0_0
Find difference