Diff
checker
文本
文本
图像
文档
Excel
文件夹
Legal
Enterprise
桌面版
定价
登录
下载 Diffchecker 桌面版
比较文本
查找两个文本文件之间的差异
工具
历史
实时编辑器
折叠未更改行
关闭换行
视图
拆分
统一
比对精度
智能
单词
字符
语法高亮
选择语法
忽略
文本转换
转到第一个差异
编辑输入
Diffchecker Desktop
运行Diffchecker最安全的方式。获取Diffchecker桌面应用:您的差异永远不会离开您的电脑!
获取桌面版
Redundant_OR
创建于
3年前
差异永不过期
清除
导出
分享
解释
21 删除
行
总计
删除
字符
总计
删除
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
164 行
全部复制
14 添加
行
总计
添加
字符
总计
添加
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
161 行
全部复制
## .NET 8.0.0 (42.42.42.42424), X64 RyuJIT AVX
## .NET 8.0.0 (42.42.42.42424), X64 RyuJIT AVX
```assembly
```assembly
; System.Text.Perf_Ascii.Equals_Chars()
; System.Text.Perf_Ascii.Equals_Chars()
sub rsp,28
sub rsp,28
mov r8,[rcx+20]
mov r8,[rcx+20]
test r8,r8
test r8,r8
je short M00_L04
je short M00_L04
lea rdx,[r8+10]
lea rdx,[r8+10]
mov eax,[r8+8]
mov eax,[r8+8]
M00_L00:
M00_L00:
mov r8,[rcx+28]
mov r8,[rcx+28]
test r8,r8
test r8,r8
je short M00_L02
je short M00_L02
lea rcx,[r8+10]
lea rcx,[r8+10]
mov r10d,[r8+8]
mov r10d,[r8+8]
M00_L01:
M00_L01:
mov [rsp+20],rcx
mov [rsp+20],rcx
cmp eax,r10d
cmp eax,r10d
jne short M00_L05
jne short M00_L05
mov r8d,r10d
mov r8d,r10d
mov rcx,rdx
mov rcx,rdx
mov rdx,[rsp+20]
mov rdx,[rsp+20]
复制
已复制
复制
已复制
call qword ptr [7FFB99B
C
E1A8]; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr)
call qword ptr [7FFB99B
F
E1A8]; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr)
jmp short M00_L03
jmp short M00_L03
M00_L02:
M00_L02:
xor ecx,ecx
xor ecx,ecx
xor r10d,r10d
xor r10d,r10d
jmp short M00_L01
jmp short M00_L01
M00_L03:
M00_L03:
add rsp,28
add rsp,28
ret
ret
M00_L04:
M00_L04:
xor edx,edx
xor edx,edx
xor eax,eax
xor eax,eax
jmp short M00_L00
jmp short M00_L00
M00_L05:
M00_L05:
xor eax,eax
xor eax,eax
jmp short M00_L03
jmp short M00_L03
; Total bytes of code 89
; Total bytes of code 89
```
```
```assembly
```assembly
; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr)
; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr)
sub rsp,98
sub rsp,98
vzeroupper
vzeroupper
cmp r8,8
cmp r8,8
jae short M01_L03
jae short M01_L03
xor eax,eax
xor eax,eax
test r8,r8
test r8,r8
jbe short M01_L01
jbe short M01_L01
M01_L00:
M01_L00:
movzx r10d,word ptr [rcx+rax*2]
movzx r10d,word ptr [rcx+rax*2]
movzx r9d,word ptr [rdx+rax*2]
movzx r9d,word ptr [rdx+rax*2]
cmp r10d,r9d
cmp r10d,r9d
jne near ptr M01_L10
jne near ptr M01_L10
复制
已复制
复制
已复制
or r10d,r9d
cmp r10d,7F
cmp r10d,7F
ja near ptr M01_L10
ja near ptr M01_L10
inc rax
inc rax
cmp rax,r8
cmp rax,r8
jb short M01_L00
jb short M01_L00
M01_L01:
M01_L01:
mov eax,1
mov eax,1
vzeroupper
vzeroupper
add rsp,98
add rsp,98
ret
ret
M01_L02:
M01_L02:
movzx eax,cl
movzx eax,cl
vzeroupper
vzeroupper
add rsp,98
add rsp,98
ret
ret
M01_L03:
M01_L03:
cmp r8,10
cmp r8,10
jb near ptr M01_L08
jb near ptr M01_L08
mov rax,rcx
mov rax,rcx
lea r10,[rdx+r8*2-20]
lea r10,[rdx+r8*2-20]
M01_L04:
M01_L04:
vmovups ymm0,[rax]
vmovups ymm0,[rax]
vmovups [rsp+60],ymm0
vmovups [rsp+60],ymm0
vmovups ymm0,[rdx]
vmovups ymm0,[rdx]
vmovups [rsp+40],ymm0
vmovups [rsp+40],ymm0
vmovups xmm0,[rsp+60]
vmovups xmm0,[rsp+60]
vpcmpeqw xmm0,xmm0,[rsp+40]
vpcmpeqw xmm0,xmm0,[rsp+40]
vpmovmskb r9d,xmm0
vpmovmskb r9d,xmm0
cmp r9d,0FFFF
cmp r9d,0FFFF
jne near ptr M01_L10
jne near ptr M01_L10
vmovups xmm0,[rsp+70]
vmovups xmm0,[rsp+70]
vpcmpeqw xmm0,xmm0,[rsp+50]
vpcmpeqw xmm0,xmm0,[rsp+50]
vpmovmskb r9d,xmm0
vpmovmskb r9d,xmm0
cmp r9d,0FFFF
cmp r9d,0FFFF
setne r9b
setne r9b
movzx r9d,r9b
movzx r9d,r9b
test r9d,r9d
test r9d,r9d
jne near ptr M01_L10
jne near ptr M01_L10
vmovups ymm0,[rsp+60]
vmovups ymm0,[rsp+60]
复制
已复制
复制
已复制
vptest ymm0,ymmword ptr [7FFB996
39B8
0]
vptest ymm0,ymmword ptr [7FFB996
69B4
0]
jne near ptr M01_L10
jne near ptr M01_L10
add rdx,20
add rdx,20
add rax,20
add rax,20
cmp rdx,r10
cmp rdx,r10
jbe short M01_L04
jbe short M01_L04
test r8b,0F
test r8b,0F
je near ptr M01_L01
je near ptr M01_L01
vmovups ymm0,[rcx+r8*2-20]
vmovups ymm0,[rcx+r8*2-20]
vmovups [rsp+20],ymm0
vmovups [rsp+20],ymm0
vmovups ymm0,[r10]
vmovups ymm0,[r10]
vmovups [rsp],ymm0
vmovups [rsp],ymm0
vmovups xmm0,[rsp+20]
vmovups xmm0,[rsp+20]
vpcmpeqw xmm0,xmm0,[rsp]
vpcmpeqw xmm0,xmm0,[rsp]
vpmovmskb ecx,xmm0
vpmovmskb ecx,xmm0
cmp ecx,0FFFF
cmp ecx,0FFFF
jne short M01_L05
jne short M01_L05
vmovups xmm0,[rsp+30]
vmovups xmm0,[rsp+30]
vpcmpeqw xmm0,xmm0,[rsp+10]
vpcmpeqw xmm0,xmm0,[rsp+10]
vpmovmskb r8d,xmm0
vpmovmskb r8d,xmm0
cmp r8d,0FFFF
cmp r8d,0FFFF
setne al
setne al
movzx eax,al
movzx eax,al
test eax,eax
test eax,eax
jne short M01_L05
jne short M01_L05
vmovups ymm0,[rsp+20]
vmovups ymm0,[rsp+20]
复制
已复制
复制
已复制
vptest ymm0,ymmword ptr [7FFB996
39B8
0]
vptest ymm0,ymmword ptr [7FFB996
69B4
0]
je short M01_L06
je short M01_L06
M01_L05:
M01_L05:
xor ecx,ecx
xor ecx,ecx
jmp short M01_L07
jmp short M01_L07
M01_L06:
M01_L06:
mov ecx,1
mov ecx,1
M01_L07:
M01_L07:
jmp near ptr M01_L02
jmp near ptr M01_L02
M01_L08:
M01_L08:
lea rax,[rcx+r8*2-10]
lea rax,[rcx+r8*2-10]
lea r10,[rdx+r8*2-10]
lea r10,[rdx+r8*2-10]
M01_L09:
M01_L09:
vmovups xmm0,[rcx]
vmovups xmm0,[rcx]
复制
已复制
复制
已复制
vmovups xmm1,[rdx]
vpcmpeqw xmm
1
,xmm0,
[rdx]
vpcmpeqw xmm
2
,xmm0,
xmm1
vpmovmskb r9d,xmm
1
vpmovmskb r9d,xmm
2
cmp r9d,0FFFF
cmp r9d,0FFFF
jne short M01_L10
jne short M01_L10
复制
已复制
复制
已复制
vpor xmm0,xmm0,xmm1
vptest xmm0,xmmword ptr [7FFB996
69B4
0]
vptest xmm0,xmmword ptr [7FFB996
39B8
0]
jne short M01_L10
jne short M01_L10
add rdx,10
add rdx,10
add rcx,10
add rcx,10
cmp rdx,r10
cmp rdx,r10
jbe short M01_L09
jbe short M01_L09
test r8b,7
test r8b,7
je near ptr M01_L01
je near ptr M01_L01
vmovups xmm0,[rax]
vmovups xmm0,[rax]
复制
已复制
复制
已复制
vmovups xmm1,[r10]
vpcmpeqw xmm
1
,xmm0,
[r10]
vpcmpeqw xmm
2
,xmm0,
xmm1
vpmovmskb eax,xmm
1
vpmovmskb eax,xmm
2
cmp eax,0FFFF
cmp eax,0FFFF
jne short M01_L10
jne short M01_L10
复制
已复制
复制
已复制
vpor xmm0,xmm0,xmm1
vptest xmm0,xmmword ptr [7FFB996
69B4
0]
vptest xmm0,xmmword ptr [7FFB996
39B8
0]
je near ptr M01_L01
je near ptr M01_L01
M01_L10:
M01_L10:
xor eax,eax
xor eax,eax
vzeroupper
vzeroupper
add rsp,98
add rsp,98
ret
ret
复制
已复制
复制
已复制
; Total bytes of code
483
; Total bytes of code
464
```
```
复制
已复制
复制
已复制
已保存差异
原始文本
打开文件
## .NET 8.0.0 (42.42.42.42424), X64 RyuJIT AVX ```assembly ; System.Text.Perf_Ascii.Equals_Chars() sub rsp,28 mov r8,[rcx+20] test r8,r8 je short M00_L04 lea rdx,[r8+10] mov eax,[r8+8] M00_L00: mov r8,[rcx+28] test r8,r8 je short M00_L02 lea rcx,[r8+10] mov r10d,[r8+8] M00_L01: mov [rsp+20],rcx cmp eax,r10d jne short M00_L05 mov r8d,r10d mov rcx,rdx mov rdx,[rsp+20] call qword ptr [7FFB99BCE1A8]; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr) jmp short M00_L03 M00_L02: xor ecx,ecx xor r10d,r10d jmp short M00_L01 M00_L03: add rsp,28 ret M00_L04: xor edx,edx xor eax,eax jmp short M00_L00 M00_L05: xor eax,eax jmp short M00_L03 ; Total bytes of code 89 ``` ```assembly ; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr) sub rsp,98 vzeroupper cmp r8,8 jae short M01_L03 xor eax,eax test r8,r8 jbe short M01_L01 M01_L00: movzx r10d,word ptr [rcx+rax*2] movzx r9d,word ptr [rdx+rax*2] cmp r10d,r9d jne near ptr M01_L10 or r10d,r9d cmp r10d,7F ja near ptr M01_L10 inc rax cmp rax,r8 jb short M01_L00 M01_L01: mov eax,1 vzeroupper add rsp,98 ret M01_L02: movzx eax,cl vzeroupper add rsp,98 ret M01_L03: cmp r8,10 jb near ptr M01_L08 mov rax,rcx lea r10,[rdx+r8*2-20] M01_L04: vmovups ymm0,[rax] vmovups [rsp+60],ymm0 vmovups ymm0,[rdx] vmovups [rsp+40],ymm0 vmovups xmm0,[rsp+60] vpcmpeqw xmm0,xmm0,[rsp+40] vpmovmskb r9d,xmm0 cmp r9d,0FFFF jne near ptr M01_L10 vmovups xmm0,[rsp+70] vpcmpeqw xmm0,xmm0,[rsp+50] vpmovmskb r9d,xmm0 cmp r9d,0FFFF setne r9b movzx r9d,r9b test r9d,r9d jne near ptr M01_L10 vmovups ymm0,[rsp+60] vptest ymm0,ymmword ptr [7FFB99639B80] jne near ptr M01_L10 add rdx,20 add rax,20 cmp rdx,r10 jbe short M01_L04 test r8b,0F je near ptr M01_L01 vmovups ymm0,[rcx+r8*2-20] vmovups [rsp+20],ymm0 vmovups ymm0,[r10] vmovups [rsp],ymm0 vmovups xmm0,[rsp+20] vpcmpeqw xmm0,xmm0,[rsp] vpmovmskb ecx,xmm0 cmp ecx,0FFFF jne short M01_L05 vmovups xmm0,[rsp+30] vpcmpeqw xmm0,xmm0,[rsp+10] vpmovmskb r8d,xmm0 cmp r8d,0FFFF setne al movzx eax,al test eax,eax jne short M01_L05 vmovups ymm0,[rsp+20] vptest ymm0,ymmword ptr [7FFB99639B80] je short M01_L06 M01_L05: xor ecx,ecx jmp short M01_L07 M01_L06: mov ecx,1 M01_L07: jmp near ptr M01_L02 M01_L08: lea rax,[rcx+r8*2-10] lea r10,[rdx+r8*2-10] M01_L09: vmovups xmm0,[rcx] vmovups xmm1,[rdx] vpcmpeqw xmm2,xmm0,xmm1 vpmovmskb r9d,xmm2 cmp r9d,0FFFF jne short M01_L10 vpor xmm0,xmm0,xmm1 vptest xmm0,xmmword ptr [7FFB99639B80] jne short M01_L10 add rdx,10 add rcx,10 cmp rdx,r10 jbe short M01_L09 test r8b,7 je near ptr M01_L01 vmovups xmm0,[rax] vmovups xmm1,[r10] vpcmpeqw xmm2,xmm0,xmm1 vpmovmskb eax,xmm2 cmp eax,0FFFF jne short M01_L10 vpor xmm0,xmm0,xmm1 vptest xmm0,xmmword ptr [7FFB99639B80] je near ptr M01_L01 M01_L10: xor eax,eax vzeroupper add rsp,98 ret ; Total bytes of code 483 ```
更改后文本
打开文件
## .NET 8.0.0 (42.42.42.42424), X64 RyuJIT AVX ```assembly ; System.Text.Perf_Ascii.Equals_Chars() sub rsp,28 mov r8,[rcx+20] test r8,r8 je short M00_L04 lea rdx,[r8+10] mov eax,[r8+8] M00_L00: mov r8,[rcx+28] test r8,r8 je short M00_L02 lea rcx,[r8+10] mov r10d,[r8+8] M00_L01: mov [rsp+20],rcx cmp eax,r10d jne short M00_L05 mov r8d,r10d mov rcx,rdx mov rdx,[rsp+20] call qword ptr [7FFB99BFE1A8]; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr) jmp short M00_L03 M00_L02: xor ecx,ecx xor r10d,r10d jmp short M00_L01 M00_L03: add rsp,28 ret M00_L04: xor edx,edx xor eax,eax jmp short M00_L00 M00_L05: xor eax,eax jmp short M00_L03 ; Total bytes of code 89 ``` ```assembly ; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr) sub rsp,98 vzeroupper cmp r8,8 jae short M01_L03 xor eax,eax test r8,r8 jbe short M01_L01 M01_L00: movzx r10d,word ptr [rcx+rax*2] movzx r9d,word ptr [rdx+rax*2] cmp r10d,r9d jne near ptr M01_L10 cmp r10d,7F ja near ptr M01_L10 inc rax cmp rax,r8 jb short M01_L00 M01_L01: mov eax,1 vzeroupper add rsp,98 ret M01_L02: movzx eax,cl vzeroupper add rsp,98 ret M01_L03: cmp r8,10 jb near ptr M01_L08 mov rax,rcx lea r10,[rdx+r8*2-20] M01_L04: vmovups ymm0,[rax] vmovups [rsp+60],ymm0 vmovups ymm0,[rdx] vmovups [rsp+40],ymm0 vmovups xmm0,[rsp+60] vpcmpeqw xmm0,xmm0,[rsp+40] vpmovmskb r9d,xmm0 cmp r9d,0FFFF jne near ptr M01_L10 vmovups xmm0,[rsp+70] vpcmpeqw xmm0,xmm0,[rsp+50] vpmovmskb r9d,xmm0 cmp r9d,0FFFF setne r9b movzx r9d,r9b test r9d,r9d jne near ptr M01_L10 vmovups ymm0,[rsp+60] vptest ymm0,ymmword ptr [7FFB99669B40] jne near ptr M01_L10 add rdx,20 add rax,20 cmp rdx,r10 jbe short M01_L04 test r8b,0F je near ptr M01_L01 vmovups ymm0,[rcx+r8*2-20] vmovups [rsp+20],ymm0 vmovups ymm0,[r10] vmovups [rsp],ymm0 vmovups xmm0,[rsp+20] vpcmpeqw xmm0,xmm0,[rsp] vpmovmskb ecx,xmm0 cmp ecx,0FFFF jne short M01_L05 vmovups xmm0,[rsp+30] vpcmpeqw xmm0,xmm0,[rsp+10] vpmovmskb r8d,xmm0 cmp r8d,0FFFF setne al movzx eax,al test eax,eax jne short M01_L05 vmovups ymm0,[rsp+20] vptest ymm0,ymmword ptr [7FFB99669B40] je short M01_L06 M01_L05: xor ecx,ecx jmp short M01_L07 M01_L06: mov ecx,1 M01_L07: jmp near ptr M01_L02 M01_L08: lea rax,[rcx+r8*2-10] lea r10,[rdx+r8*2-10] M01_L09: vmovups xmm0,[rcx] vpcmpeqw xmm1,xmm0,[rdx] vpmovmskb r9d,xmm1 cmp r9d,0FFFF jne short M01_L10 vptest xmm0,xmmword ptr [7FFB99669B40] jne short M01_L10 add rdx,10 add rcx,10 cmp rdx,r10 jbe short M01_L09 test r8b,7 je near ptr M01_L01 vmovups xmm0,[rax] vpcmpeqw xmm1,xmm0,[r10] vpmovmskb eax,xmm1 cmp eax,0FFFF jne short M01_L10 vptest xmm0,xmmword ptr [7FFB99669B40] je near ptr M01_L01 M01_L10: xor eax,eax vzeroupper add rsp,98 ret ; Total bytes of code 464 ```
查找差异