Diff
checker
Texte
Texte
Images
Documents
Excel
Dossiers
Legal
Enterprise
Application de bureau
Prix
Se connecter
Télécharger Diffchecker Desktop
Comparer le texte
Trouver la différence entre deux fichiers texte
Outils
Historique
Éditeur live
Cacher identiques
Sans retour à la ligne
Vue
Divisé
Unifié
Niveau de précision
Intelligent
Mot
Caractère
Coloration syntaxique
Choisir la syntaxe
Ignorer
Transformer le texte
Aller au premier écart
Modifier l'entrée
Diffchecker Desktop
La façon la plus sécurisée d'utiliser Diffchecker. Obtenez l'application Diffchecker Desktop : vos diffs ne quittent jamais votre ordinateur !
Obtenir Desktop
Untitled diff
Créé
il y a 11 ans
Le diff n'expire jamais
Effacer
Exporter
Partager
Expliquer
41 suppressions
Lignes
Total
Supprimé
Caractères
Total
Supprimé
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
123 lignes
Copier tout
15 ajouts
Lignes
Total
Ajouté
Caractères
Total
Ajouté
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
99 lignes
Copier tout
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
Copier
Copié
Copier
Copié
.LC
1
:
.LC
0
:
.string "visible effect\n"
.string "visible effect\n"
.section .text.unlikely,"ax",@progbits
.section .text.unlikely,"ax",@progbits
Copier
Copié
Copier
Copié
.LCOLDB
2
:
.LCOLDB
1
:
.section .text.startup,"ax",@progbits
.section .text.startup,"ax",@progbits
Copier
Copié
Copier
Copié
.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
Copier
Copié
Copier
Copié
.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
Copier
Copié
Copier
Copié
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)
Copier
Copié
Copier
Copié
.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
Copier
Copié
Copier
Copié
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]
Copier
Copié
Copier
Copié
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
Copier
Copié
Copier
Copié
.LCOLDE
2
:
.LCOLDE
1
:
.section .text.startup
.section .text.startup
Copier
Copié
Copier
Copié
.LHOTE
2
:
.LHOTE
1
:
.section .text.unlikely
.section .text.unlikely
Copier
Copié
Copier
Copié
.LCOLDB
3
:
.LCOLDB
2
:
.section .text.startup
.section .text.startup
Copier
Copié
Copier
Copié
.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
Copier
Copié
Copier
Copié
.LCOLDE
3
:
.LCOLDE
2
:
.section .text.startup
.section .text.startup
Copier
Copié
Copier
Copié
.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
Copier
Copié
Copier
Copié
.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
Différences enregistrées
Texte d'origine
Ouvrir un fichier
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
Texte modifié
Ouvrir un fichier
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
Trouver la différence