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
Untitled Diff
Created
3 years ago
Diff never expires
Clear
Export
Share
Explain
8 removals
Lines
Total
Removed
Characters
Total
Removed
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
99 lines
Copy
7 additions
Lines
Total
Added
Characters
Total
Added
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
98 lines
Copy
; Assembly listing for method Program:M0()
; Assembly listing for method Program:M0()
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; optimized code
; optimized code
; rsp based frame
; rsp based frame
; fully interruptible
; fully interruptible
; No PGO data
; No PGO data
; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data
; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
;# V00 OutArgs [V00 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace"
;# V00 OutArgs [V00 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace"
;* V01 tmp1 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp"
;* V01 tmp1 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp"
; V02 tmp2 [V02,T00] ( 2, 4 ) long -> rcx "impSpillStackEnsure"
; V02 tmp2 [V02,T00] ( 2, 4 ) long -> rcx "impSpillStackEnsure"
; TEMP_01 int -> [rsp+0x04]
; TEMP_01 int -> [rsp+0x04]
;
;
; Lcl frame size = 8
; Lcl frame size = 8
G_M200_IG01:
G_M200_IG01:
push rax
push rax
;; size=1 bbWeight=1 PerfScore 1.00
;; size=1 bbWeight=1 PerfScore 1.00
G_M200_IG02:
G_M200_IG02:
mov eax, 127
mov eax, 127
mov dword ptr [rsp+04H], eax
mov dword ptr [rsp+04H], eax
mov eax, -0x5D09
mov eax, -0x5D09
movzx rdx, word ptr [(reloc)] ; static handle
movzx rdx, word ptr [(reloc)] ; static handle
not edx
not edx
or edx, 1
or edx, 1
movzx rcx, dx
movzx rcx, dx
cdq
cdq
idiv edx:eax, ecx
idiv edx:eax, ecx
or edx, 1
or edx, 1
movsx rcx, dl
movsx rcx, dl
mov eax, dword ptr [rsp+04H]
mov eax, dword ptr [rsp+04H]
xor edx, edx
xor edx, edx
idiv edx:eax, ecx
idiv edx:eax, ecx
cdqe
cdqe
mov rcx, rax
mov rcx, rax
neg rcx
neg rcx
or rcx, 1
or rcx, 1
mov rax, 0xD1FFAB1E
mov rax, 0xD1FFAB1E
xor edx, edx
xor edx, edx
idiv rdx:rax, rcx
idiv rdx:rax, rcx
movzx rax, al
movzx rax, al
movsx rax, al
movsx rax, al
xor eax, 0xD1FFAB1E
xor eax, 0xD1FFAB1E
neg eax
neg eax
not eax
not eax
neg eax
neg eax
and eax, 0x7FFE
and eax, 0x7FFE
neg eax
neg eax
neg eax
neg eax
add eax, 0xD1FFAB1E
add eax, 0xD1FFAB1E
neg eax
neg eax
not eax
not eax
or eax, 1
or eax, 1
movsx rcx, ax
movsx rcx, ax
mov eax, -2
mov eax, -2
cdq
cdq
idiv edx:eax, ecx
idiv edx:eax, ecx
mov eax, edx
mov eax, edx
not eax
not eax
neg eax
neg eax
neg eax
neg eax
neg eax
neg eax
or eax, 1
or eax, 1
movzx rax, al
movzx rax, al
mov ecx, eax
mov ecx, eax
mov rax, 0xD1FFAB1E
mov rax, 0xD1FFAB1E
xor edx, edx
xor edx, edx
div rdx:rax, rcx
div rdx:rax, rcx
shl rdx, 7
shl rdx, 7
movzx rdx, dx
movzx rdx, dx
mov eax, edx
mov eax, edx
neg eax
neg eax
neg eax
neg eax
movzx rax, ax
movzx rax, ax
mov ecx, eax
mov ecx, eax
mov r8, 0xD1FFAB1E
mov r8, 0xD1FFAB1E
imul rcx, r8
imul rcx, r8
xor rcx, 0xD1FFAB1E
xor rcx, 0xD1FFAB1E
or rcx, 1
or rcx, 1
movzx rcx, cl
movzx rcx, cl
mov eax, 0xD1FFAB1E
mov eax, 0xD1FFAB1E
xor edx, edx
xor edx, edx
div edx:eax, ecx
div edx:eax, ecx
mov ecx, edx
mov ecx, edx
imul rcx, rcx, -0x3BFC
imul rcx, rcx, -0x3BFC
Copy
Copied
Copy
Copied
mov ecx, ecx
not rcx
not rcx
Copy
Copied
Copy
Copied
;; size=22
7
bbWeight=1 PerfScore 25
2.00
;; size=22
5
bbWeight=1 PerfScore 25
1.75
G_M200_IG03:
G_M200_IG03:
add rsp, 8
add rsp, 8
tail.jmp [System.Console:WriteLine(ulong)]
tail.jmp [System.Console:WriteLine(ulong)]
;; size=10 bbWeight=1 PerfScore 2.25
;; size=10 bbWeight=1 PerfScore 2.25
Copy
Copied
Copy
Copied
; Total bytes of code 23
8
, prolog size 1, PerfScore 27
9.05
, instruction count
71
, allocated bytes for code 23
8
(MethodHash=af50ff37) for method Program:M0()
; Total bytes of code 23
6
, prolog size 1, PerfScore 27
8.60
, instruction count
70
, allocated bytes for code 23
6
(MethodHash=af50ff37) for method Program:M0()
; ============================================================
; ============================================================
Copy
Copied
Copy
Copied
18446744069414922151
337831
Saved diffs
Original text
Open file
; Assembly listing for method Program:M0() ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rsp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ;# V00 OutArgs [V00 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace" ;* V01 tmp1 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" ; V02 tmp2 [V02,T00] ( 2, 4 ) long -> rcx "impSpillStackEnsure" ; TEMP_01 int -> [rsp+0x04] ; ; Lcl frame size = 8 G_M200_IG01: push rax ;; size=1 bbWeight=1 PerfScore 1.00 G_M200_IG02: mov eax, 127 mov dword ptr [rsp+04H], eax mov eax, -0x5D09 movzx rdx, word ptr [(reloc)] ; static handle not edx or edx, 1 movzx rcx, dx cdq idiv edx:eax, ecx or edx, 1 movsx rcx, dl mov eax, dword ptr [rsp+04H] xor edx, edx idiv edx:eax, ecx cdqe mov rcx, rax neg rcx or rcx, 1 mov rax, 0xD1FFAB1E xor edx, edx idiv rdx:rax, rcx movzx rax, al movsx rax, al xor eax, 0xD1FFAB1E neg eax not eax neg eax and eax, 0x7FFE neg eax neg eax add eax, 0xD1FFAB1E neg eax not eax or eax, 1 movsx rcx, ax mov eax, -2 cdq idiv edx:eax, ecx mov eax, edx not eax neg eax neg eax neg eax or eax, 1 movzx rax, al mov ecx, eax mov rax, 0xD1FFAB1E xor edx, edx div rdx:rax, rcx shl rdx, 7 movzx rdx, dx mov eax, edx neg eax neg eax movzx rax, ax mov ecx, eax mov r8, 0xD1FFAB1E imul rcx, r8 xor rcx, 0xD1FFAB1E or rcx, 1 movzx rcx, cl mov eax, 0xD1FFAB1E xor edx, edx div edx:eax, ecx mov ecx, edx imul rcx, rcx, -0x3BFC mov ecx, ecx not rcx ;; size=227 bbWeight=1 PerfScore 252.00 G_M200_IG03: add rsp, 8 tail.jmp [System.Console:WriteLine(ulong)] ;; size=10 bbWeight=1 PerfScore 2.25 ; Total bytes of code 238, prolog size 1, PerfScore 279.05, instruction count 71, allocated bytes for code 238 (MethodHash=af50ff37) for method Program:M0() ; ============================================================ 18446744069414922151
Changed text
Open file
; Assembly listing for method Program:M0() ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rsp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ;# V00 OutArgs [V00 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace" ;* V01 tmp1 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" ; V02 tmp2 [V02,T00] ( 2, 4 ) long -> rcx "impSpillStackEnsure" ; TEMP_01 int -> [rsp+0x04] ; ; Lcl frame size = 8 G_M200_IG01: push rax ;; size=1 bbWeight=1 PerfScore 1.00 G_M200_IG02: mov eax, 127 mov dword ptr [rsp+04H], eax mov eax, -0x5D09 movzx rdx, word ptr [(reloc)] ; static handle not edx or edx, 1 movzx rcx, dx cdq idiv edx:eax, ecx or edx, 1 movsx rcx, dl mov eax, dword ptr [rsp+04H] xor edx, edx idiv edx:eax, ecx cdqe mov rcx, rax neg rcx or rcx, 1 mov rax, 0xD1FFAB1E xor edx, edx idiv rdx:rax, rcx movzx rax, al movsx rax, al xor eax, 0xD1FFAB1E neg eax not eax neg eax and eax, 0x7FFE neg eax neg eax add eax, 0xD1FFAB1E neg eax not eax or eax, 1 movsx rcx, ax mov eax, -2 cdq idiv edx:eax, ecx mov eax, edx not eax neg eax neg eax neg eax or eax, 1 movzx rax, al mov ecx, eax mov rax, 0xD1FFAB1E xor edx, edx div rdx:rax, rcx shl rdx, 7 movzx rdx, dx mov eax, edx neg eax neg eax movzx rax, ax mov ecx, eax mov r8, 0xD1FFAB1E imul rcx, r8 xor rcx, 0xD1FFAB1E or rcx, 1 movzx rcx, cl mov eax, 0xD1FFAB1E xor edx, edx div edx:eax, ecx mov ecx, edx imul rcx, rcx, -0x3BFC not rcx ;; size=225 bbWeight=1 PerfScore 251.75 G_M200_IG03: add rsp, 8 tail.jmp [System.Console:WriteLine(ulong)] ;; size=10 bbWeight=1 PerfScore 2.25 ; Total bytes of code 236, prolog size 1, PerfScore 278.60, instruction count 70, allocated bytes for code 236 (MethodHash=af50ff37) for method Program:M0() ; ============================================================ 337831
Find difference