Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
공백 변경 숨기기
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
텍스트 스타일
모양 변경
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
structs_magic
생성일
4년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
5 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
118 행
복사
4 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
116 행
복사
```assembly
```assembly
복사
복사됨
복사
복사됨
; System.SpanHelpers.LastIndexOfValueType[[System.Byte, System.Private.CoreLib]
](Byte ByRef, Byte, Int32)
; System.SpanHelpers.LastIndexOfValueType[[System.Byte, System.Private.CoreLib]
,[System.SpanHelpers+DefaultEqualityComparer`1[[System.Byte, System.Private.CoreLib]], System.Private.CoreLib]
](Byte ByRef, Byte, Int32)
vzeroupper
vzeroupper
cmp r8d,10
cmp r8d,10
jge short M11_L02
jge short M11_L02
dec r8d
dec r8d
js near ptr M11_L09
js near ptr M11_L09
movzx r9d,dl
movzx r9d,dl
nop word ptr [rax+rax]
nop word ptr [rax+rax]
M11_L00:
M11_L00:
movsxd rax,r8d
movsxd rax,r8d
movzx eax,byte ptr [rcx+rax]
movzx eax,byte ptr [rcx+rax]
cmp eax,r9d
cmp eax,r9d
je short M11_L01
je short M11_L01
dec r8d
dec r8d
jns short M11_L00
jns short M11_L00
jmp near ptr M11_L09
jmp near ptr M11_L09
M11_L01:
M11_L01:
mov eax,r8d
mov eax,r8d
jmp near ptr M11_L08
jmp near ptr M11_L08
M11_L02:
M11_L02:
cmp r8d,20
cmp r8d,20
복사
복사됨
복사
복사됨
jl
e
near ptr M11_L05
jl
near ptr M11_L05
movzx r9d,dl
movzx r9d,dl
vmovd xmm0,r9d
vmovd xmm0,r9d
vpbroadcastb ymm0,xmm0
vpbroadcastb ymm0,xmm0
lea edx,[r8-20]
lea edx,[r8-20]
movsxd r9,edx
movsxd r9,edx
add r9,rcx
add r9,rcx
M11_L03:
M11_L03:
vpcmpeqb ymm1,ymm0,[r9]
vpcmpeqb ymm1,ymm0,[r9]
vptest ymm1,ymm1
vptest ymm1,ymm1
jne short M11_L04
jne short M11_L04
add r9,0FFFFFFFFFFFFFFE0
add r9,0FFFFFFFFFFFFFFE0
cmp r9,rcx
cmp r9,rcx
jae short M11_L03
jae short M11_L03
mov r9d,r8d
mov r9d,r8d
mov r8d,r9d
mov r8d,r9d
test r8b,1F
test r8b,1F
je near ptr M11_L09
je near ptr M11_L09
vpcmpeqb ymm1,ymm0,[rcx]
vpcmpeqb ymm1,ymm0,[rcx]
vptest ymm1,ymm1
vptest ymm1,ymm1
je near ptr M11_L09
je near ptr M11_L09
vpmovmskb ecx,ymm1
vpmovmskb ecx,ymm1
xor eax,eax
xor eax,eax
lzcnt eax,ecx
lzcnt eax,ecx
neg eax
neg eax
add eax,1F
add eax,1F
jmp near ptr M11_L08
jmp near ptr M11_L08
nop word ptr [rax+rax]
nop word ptr [rax+rax]
M11_L04:
M11_L04:
mov rax,r9
mov rax,r9
sub rax,rcx
sub rax,rcx
mov ecx,eax
mov ecx,eax
vpmovmskb eax,ymm1
vpmovmskb eax,ymm1
lzcnt eax,eax
lzcnt eax,eax
neg eax
neg eax
lea eax,[rcx+rax+1F]
lea eax,[rcx+rax+1F]
jmp short M11_L08
jmp short M11_L08
M11_L05:
M11_L05:
movzx r9d,dl
movzx r9d,dl
vmovd xmm0,r9d
vmovd xmm0,r9d
vpbroadcastb xmm0,xmm0
vpbroadcastb xmm0,xmm0
lea eax,[r8-10]
lea eax,[r8-10]
cdqe
cdqe
add rax,rcx
add rax,rcx
M11_L06:
M11_L06:
vpcmpeqb xmm1,xmm0,[rax]
vpcmpeqb xmm1,xmm0,[rax]
vptest xmm1,xmm1
vptest xmm1,xmm1
jne short M11_L07
jne short M11_L07
add rax,0FFFFFFFFFFFFFFF0
add rax,0FFFFFFFFFFFFFFF0
cmp rax,rcx
cmp rax,rcx
jae short M11_L06
jae short M11_L06
mov eax,r8d
mov eax,r8d
test al,0F
test al,0F
je short M11_L09
je short M11_L09
vpcmpeqb xmm1,xmm0,[rcx]
vpcmpeqb xmm1,xmm0,[rcx]
vptest xmm1,xmm1
vptest xmm1,xmm1
je short M11_L09
je short M11_L09
vpmovmskb ecx,xmm1
vpmovmskb ecx,xmm1
xor eax,eax
xor eax,eax
lzcnt eax,ecx
lzcnt eax,ecx
neg eax
neg eax
add eax,1F
add eax,1F
jmp short M11_L08
jmp short M11_L08
M11_L07:
M11_L07:
sub rax,rcx
sub rax,rcx
vpmovmskb edx,xmm1
vpmovmskb edx,xmm1
xor r9d,r9d
xor r9d,r9d
lzcnt r9d,edx
lzcnt r9d,edx
mov ecx,r9d
mov ecx,r9d
neg ecx
neg ecx
lea eax,[rax+rcx+1F]
lea eax,[rax+rcx+1F]
M11_L08:
M11_L08:
vzeroupper
vzeroupper
ret
ret
M11_L09:
M11_L09:
mov eax,0FFFFFFFF
mov eax,0FFFFFFFF
vzeroupper
vzeroupper
ret
ret
int 3
int 3
int 3
int 3
int 3
int 3
int 3
int 3
sbb [rax],eax
sbb [rax],eax
add [rax],al
add [rax],al
add [rax],al
add [rax],al
add [rax],al
add [rax],al
복사
복사됨
복사
복사됨
(bad)
push
0FFFFFFFFFA9896CC
cwde
cli
jg short M11_L10
jg short M11_L10
M11_L10:
M11_L10:
add [rbp+48],dl
add [rbp+48],dl
mov ebp,esp
mov ebp,esp
mov [rbp+10],rcx
mov [rbp+10],rcx
; Total bytes of code 344
; Total bytes of code 344
```
```
저장된 비교 결과
원본
파일 열기
```assembly ; System.SpanHelpers.LastIndexOfValueType[[System.Byte, System.Private.CoreLib]](Byte ByRef, Byte, Int32) vzeroupper cmp r8d,10 jge short M11_L02 dec r8d js near ptr M11_L09 movzx r9d,dl nop word ptr [rax+rax] M11_L00: movsxd rax,r8d movzx eax,byte ptr [rcx+rax] cmp eax,r9d je short M11_L01 dec r8d jns short M11_L00 jmp near ptr M11_L09 M11_L01: mov eax,r8d jmp near ptr M11_L08 M11_L02: cmp r8d,20 jle near ptr M11_L05 movzx r9d,dl vmovd xmm0,r9d vpbroadcastb ymm0,xmm0 lea edx,[r8-20] movsxd r9,edx add r9,rcx M11_L03: vpcmpeqb ymm1,ymm0,[r9] vptest ymm1,ymm1 jne short M11_L04 add r9,0FFFFFFFFFFFFFFE0 cmp r9,rcx jae short M11_L03 mov r9d,r8d mov r8d,r9d test r8b,1F je near ptr M11_L09 vpcmpeqb ymm1,ymm0,[rcx] vptest ymm1,ymm1 je near ptr M11_L09 vpmovmskb ecx,ymm1 xor eax,eax lzcnt eax,ecx neg eax add eax,1F jmp near ptr M11_L08 nop word ptr [rax+rax] M11_L04: mov rax,r9 sub rax,rcx mov ecx,eax vpmovmskb eax,ymm1 lzcnt eax,eax neg eax lea eax,[rcx+rax+1F] jmp short M11_L08 M11_L05: movzx r9d,dl vmovd xmm0,r9d vpbroadcastb xmm0,xmm0 lea eax,[r8-10] cdqe add rax,rcx M11_L06: vpcmpeqb xmm1,xmm0,[rax] vptest xmm1,xmm1 jne short M11_L07 add rax,0FFFFFFFFFFFFFFF0 cmp rax,rcx jae short M11_L06 mov eax,r8d test al,0F je short M11_L09 vpcmpeqb xmm1,xmm0,[rcx] vptest xmm1,xmm1 je short M11_L09 vpmovmskb ecx,xmm1 xor eax,eax lzcnt eax,ecx neg eax add eax,1F jmp short M11_L08 M11_L07: sub rax,rcx vpmovmskb edx,xmm1 xor r9d,r9d lzcnt r9d,edx mov ecx,r9d neg ecx lea eax,[rax+rcx+1F] M11_L08: vzeroupper ret M11_L09: mov eax,0FFFFFFFF vzeroupper ret int 3 int 3 int 3 int 3 sbb [rax],eax add [rax],al add [rax],al add [rax],al (bad) cwde cli jg short M11_L10 M11_L10: add [rbp+48],dl mov ebp,esp mov [rbp+10],rcx ; Total bytes of code 344 ```
수정본
파일 열기
```assembly ; System.SpanHelpers.LastIndexOfValueType[[System.Byte, System.Private.CoreLib],[System.SpanHelpers+DefaultEqualityComparer`1[[System.Byte, System.Private.CoreLib]], System.Private.CoreLib]](Byte ByRef, Byte, Int32) vzeroupper cmp r8d,10 jge short M11_L02 dec r8d js near ptr M11_L09 movzx r9d,dl nop word ptr [rax+rax] M11_L00: movsxd rax,r8d movzx eax,byte ptr [rcx+rax] cmp eax,r9d je short M11_L01 dec r8d jns short M11_L00 jmp near ptr M11_L09 M11_L01: mov eax,r8d jmp near ptr M11_L08 M11_L02: cmp r8d,20 jl near ptr M11_L05 movzx r9d,dl vmovd xmm0,r9d vpbroadcastb ymm0,xmm0 lea edx,[r8-20] movsxd r9,edx add r9,rcx M11_L03: vpcmpeqb ymm1,ymm0,[r9] vptest ymm1,ymm1 jne short M11_L04 add r9,0FFFFFFFFFFFFFFE0 cmp r9,rcx jae short M11_L03 mov r9d,r8d mov r8d,r9d test r8b,1F je near ptr M11_L09 vpcmpeqb ymm1,ymm0,[rcx] vptest ymm1,ymm1 je near ptr M11_L09 vpmovmskb ecx,ymm1 xor eax,eax lzcnt eax,ecx neg eax add eax,1F jmp near ptr M11_L08 nop word ptr [rax+rax] M11_L04: mov rax,r9 sub rax,rcx mov ecx,eax vpmovmskb eax,ymm1 lzcnt eax,eax neg eax lea eax,[rcx+rax+1F] jmp short M11_L08 M11_L05: movzx r9d,dl vmovd xmm0,r9d vpbroadcastb xmm0,xmm0 lea eax,[r8-10] cdqe add rax,rcx M11_L06: vpcmpeqb xmm1,xmm0,[rax] vptest xmm1,xmm1 jne short M11_L07 add rax,0FFFFFFFFFFFFFFF0 cmp rax,rcx jae short M11_L06 mov eax,r8d test al,0F je short M11_L09 vpcmpeqb xmm1,xmm0,[rcx] vptest xmm1,xmm1 je short M11_L09 vpmovmskb ecx,xmm1 xor eax,eax lzcnt eax,ecx neg eax add eax,1F jmp short M11_L08 M11_L07: sub rax,rcx vpmovmskb edx,xmm1 xor r9d,r9d lzcnt r9d,edx mov ecx,r9d neg ecx lea eax,[rax+rcx+1F] M11_L08: vzeroupper ret M11_L09: mov eax,0FFFFFFFF vzeroupper ret int 3 int 3 int 3 int 3 sbb [rax],eax add [rax],al add [rax],al add [rax],al push 0FFFFFFFFFA9896CC jg short M11_L10 M11_L10: add [rbp+48],dl mov ebp,esp mov [rbp+10],rcx ; Total bytes of code 344 ```
비교하기