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
Real-time editor
Hide unchanged lines
Disable line wrap
Layout
Split
Unified
Diff precision
Smart
Word
Char
Syntax highlighting
Choose syntax
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
11 years ago
Diff never expires
Clear
Export
Share
Explain
41 removals
Lines
Total
Removed
Characters
Total
Removed
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
123 lines
Copy
15 additions
Lines
Total
Added
Characters
Total
Added
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
99 lines
Copy
g++ --version
g++ --version
g++ -std=c++11 -O2 -Wall -pedantic -pthread main.cpp -S -masm=intel -o test.asm && cat test.asm | c++filt
g++ -std=c++11 -O2 -Wall -pedantic -pthread main.cpp -S -masm=intel -o test.asm && cat test.asm | c++filt
g++ (GCC) 5.2.0
g++ (GCC) 5.2.0
Copyright (C) 2015 Free Software Foundation, Inc.
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
.file "main.cpp"
.file "main.cpp"
.intel_syntax noprefix
.intel_syntax noprefix
.section .rodata.str1.1,"aMS",@progbits,1
.section .rodata.str1.1,"aMS",@progbits,1
Copy
Copied
Copy
Copied
.LC
1
:
.LC
0
:
.string "visible effect\n"
.string "visible effect\n"
.section .text.unlikely,"ax",@progbits
.section .text.unlikely,"ax",@progbits
Copy
Copied
Copy
Copied
.LCOLDB
2
:
.LCOLDB
1
:
.section .text.startup,"ax",@progbits
.section .text.startup,"ax",@progbits
Copy
Copied
Copy
Copied
.LHOTB
2
:
.LHOTB
1
:
.p2align 4,,15
.p2align 4,,15
.globl main
.globl main
.type main, @function
.type main, @function
main:
main:
.LFB1408:
.LFB1408:
.cfi_startproc
.cfi_startproc
sub rsp, 40
sub rsp, 40
.cfi_def_cfa_offset 48
.cfi_def_cfa_offset 48
mov rax, QWORD PTR std::cin[rip]
mov rax, QWORD PTR std::cin[rip]
mov QWORD PTR [rsp], OFFSET FLAT:std::cin
mov QWORD PTR [rsp], OFFSET FLAT:std::cin
mov rax, QWORD PTR [rax-24]
mov rax, QWORD PTR [rax-24]
test BYTE PTR std::cin[rax+32], 5
test BYTE PTR std::cin[rax+32], 5
je .L2
je .L2
mov BYTE PTR [rsp+16], 0
mov BYTE PTR [rsp+16], 0
Copy
Copied
Copy
Copied
.L9:
jmp .L1
3
cmp BYTE PTR guard variable for main::itend[rip], 0
jne .L10
jmp .L1
9
.p2align 4,,10
.p2align 4,,10
.p2align 3
.p2align 3
.L7:
.L7:
mov edx, 15
mov edx, 15
Copy
Copied
Copy
Copied
mov esi, OFFSET FLAT:.LC
1
mov esi, OFFSET FLAT:.LC
0
mov edi, OFFSET FLAT:std::cout
mov edi, OFFSET FLAT:std::cout
call std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)
call std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)
Copy
Copied
Copy
Copied
.L1
0
:
.L1
3
:
movzx eax,
BYTE PTR [rsp+16]
cmp
BYTE PTR [rsp+16]
, 0
cmp al, BYTE PTR main::itend[rip+16]
jne .L7
jne .L7
Copy
Copied
Copy
Copied
mov rcx, QWORD PTR main::itend[rip]
cmp QWORD PTR [rsp], rcx
sete dl
cmp al, dl
ja .L7
xor eax, eax
xor eax, eax
add rsp, 40
add rsp, 40
.cfi_remember_state
.cfi_remember_state
.cfi_def_cfa_offset 8
.cfi_def_cfa_offset 8
ret
ret
.L2:
.L2:
.cfi_restore_state
.cfi_restore_state
lea rsi, [rsp+8]
lea rsi, [rsp+8]
mov edi, OFFSET FLAT:std::cin
mov edi, OFFSET FLAT:std::cin
mov BYTE PTR [rsp+16], 1
mov BYTE PTR [rsp+16], 1
call std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::_M_extract<double>(double&)
call std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::_M_extract<double>(double&)
mov rax, QWORD PTR [rsp]
mov rax, QWORD PTR [rsp]
mov rdx, QWORD PTR [rax]
mov rdx, QWORD PTR [rax]
mov rdx, QWORD PTR [rdx-24]
mov rdx, QWORD PTR [rdx-24]
test BYTE PTR [rax+32+rdx], 5
test BYTE PTR [rax+32+rdx], 5
sete BYTE PTR [rsp+16]
sete BYTE PTR [rsp+16]
Copy
Copied
Copy
Copied
jmp .L9
jmp .L1
3
.L19:
mov edi, OFFSET FLAT:guard variable for main::itend
call __cxa_guard_acquire
test eax, eax
je .L10
mov edi, OFFSET FLAT:guard variable for main::itend
mov QWORD PTR main::itend[rip], 0
mov QWORD PTR main::itend[rip+8], 0
mov BYTE PTR main::itend[rip+16], 0
call __cxa_guard_release
jmp .L1
0
.cfi_endproc
.cfi_endproc
.LFE1408:
.LFE1408:
.size main, .-main
.size main, .-main
.section .text.unlikely
.section .text.unlikely
Copy
Copied
Copy
Copied
.LCOLDE
2
:
.LCOLDE
1
:
.section .text.startup
.section .text.startup
Copy
Copied
Copy
Copied
.LHOTE
2
:
.LHOTE
1
:
.section .text.unlikely
.section .text.unlikely
Copy
Copied
Copy
Copied
.LCOLDB
3
:
.LCOLDB
2
:
.section .text.startup
.section .text.startup
Copy
Copied
Copy
Copied
.LHOTB
3
:
.LHOTB
2
:
.p2align 4,,15
.p2align 4,,15
.type _GLOBAL__sub_I_main, @function
.type _GLOBAL__sub_I_main, @function
_GLOBAL__sub_I_main:
_GLOBAL__sub_I_main:
.LFB1609:
.LFB1609:
.cfi_startproc
.cfi_startproc
sub rsp, 8
sub rsp, 8
.cfi_def_cfa_offset 16
.cfi_def_cfa_offset 16
mov edi, OFFSET FLAT:std::__ioinit
mov edi, OFFSET FLAT:std::__ioinit
call std::ios_base::Init::Init()
call std::ios_base::Init::Init()
mov edx, OFFSET FLAT:__dso_handle
mov edx, OFFSET FLAT:__dso_handle
mov esi, OFFSET FLAT:std::__ioinit
mov esi, OFFSET FLAT:std::__ioinit
mov edi, OFFSET FLAT:std::ios_base::Init::~Init()
mov edi, OFFSET FLAT:std::ios_base::Init::~Init()
add rsp, 8
add rsp, 8
.cfi_def_cfa_offset 8
.cfi_def_cfa_offset 8
jmp __cxa_atexit
jmp __cxa_atexit
.cfi_endproc
.cfi_endproc
.LFE1609:
.LFE1609:
.size _GLOBAL__sub_I_main, .-_GLOBAL__sub_I_main
.size _GLOBAL__sub_I_main, .-_GLOBAL__sub_I_main
.section .text.unlikely
.section .text.unlikely
Copy
Copied
Copy
Copied
.LCOLDE
3
:
.LCOLDE
2
:
.section .text.startup
.section .text.startup
Copy
Copied
Copy
Copied
.LHOTE
3
:
.LHOTE
2
:
.section .init_array,"aw"
.section .init_array,"aw"
.align 8
.align 8
.quad _GLOBAL__sub_I_main
.quad _GLOBAL__sub_I_main
Copy
Copied
Copy
Copied
.local main::itend
.comm main::itend,24,16
.local guard variable for main::itend
.comm guard variable for main::itend,8,8
.local std::__ioinit
.local std::__ioinit
.comm std::__ioinit,1,1
.comm std::__ioinit,1,1
.hidden __dso_handle
.hidden __dso_handle
.ident "GCC: (GNU) 5.2.0"
.ident "GCC: (GNU) 5.2.0"
.section .note.GNU-stack,"",@progbits
.section .note.GNU-stack,"",@progbits
Saved diffs
Original text
Open file
g++ --version g++ -std=c++11 -O2 -Wall -pedantic -pthread main.cpp -S -masm=intel -o test.asm && cat test.asm | c++filt g++ (GCC) 5.2.0 Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. .file "main.cpp" .intel_syntax noprefix .section .rodata.str1.1,"aMS",@progbits,1 .LC1: .string "visible effect\n" .section .text.unlikely,"ax",@progbits .LCOLDB2: .section .text.startup,"ax",@progbits .LHOTB2: .p2align 4,,15 .globl main .type main, @function main: .LFB1408: .cfi_startproc sub rsp, 40 .cfi_def_cfa_offset 48 mov rax, QWORD PTR std::cin[rip] mov QWORD PTR [rsp], OFFSET FLAT:std::cin mov rax, QWORD PTR [rax-24] test BYTE PTR std::cin[rax+32], 5 je .L2 mov BYTE PTR [rsp+16], 0 .L9: cmp BYTE PTR guard variable for main::itend[rip], 0 jne .L10 jmp .L19 .p2align 4,,10 .p2align 3 .L7: mov edx, 15 mov esi, OFFSET FLAT:.LC1 mov edi, OFFSET FLAT:std::cout call std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) .L10: movzx eax, BYTE PTR [rsp+16] cmp al, BYTE PTR main::itend[rip+16] jne .L7 mov rcx, QWORD PTR main::itend[rip] cmp QWORD PTR [rsp], rcx sete dl cmp al, dl ja .L7 xor eax, eax add rsp, 40 .cfi_remember_state .cfi_def_cfa_offset 8 ret .L2: .cfi_restore_state lea rsi, [rsp+8] mov edi, OFFSET FLAT:std::cin mov BYTE PTR [rsp+16], 1 call std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::_M_extract<double>(double&) mov rax, QWORD PTR [rsp] mov rdx, QWORD PTR [rax] mov rdx, QWORD PTR [rdx-24] test BYTE PTR [rax+32+rdx], 5 sete BYTE PTR [rsp+16] jmp .L9 .L19: mov edi, OFFSET FLAT:guard variable for main::itend call __cxa_guard_acquire test eax, eax je .L10 mov edi, OFFSET FLAT:guard variable for main::itend mov QWORD PTR main::itend[rip], 0 mov QWORD PTR main::itend[rip+8], 0 mov BYTE PTR main::itend[rip+16], 0 call __cxa_guard_release jmp .L10 .cfi_endproc .LFE1408: .size main, .-main .section .text.unlikely .LCOLDE2: .section .text.startup .LHOTE2: .section .text.unlikely .LCOLDB3: .section .text.startup .LHOTB3: .p2align 4,,15 .type _GLOBAL__sub_I_main, @function _GLOBAL__sub_I_main: .LFB1609: .cfi_startproc sub rsp, 8 .cfi_def_cfa_offset 16 mov edi, OFFSET FLAT:std::__ioinit call std::ios_base::Init::Init() mov edx, OFFSET FLAT:__dso_handle mov esi, OFFSET FLAT:std::__ioinit mov edi, OFFSET FLAT:std::ios_base::Init::~Init() add rsp, 8 .cfi_def_cfa_offset 8 jmp __cxa_atexit .cfi_endproc .LFE1609: .size _GLOBAL__sub_I_main, .-_GLOBAL__sub_I_main .section .text.unlikely .LCOLDE3: .section .text.startup .LHOTE3: .section .init_array,"aw" .align 8 .quad _GLOBAL__sub_I_main .local main::itend .comm main::itend,24,16 .local guard variable for main::itend .comm guard variable for main::itend,8,8 .local std::__ioinit .comm std::__ioinit,1,1 .hidden __dso_handle .ident "GCC: (GNU) 5.2.0" .section .note.GNU-stack,"",@progbits
Changed text
Open file
g++ --version g++ -std=c++11 -O2 -Wall -pedantic -pthread main.cpp -S -masm=intel -o test.asm && cat test.asm | c++filt g++ (GCC) 5.2.0 Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. .file "main.cpp" .intel_syntax noprefix .section .rodata.str1.1,"aMS",@progbits,1 .LC0: .string "visible effect\n" .section .text.unlikely,"ax",@progbits .LCOLDB1: .section .text.startup,"ax",@progbits .LHOTB1: .p2align 4,,15 .globl main .type main, @function main: .LFB1408: .cfi_startproc sub rsp, 40 .cfi_def_cfa_offset 48 mov rax, QWORD PTR std::cin[rip] mov QWORD PTR [rsp], OFFSET FLAT:std::cin mov rax, QWORD PTR [rax-24] test BYTE PTR std::cin[rax+32], 5 je .L2 mov BYTE PTR [rsp+16], 0 jmp .L13 .p2align 4,,10 .p2align 3 .L7: mov edx, 15 mov esi, OFFSET FLAT:.LC0 mov edi, OFFSET FLAT:std::cout call std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) .L13: cmp BYTE PTR [rsp+16], 0 jne .L7 xor eax, eax add rsp, 40 .cfi_remember_state .cfi_def_cfa_offset 8 ret .L2: .cfi_restore_state lea rsi, [rsp+8] mov edi, OFFSET FLAT:std::cin mov BYTE PTR [rsp+16], 1 call std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::_M_extract<double>(double&) mov rax, QWORD PTR [rsp] mov rdx, QWORD PTR [rax] mov rdx, QWORD PTR [rdx-24] test BYTE PTR [rax+32+rdx], 5 sete BYTE PTR [rsp+16] jmp .L13 .cfi_endproc .LFE1408: .size main, .-main .section .text.unlikely .LCOLDE1: .section .text.startup .LHOTE1: .section .text.unlikely .LCOLDB2: .section .text.startup .LHOTB2: .p2align 4,,15 .type _GLOBAL__sub_I_main, @function _GLOBAL__sub_I_main: .LFB1609: .cfi_startproc sub rsp, 8 .cfi_def_cfa_offset 16 mov edi, OFFSET FLAT:std::__ioinit call std::ios_base::Init::Init() mov edx, OFFSET FLAT:__dso_handle mov esi, OFFSET FLAT:std::__ioinit mov edi, OFFSET FLAT:std::ios_base::Init::~Init() add rsp, 8 .cfi_def_cfa_offset 8 jmp __cxa_atexit .cfi_endproc .LFE1609: .size _GLOBAL__sub_I_main, .-_GLOBAL__sub_I_main .section .text.unlikely .LCOLDE2: .section .text.startup .LHOTE2: .section .init_array,"aw" .align 8 .quad _GLOBAL__sub_I_main .local std::__ioinit .comm std::__ioinit,1,1 .hidden __dso_handle .ident "GCC: (GNU) 5.2.0" .section .note.GNU-stack,"",@progbits
Find difference