Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
표시
레이아웃
나란히 보기
합쳐 보기
실시간 편집
공백 변경 숨기기
변경 없는 행 숨기기
줄바꿈 비활성화
비교 단위
스마트
구문
없음
모양 변경
처리
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
x86 memcmp 4+2+1 vs 4+4 for 7
생성일
4년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
23 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
204 행
복사
21 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
198 행
복사
.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]
복사
복사됨
복사
복사됨
Text moved to lines 100-103
sub rax, rcx
movzx ecx, ax
shr rax
or eax, ecx
ret
.LBB0_8
:
jmp
.LBB0_8
.LBB0_9
:
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_
11
:
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_
13
:
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
저장된 비교 결과
원본
파일 열기
.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
수정본
파일 열기
.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] jmp .LBB0_8 .LBB0_9: 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_11: 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_13: 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 eax, dword ptr [rdi + 3] movbe ecx, dword ptr [rsi + 3] .LBB0_8: sub rax, rcx movzx ecx, ax shr rax or 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_9-.LJTI0_0 .long .LBB0_11-.LJTI0_0 .long .LBB0_13-.LJTI0_0 .long .LBB0_15-.LJTI0_0
비교하기