Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.30319.01
- include listing.inc
- INCLUDELIB OLDNAMES
- PUBLIC ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z ; std::operator<<<std::char_traits<char> >
- PUBLIC ?length@?$char_traits@D@std@@SA_KPEBD@Z ; std::char_traits<char>::length
- PUBLIC ?eq_int_type@?$char_traits@D@std@@SA_NAEBH0@Z ; std::char_traits<char>::eq_int_type
- PUBLIC ?eof@?$char_traits@D@std@@SAHXZ ; std::char_traits<char>::eof
- PUBLIC ??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::_Sentry_base
- PUBLIC ??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z ; std::basic_ostream<char,std::char_traits<char> >::sentry::sentry
- PUBLIC ??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base
- PUBLIC ??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry
- PUBLIC ??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBAPEQ_Bool_struct@2@HXZ ; std::basic_ostream<char,std::char_traits<char> >::sentry::operator int std::_Bool_struct::* __ptr64
- PUBLIC ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z ; std::operator<<<std::char_traits<char> >
- EXTRN __imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@N@Z:PROC
- EXTRN __imp_?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ:PROC
- EXTRN __imp_?cin@std@@3V?$basic_istream@DU?$char_traits@D@std@@@1@A:BYTE
- EXTRN __imp_?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A:BYTE
- EXTRN __imp_clock:PROC
- EXTRN __imp_?flags@ios_base@std@@QEBAHXZ:PROC
- EXTRN __imp_?width@ios_base@std@@QEBA_JXZ:PROC
- EXTRN __imp_?width@ios_base@std@@QEAA_J_J@Z:PROC
- EXTRN __imp_?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z:PROC
- EXTRN __imp_?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEBD_J@Z:PROC
- EXTRN __imp_?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z:PROC
- EXTRN __imp_?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADXZ:PROC
- EXTRN __imp_?rdstate@ios_base@std@@QEBAHXZ:PROC
- EXTRN __imp_?good@ios_base@std@@QEBA_NXZ:PROC
- EXTRN __imp_?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ:PROC
- EXTRN __imp_?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ:PROC
- EXTRN __imp_?uncaught_exception@std@@YA_NXZ:PROC
- EXTRN __imp_?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ:PROC
- EXTRN __imp_?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ:PROC
- $SG-31 DB 'Variante 0: Kontrollwert: ', 00H
- ORG $+1
- $SG-32 DB 's', 0aH, 00H
- ORG $+1
- $SG-33 DB 09H, ' zeit: ', 00H
- ORG $+3
- $SG-35 DB 's', 0aH, 00H
- ORG $+1
- $SG-34 DB 'Variante 1: Kontrollwert: ', 00H
- ORG $+1
- $SG-38 DB 's', 0aH, 00H
- ORG $+1
- $SG-36 DB 09H, ' zeit: ', 00H
- ORG $+3
- $SG-41 DB 's', 0aH, 00H
- ORG $+1
- $SG-37 DB 'Variante 2: Kontrollwert: ', 00H
- ORG $+5
- $SG-39 DB 09H, ' zeit: ', 00H
- ORG $+7
- $SG-40 DB 'Variante 3: Kontrollwert: ', 00H
- ORG $+5
- $SG-42 DB 09H, ' zeit: ', 00H
- ORG $+7
- $SG-43 DB 'Variante 4: Kontrollwert: ', 00H
- ; COMDAT pdata
- ; File c:\program files (x86)\microsoft visual studio 10.0\vc\include\ios
- pdata SEGMENT
- $pdata$??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ DD imagerel $LN8
- DD imagerel $LN8+35
- DD imagerel $unwind$??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ
- pdata ENDS
- ; COMDAT xdata
- xdata SEGMENT
- $unwind$??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ DD 010401H
- DD 04204H
- ; Function compile flags: /Ogtpy
- ; File c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream
- xdata ENDS
- ; COMDAT ??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ
- _TEXT SEGMENT
- this$ = 48
- ??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ PROC ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base, COMDAT
- ; 97 : { // destroy after unlocking
- $LN8:
- sub rsp, 40 ; 00000028H
- ; 98 : if (_Myostr.rdbuf() != 0)
- mov rdx, QWORD PTR [rcx]
- mov rax, QWORD PTR [rdx]
- movsxd rcx, DWORD PTR [rax+4]
- mov rcx, QWORD PTR [rcx+rdx+72]
- test rcx, rcx
- je SHORT $LN1@Sentry_bas
- ; 99 : _Myostr.rdbuf()->_Unlock();
- mov rax, QWORD PTR [rcx]
- call QWORD PTR [rax+16]
- $LN1@Sentry_bas:
- ; 100 : }
- add rsp, 40 ; 00000028H
- ret 0
- ??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ENDP ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base
- _TEXT ENDS
- ; COMDAT pdata
- ; File c:\program files (x86)\microsoft visual studio 10.0\vc\include\ios
- pdata SEGMENT
- $pdata$??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z DD imagerel $LN9
- DD imagerel $LN9+44
- DD imagerel $unwind$??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z
- pdata ENDS
- ; COMDAT xdata
- xdata SEGMENT
- $unwind$??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z DD 020601H
- DD 030023206H
- ; Function compile flags: /Ogtpy
- ; File c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream
- xdata ENDS
- ; COMDAT ??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z
- _TEXT SEGMENT
- this$ = 48
- _Ostr$ = 56
- ??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z PROC ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::_Sentry_base, COMDAT
- ; 91 : { // lock the stream buffer, if there
- $LN9:
- push rbx
- sub rsp, 32 ; 00000020H
- mov QWORD PTR [rcx], rdx
- ; 92 : if (_Myostr.rdbuf() != 0)
- mov rax, QWORD PTR [rdx]
- mov rbx, rcx
- movsxd r8, DWORD PTR [rax+4]
- mov rcx, QWORD PTR [r8+rdx+72]
- test rcx, rcx
- je SHORT $LN8@Sentry_bas@2
- ; 93 : _Myostr.rdbuf()->_Lock();
- mov rax, QWORD PTR [rcx]
- call QWORD PTR [rax+8]
- $LN8@Sentry_bas@2:
- ; 94 : }
- mov rax, rbx
- add rsp, 32 ; 00000020H
- pop rbx
- ret 0
- ??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z ENDP ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::_Sentry_base
- ; Function compile flags: /Ogtpy
- _TEXT ENDS
- ; COMDAT ??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBAPEQ_Bool_struct@2@HXZ
- _TEXT SEGMENT
- this$ = 8
- ??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBAPEQ_Bool_struct@2@HXZ PROC ; std::basic_ostream<char,std::char_traits<char> >::sentry::operator int std::_Bool_struct::* __ptr64, COMDAT
- ; 133 : return (_Ok ? _CONVERTIBLE_TO_TRUE : 0);
- movzx eax, BYTE PTR [rcx+8]
- neg al
- sbb eax, eax
- neg eax
- dec eax
- ; 134 : }
- ret 0
- ??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBAPEQ_Bool_struct@2@HXZ ENDP ; std::basic_ostream<char,std::char_traits<char> >::sentry::operator int std::_Bool_struct::* __ptr64
- _TEXT ENDS
- ; COMDAT pdata
- ; File c:\program files (x86)\microsoft visual studio 10.0\vc\include\ios
- pdata SEGMENT
- $pdata$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ DD imagerel $LN11
- DD imagerel $LN11+60
- DD imagerel $unwind$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ
- pdata ENDS
- ; COMDAT xdata
- xdata SEGMENT
- $unwind$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ DD 020601H
- DD 030023206H
- ; Function compile flags: /Ogtpy
- ; File c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream
- xdata ENDS
- ; COMDAT ??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ
- _TEXT SEGMENT
- this$ = 48
- ??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ PROC ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry, COMDAT
- ; 121 : { // destroy the object
- $LN11:
- push rbx
- sub rsp, 32 ; 00000020H
- mov rbx, rcx
- ; 122 : #if _HAS_EXCEPTIONS
- ; 123 : if (!uncaught_exception())
- call QWORD PTR __imp_?uncaught_exception@std@@YA_NXZ
- test al, al
- jne SHORT $LN1@sentry
- ; 124 : this->_Myostr._Osfx();
- mov rcx, QWORD PTR [rbx]
- call QWORD PTR __imp_?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ
- $LN1@sentry:
- ; 125 :
- ; 126 : #else /* _HAS_EXCEPTIONS */
- ; 127 : this->_Myostr._Osfx();
- ; 128 : #endif /* _HAS_EXCEPTIONS */
- ; 129 : }
- mov rdx, QWORD PTR [rbx]
- mov rax, QWORD PTR [rdx]
- movsxd rcx, DWORD PTR [rax+4]
- mov rcx, QWORD PTR [rcx+rdx+72]
- test rcx, rcx
- je SHORT $LN4@sentry
- mov rax, QWORD PTR [rcx]
- call QWORD PTR [rax+16]
- $LN4@sentry:
- add rsp, 32 ; 00000020H
- pop rbx
- ret 0
- ??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ENDP ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry
- _TEXT ENDS
- ; COMDAT pdata
- ; File c:\program files (x86)\microsoft visual studio 10.0\vc\include\xiosbase
- pdata SEGMENT
- $pdata$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z DD imagerel $LN23
- DD imagerel $LN23+104
- DD imagerel $unwind$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z
- pdata ENDS
- ; COMDAT xdata
- xdata SEGMENT
- $unwind$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z DD 040a01H
- DD 06340aH
- DD 07006320aH
- ; Function compile flags: /Ogtpy
- ; File c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream
- xdata ENDS
- ; COMDAT ??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z
- _TEXT SEGMENT
- this$ = 48
- _Ostr$ = 56
- ??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z PROC ; std::basic_ostream<char,std::char_traits<char> >::sentry::sentry, COMDAT
- ; 114 : { // construct locking and testing stream
- $LN23:
- mov QWORD PTR [rsp+8], rbx
- push rdi
- sub rsp, 32 ; 00000020H
- mov QWORD PTR [rcx], rdx
- mov rax, QWORD PTR [rdx]
- mov rdi, rcx
- movsxd r8, DWORD PTR [rax+4]
- mov rbx, rdx
- mov rcx, QWORD PTR [r8+rdx+72]
- test rcx, rcx
- je SHORT $LN4@sentry@2
- mov rax, QWORD PTR [rcx]
- call QWORD PTR [rax+8]
- $LN4@sentry@2:
- ; 115 : if (_Ostr.good() && _Ostr.tie() != 0)
- mov rax, QWORD PTR [rbx]
- movsxd rcx, DWORD PTR [rax+4]
- cmp DWORD PTR [rcx+rbx+16], 0
- jne SHORT $LN1@sentry@2
- mov rcx, QWORD PTR [rcx+rbx+80]
- test rcx, rcx
- je SHORT $LN1@sentry@2
- ; 116 : _Ostr.tie()->flush();
- call QWORD PTR __imp_?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ
- $LN1@sentry@2:
- ; 117 : _Ok = _Ostr.good(); // store test only after flushing tie
- mov rax, QWORD PTR [rbx]
- movsxd rcx, DWORD PTR [rax+4]
- cmp DWORD PTR [rcx+rbx+16], 0
- ; 118 : }
- mov rbx, QWORD PTR [rsp+48]
- sete al
- mov BYTE PTR [rdi+8], al
- mov rax, rdi
- add rsp, 32 ; 00000020H
- pop rdi
- ret 0
- ??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z ENDP ; std::basic_ostream<char,std::char_traits<char> >::sentry::sentry
- ; Function compile flags: /Ogtpy
- ; File c:\program files (x86)\microsoft visual studio 10.0\vc\include\iosfwd
- _TEXT ENDS
- ; COMDAT ?eof@?$char_traits@D@std@@SAHXZ
- _TEXT SEGMENT
- ?eof@?$char_traits@D@std@@SAHXZ PROC ; std::char_traits<char>::eof, COMDAT
- ; 563 : return (EOF);
- or eax, -1
- ; 564 : }
- ret 0
- ?eof@?$char_traits@D@std@@SAHXZ ENDP ; std::char_traits<char>::eof
- ; Function compile flags: /Ogtpy
- _TEXT ENDS
- ; COMDAT ?eq_int_type@?$char_traits@D@std@@SA_NAEBH0@Z
- _TEXT SEGMENT
- _Left$ = 8
- _Right$ = 16
- ?eq_int_type@?$char_traits@D@std@@SA_NAEBH0@Z PROC ; std::char_traits<char>::eq_int_type, COMDAT
- ; 553 : return (_Left == _Right);
- mov edx, DWORD PTR [rdx]
- cmp DWORD PTR [rcx], edx
- sete al
- ; 554 : }
- ret 0
- ?eq_int_type@?$char_traits@D@std@@SA_NAEBH0@Z ENDP ; std::char_traits<char>::eq_int_type
- _TEXT ENDS
- ; COMDAT pdata
- pdata SEGMENT
- $pdata$?length@?$char_traits@D@std@@SA_KPEBD@Z DD imagerel $LN3
- DD imagerel $LN3+29
- DD imagerel $unwind$?length@?$char_traits@D@std@@SA_KPEBD@Z
- pdata ENDS
- ; COMDAT xdata
- xdata SEGMENT
- $unwind$?length@?$char_traits@D@std@@SA_KPEBD@Z DD 020501H
- DD 017405H
- ; Function compile flags: /Ogtpy
- xdata ENDS
- ; COMDAT ?length@?$char_traits@D@std@@SA_KPEBD@Z
- _TEXT SEGMENT
- _First$ = 8
- ?length@?$char_traits@D@std@@SA_KPEBD@Z PROC ; std::char_traits<char>::length, COMDAT
- ; 490 : { // find length of null-terminated string
- $LN3:
- mov QWORD PTR [rsp+8], rdi
- mov rdi, rcx
- ; 491 : return (_CSTD strlen(_First));
- xor eax, eax
- or rcx, -1
- repne scasb
- ; 492 : }
- mov rdi, QWORD PTR [rsp+8]
- not rcx
- lea rax, QWORD PTR [rcx-1]
- ret 0
- ?length@?$char_traits@D@std@@SA_KPEBD@Z ENDP ; std::char_traits<char>::length
- _TEXT ENDS
- EXTRN __CxxFrameHandler3:PROC
- ; COMDAT pdata
- ; File c:\program files (x86)\microsoft visual studio 10.0\vc\include\ios
- pdata SEGMENT
- $pdata$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z DD imagerel $LN93
- DD imagerel $LN93+431
- DD imagerel $unwind$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
- pdata ENDS
- ; COMDAT pdata
- pdata SEGMENT
- $pdata$?catch$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA DD imagerel ?catch$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA
- DD imagerel ?catch$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA+56
- DD imagerel $unwind$?catch$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA
- pdata ENDS
- ; COMDAT xdata
- xdata SEGMENT
- $ip2state$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z DD imagerel ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
- DD 0ffffffffH
- DD imagerel ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z+141
- DD 00H
- DD imagerel ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z+309
- DD 0ffffffffH
- DD imagerel ?catch$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA
- DD 00H
- DD imagerel ?catch$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA+13
- DD 01H
- DD imagerel ?catch$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA+42
- DD 00H
- xdata ENDS
- ; COMDAT xdata
- xdata SEGMENT
- $unwind$?catch$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA DD 020a19H
- DD 05006320aH
- DD imagerel __CxxFrameHandler3
- DD imagerel $cppxdata$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
- xdata ENDS
- ; COMDAT xdata
- xdata SEGMENT
- $unwind$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z DD 082119H
- DD 0106421H
- DD 0f341dH
- DD 0d00c9210H
- DD 07008c00aH
- DD imagerel __CxxFrameHandler3
- DD imagerel $cppxdata$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
- xdata ENDS
- ; COMDAT CONST
- CONST SEGMENT
- $cppxdata$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z DD 019930522H
- DD 02H
- DD imagerel $stateUnwindMap$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
- DD 01H
- DD imagerel $tryMap$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
- DD 06H
- DD imagerel $ip2state$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
- DD 030H
- DD 00H
- DD 00H
- CONST ENDS
- ; COMDAT xdata
- xdata SEGMENT
- $tryMap$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z DD 00H
- DD 00H
- DD 01H
- DD 01H
- DD imagerel $handlerMap$0$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
- xdata ENDS
- ; COMDAT xdata
- xdata SEGMENT
- $handlerMap$0$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z DD 00H
- DD 00H
- DD 00H
- DD imagerel ?catch$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA
- DD 038H
- xdata ENDS
- ; COMDAT xdata
- xdata SEGMENT
- $stateUnwindMap$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z DD 0ffffffffH
- DD 00H
- DD 0ffffffffH
- DD 00H
- ; Function compile flags: /Ogtpy
- ; File c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream
- xdata ENDS
- ; COMDAT ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
- _TEXT SEGMENT
- _State$ = 32
- _Pad$26549 = 40
- $T29757 = 48
- _Ok$ = 56
- _Ostr$ = 112
- ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z PROC ; std::operator<<<std::char_traits<char> >, COMDAT
- ; 813 : { // insert a char into char stream
- $LN93:
- mov rax, rsp
- mov QWORD PTR [rax+8], rcx
- push rdi
- push r12
- push r13
- sub rsp, 80 ; 00000050H
- mov QWORD PTR $T29757[rsp], -2
- mov QWORD PTR [rax+16], rbx
- mov QWORD PTR [rax+24], rsi
- mov rdi, rcx
- ; 814 : typedef char _Elem;
- ; 815 : typedef basic_ostream<_Elem, _Traits> _Myos;
- ; 816 : ios_base::iostate _State = ios_base::goodbit;
- xor esi, esi
- mov DWORD PTR [rax-72], esi
- ; 817 : const typename _Myos::sentry _Ok(_Ostr);
- mov r12, rcx
- mov QWORD PTR _Ok$[rsp], rcx
- mov rax, QWORD PTR [rcx]
- movsxd rdx, DWORD PTR [rax+4]
- mov rcx, QWORD PTR [rdx+rcx+72]
- test rcx, rcx
- je SHORT $LN24@operator
- mov rax, QWORD PTR [rcx]
- call QWORD PTR [rax+8]
- $LN24@operator:
- mov rax, QWORD PTR [rdi]
- movsxd rcx, DWORD PTR [rax+4]
- cmp DWORD PTR [rcx+rdi+16], esi
- jne SHORT $LN21@operator
- mov rcx, QWORD PTR [rcx+rdi+80]
- test rcx, rcx
- je SHORT $LN21@operator
- call QWORD PTR __imp_?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ
- $LN21@operator:
- mov rax, QWORD PTR [rdi]
- movsxd rbx, DWORD PTR [rax+4]
- cmp DWORD PTR [rbx+rdi+16], esi
- sete al
- ; 818 :
- ; 819 : if (_Ok)
- test al, al
- je $LN19@operator
- ; 820 : { // state okay, insert
- ; 821 : streamsize _Pad = _Ostr.width() <= 1 ? 0 : _Ostr.width() - 1;
- mov rbx, QWORD PTR [rbx+rdi+40]
- cmp rbx, 1
- jg SHORT $LN15@operator
- xor ebx, ebx
- jmp SHORT $LN16@operator
- $LN15@operator:
- dec rbx
- $LN16@operator:
- ; 822 :
- ; 823 : _TRY_IO_BEGIN
- ; 824 : if ((_Ostr.flags() & ios_base::adjustfield) != ios_base::left)
- mov rax, QWORD PTR [rdi]
- movsxd rcx, DWORD PTR [rax+4]
- mov eax, DWORD PTR [rcx+rdi+24]
- and eax, 448 ; 000001c0H
- mov r13d, 4
- cmp eax, 64 ; 00000040H
- je SHORT $LN88@operator
- $LL9@operator:
- ; 825 : for (; _State == ios_base::goodbit && 0 < _Pad;
- ; 826 : --_Pad) // pad on left
- test esi, esi
- jne $LN2@operator
- test rbx, rbx
- jle SHORT $LN88@operator
- ; 827 : if (_Traits::eq_int_type(_Traits::eof(),
- ; 828 : _Ostr.rdbuf()->sputc(_Ostr.fill())))
- mov rax, QWORD PTR [rdi]
- movsxd rcx, DWORD PTR [rax+4]
- movzx edx, BYTE PTR [rcx+rdi+88]
- mov rcx, QWORD PTR [rcx+rdi+72]
- call QWORD PTR __imp_?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z
- cmp eax, -1
- cmove esi, r13d
- mov DWORD PTR _State$[rsp], esi
- ; 825 : for (; _State == ios_base::goodbit && 0 < _Pad;
- ; 826 : --_Pad) // pad on left
- dec rbx
- mov QWORD PTR _Pad$26549[rsp], rbx
- jmp SHORT $LL9@operator
- $LN88@operator:
- ; 829 : _State |= ios_base::badbit;
- ; 830 :
- ; 831 : if (_State == ios_base::goodbit
- ; 832 : && _Traits::eq_int_type(_Traits::eof(),
- ; 833 : _Ostr.rdbuf()->sputc(_Ch)))
- mov rax, QWORD PTR [rdi]
- movsxd rcx, DWORD PTR [rax+4]
- mov dl, 10
- mov rcx, QWORD PTR [rcx+rdi+72]
- call QWORD PTR __imp_?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z
- cmp eax, -1
- cmove esi, r13d
- mov DWORD PTR _State$[rsp], esi
- $LL89@operator:
- ; 834 : _State |= ios_base::badbit;
- ; 835 :
- ; 836 : for (; _State == ios_base::goodbit && 0 < _Pad;
- ; 837 : --_Pad) // pad on right
- test esi, esi
- jne SHORT $LN2@operator
- test rbx, rbx
- jle SHORT $LN2@operator
- ; 838 : if (_Traits::eq_int_type(_Traits::eof(),
- ; 839 : _Ostr.rdbuf()->sputc(_Ostr.fill())))
- mov rax, QWORD PTR [rdi]
- movsxd rcx, DWORD PTR [rax+4]
- movzx edx, BYTE PTR [rcx+rdi+88]
- mov rcx, QWORD PTR [rcx+rdi+72]
- call QWORD PTR __imp_?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z
- cmp eax, -1
- cmove esi, r13d
- mov DWORD PTR _State$[rsp], esi
- ; 834 : _State |= ios_base::badbit;
- ; 835 :
- ; 836 : for (; _State == ios_base::goodbit && 0 < _Pad;
- ; 837 : --_Pad) // pad on right
- dec rbx
- mov QWORD PTR _Pad$26549[rsp], rbx
- jmp SHORT $LL89@operator
- $LN2@operator:
- jmp SHORT $LN19@operator
- $LN20@operator:
- ; 840 : _State |= ios_base::badbit;
- ; 841 : _CATCH_IO_(_Ostr)
- mov rdi, QWORD PTR _Ostr$[rsp]
- mov esi, DWORD PTR _State$[rsp]
- mov r12, QWORD PTR _Ok$[rsp]
- $LN19@operator:
- ; 842 : }
- ; 843 :
- ; 844 : _Ostr.width(0);
- mov rax, QWORD PTR [rdi]
- movsxd rcx, DWORD PTR [rax+4]
- mov QWORD PTR [rcx+rdi+40], 0
- ; 845 : _Ostr.setstate(_State);
- mov rax, QWORD PTR [rdi]
- movsxd rcx, DWORD PTR [rax+4]
- add rcx, rdi
- xor r8d, r8d
- mov edx, esi
- call QWORD PTR __imp_?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z
- ; 846 : return (_Ostr);
- call QWORD PTR __imp_?uncaught_exception@std@@YA_NXZ
- test al, al
- jne SHORT $LN75@operator
- mov rcx, r12
- call QWORD PTR __imp_?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ
- $LN75@operator:
- mov rax, QWORD PTR [r12]
- movsxd rcx, DWORD PTR [rax+4]
- mov rcx, QWORD PTR [rcx+r12+72]
- test rcx, rcx
- je SHORT $LN90@operator
- mov rax, QWORD PTR [rcx]
- call QWORD PTR [rax+16]
- $LN90@operator:
- mov rax, rdi
- ; 847 : }
- mov rbx, QWORD PTR [rsp+120]
- mov rsi, QWORD PTR [rsp+128]
- add rsp, 80 ; 00000050H
- pop r13
- pop r12
- pop rdi
- ret 0
- ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z ENDP ; std::operator<<<std::char_traits<char> >
- ; Function compile flags: /Ogtpy
- _TEXT ENDS
- ; COMDAT text$x
- text$x SEGMENT
- _State$ = 32
- _Pad$26549 = 40
- $T29757 = 48
- _Ok$ = 56
- _Ostr$ = 112
- ?catch$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA PROC ; `std::operator<<<std::char_traits<char> >'::`1'::catch$0
- ; 841 : _CATCH_IO_(_Ostr)
- mov QWORD PTR [rsp+16], rdx
- push rbp
- sub rsp, 32 ; 00000020H
- mov rbp, rdx
- __catch$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z$0:
- mov rdx, QWORD PTR _Ostr$[rbp]
- mov rax, QWORD PTR [rdx]
- movsxd rcx, DWORD PTR [rax+4]
- add rcx, rdx
- mov r8b, 1
- mov edx, 4
- call QWORD PTR __imp_?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z
- npad 1
- lea rax, $LN20@catch$0
- add rsp, 32 ; 00000020H
- pop rbp
- ret 0
- int 3
- ?catch$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA ENDP ; `std::operator<<<std::char_traits<char> >'::`1'::catch$0
- text$x ENDS
- ; COMDAT pdata
- ; File c:\program files (x86)\microsoft visual studio 10.0\vc\include\ios
- pdata SEGMENT
- $pdata$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z DD imagerel $LN96
- DD imagerel $LN96+468
- DD imagerel $unwind$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z
- pdata ENDS
- ; COMDAT pdata
- pdata SEGMENT
- $pdata$?catch$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z@4HA DD imagerel ?catch$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z@4HA
- DD imagerel ?catch$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z@4HA+56
- DD imagerel $unwind$?catch$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z@4HA
- pdata ENDS
- ; COMDAT xdata
- xdata SEGMENT
- $ip2state$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z DD imagerel ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z
- DD 0ffffffffH
- DD imagerel ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z+177
- DD 00H
- DD imagerel ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z+358
- DD 0ffffffffH
- DD imagerel ?catch$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z@4HA
- DD 00H
- DD imagerel ?catch$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z@4HA+13
- DD 01H
- DD imagerel ?catch$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z@4HA+42
- DD 00H
- xdata ENDS
- ; COMDAT xdata
- xdata SEGMENT
- $unwind$?catch$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z@4HA DD 020a19H
- DD 05006320aH
- DD imagerel __CxxFrameHandler3
- DD imagerel $cppxdata$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z
- xdata ENDS
- ; COMDAT xdata
- xdata SEGMENT
- $unwind$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z DD 0a2619H
- DD 0117426H
- DD 0106422H
- DD 0f341eH
- DD 0e00d9211H
- DD 0c009d00bH
- DD imagerel __CxxFrameHandler3
- DD imagerel $cppxdata$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z
- xdata ENDS
- ; COMDAT CONST
- CONST SEGMENT
- $cppxdata$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z DD 019930522H
- DD 02H
- DD imagerel $stateUnwindMap$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z
- DD 01H
- DD imagerel $tryMap$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z
- DD 06H
- DD imagerel $ip2state$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z
- DD 030H
- DD 00H
- DD 00H
- CONST ENDS
- ; COMDAT xdata
- xdata SEGMENT
- $tryMap$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z DD 00H
- DD 00H
- DD 01H
- DD 01H
- DD imagerel $handlerMap$0$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z
- xdata ENDS
- ; COMDAT xdata
- xdata SEGMENT
- $handlerMap$0$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z DD 00H
- DD 00H
- DD 00H
- DD imagerel ?catch$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z@4HA
- DD 038H
- xdata ENDS
- ; COMDAT xdata
- xdata SEGMENT
- $stateUnwindMap$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z DD 0ffffffffH
- DD 00H
- DD 0ffffffffH
- DD 00H
- ; Function compile flags: /Ogtpy
- ; File c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream
- xdata ENDS
- ; COMDAT ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z
- _TEXT SEGMENT
- _State$ = 32
- _Pad$ = 40
- $T29982 = 48
- _Ok$ = 56
- _Ostr$ = 112
- _Val$ = 120
- ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z PROC ; std::operator<<<std::char_traits<char> >, COMDAT
- ; 767 : { // insert NTBS into char stream
- $LN96:
- mov rax, rsp
- mov QWORD PTR [rax+8], rcx
- push r12
- push r13
- push r14
- sub rsp, 80 ; 00000050H
- mov QWORD PTR $T29982[rsp], -2
- mov QWORD PTR [rax+16], rbx
- mov QWORD PTR [rax+24], rsi
- mov QWORD PTR [rax+32], rdi
- mov r14, rdx
- mov rsi, rcx
- ; 768 : typedef char _Elem;
- ; 769 : typedef basic_ostream<_Elem, _Traits> _Myos;
- ; 770 : ios_base::iostate _State = ios_base::goodbit;
- xor ebx, ebx
- mov DWORD PTR [rax-72], ebx
- ; 771 : streamsize _Count = (streamsize)_Traits::length(_Val); // may overflow
- xor eax, eax
- or rcx, -1
- mov rdi, rdx
- repne scasb
- not rcx
- lea r13, QWORD PTR [rcx-1]
- ; 772 : streamsize _Pad = _Ostr.width() <= 0 || _Ostr.width() <= _Count
- ; 773 : ? 0 : _Ostr.width() - _Count;
- mov rax, QWORD PTR [rsi]
- movsxd rcx, DWORD PTR [rax+4]
- mov rdi, QWORD PTR [rcx+rsi+40]
- test rdi, rdi
- jle SHORT $LN17@operator@2
- cmp rdi, r13
- jle SHORT $LN17@operator@2
- sub rdi, r13
- jmp SHORT $LN18@operator@2
- $LN17@operator@2:
- xor edi, edi
- $LN18@operator@2:
- ; 774 : const typename _Myos::sentry _Ok(_Ostr);
- mov r12, rsi
- mov QWORD PTR _Ok$[rsp], rsi
- mov rcx, QWORD PTR [rcx+rsi+72]
- test rcx, rcx
- je SHORT $LN34@operator@2
- mov rax, QWORD PTR [rcx]
- call QWORD PTR [rax+8]
- $LN34@operator@2:
- mov rax, QWORD PTR [rsi]
- movsxd rcx, DWORD PTR [rax+4]
- cmp DWORD PTR [rcx+rsi+16], ebx
- jne SHORT $LN31@operator@2
- mov rcx, QWORD PTR [rcx+rsi+80]
- test rcx, rcx
- je SHORT $LN31@operator@2
- call QWORD PTR __imp_?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ
- $LN31@operator@2:
- mov rax, QWORD PTR [rsi]
- movsxd rcx, DWORD PTR [rax+4]
- cmp DWORD PTR [rcx+rsi+16], ebx
- sete al
- ; 775 :
- ; 776 : if (!_Ok)
- test al, al
- jne SHORT $LN14@operator@2
- ; 777 : _State |= ios_base::badbit;
- mov ebx, 4
- ; 778 : else
- jmp $LN21@operator@2
- $LN14@operator@2:
- ; 779 : { // state okay, insert
- ; 780 : _TRY_IO_BEGIN
- ; 781 : if ((_Ostr.flags() & ios_base::adjustfield) != ios_base::left)
- mov rax, QWORD PTR [rsi]
- movsxd rcx, DWORD PTR [rax+4]
- mov eax, DWORD PTR [rcx+rsi+24]
- and eax, 448 ; 000001c0H
- cmp eax, 64 ; 00000040H
- je SHORT $LN89@operator@2
- $LL10@operator@2:
- ; 782 : for (; 0 < _Pad; --_Pad) // pad on left
- test rdi, rdi
- jle SHORT $LN8@operator@2
- ; 783 : if (_Traits::eq_int_type(_Traits::eof(),
- ; 784 : _Ostr.rdbuf()->sputc(_Ostr.fill())))
- mov rax, QWORD PTR [rsi]
- movsxd rcx, DWORD PTR [rax+4]
- movzx edx, BYTE PTR [rcx+rsi+88]
- mov rcx, QWORD PTR [rcx+rsi+72]
- call QWORD PTR __imp_?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z
- cmp eax, -1
- jne SHORT $LN7@operator@2
- ; 785 : { // insertion failed, quit
- ; 786 : _State |= ios_base::badbit;
- or ebx, 4
- mov DWORD PTR _State$[rsp], ebx
- ; 787 : break;
- jmp SHORT $LN8@operator@2
- $LN7@operator@2:
- ; 782 : for (; 0 < _Pad; --_Pad) // pad on left
- dec rdi
- mov QWORD PTR _Pad$[rsp], rdi
- jmp SHORT $LL10@operator@2
- $LN8@operator@2:
- ; 788 : }
- ; 789 :
- ; 790 : if (_State == ios_base::goodbit
- ; 791 : && _Ostr.rdbuf()->sputn(_Val, _Count) != _Count)
- test ebx, ebx
- jne SHORT $LN2@operator@2
- $LN89@operator@2:
- mov rax, QWORD PTR [rsi]
- movsxd rcx, DWORD PTR [rax+4]
- mov r8, r13
- mov rdx, r14
- mov rcx, QWORD PTR [rcx+rsi+72]
- call QWORD PTR __imp_?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEBD_J@Z
- cmp rax, r13
- je SHORT $LL91@operator@2
- ; 792 : _State |= ios_base::badbit;
- mov ebx, 4
- ; 793 :
- ; 794 : if (_State == ios_base::goodbit)
- jmp SHORT $LN94@operator@2
- $LL91@operator@2:
- ; 795 : for (; 0 < _Pad; --_Pad) // pad on right
- test rdi, rdi
- jle SHORT $LN2@operator@2
- ; 796 : if (_Traits::eq_int_type(_Traits::eof(),
- ; 797 : _Ostr.rdbuf()->sputc(_Ostr.fill())))
- mov rax, QWORD PTR [rsi]
- movsxd rcx, DWORD PTR [rax+4]
- movzx edx, BYTE PTR [rcx+rsi+88]
- mov rcx, QWORD PTR [rcx+rsi+72]
- call QWORD PTR __imp_?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z
- cmp eax, -1
- jne SHORT $LN1@operator@2
- ; 798 : { // insertion failed, quit
- ; 799 : _State |= ios_base::badbit;
- or ebx, 4
- ; 800 : break;
- jmp SHORT $LN94@operator@2
- $LN1@operator@2:
- ; 795 : for (; 0 < _Pad; --_Pad) // pad on right
- dec rdi
- mov QWORD PTR _Pad$[rsp], rdi
- jmp SHORT $LL91@operator@2
- $LN94@operator@2:
- ; 792 : _State |= ios_base::badbit;
- mov DWORD PTR _State$[rsp], ebx
- $LN2@operator@2:
- ; 801 : }
- ; 802 : _Ostr.width(0);
- mov rax, QWORD PTR [rsi]
- movsxd rcx, DWORD PTR [rax+4]
- mov QWORD PTR [rcx+rsi+40], 0
- jmp SHORT $LN21@operator@2
- $LN22@operator@2:
- ; 803 : _CATCH_IO_(_Ostr)
- mov rsi, QWORD PTR _Ostr$[rsp]
- mov ebx, DWORD PTR _State$[rsp]
- mov r12, QWORD PTR _Ok$[rsp]
- $LN21@operator@2:
- ; 804 : }
- ; 805 :
- ; 806 : _Ostr.setstate(_State);
- mov rax, QWORD PTR [rsi]
- movsxd rcx, DWORD PTR [rax+4]
- add rcx, rsi
- xor r8d, r8d
- mov edx, ebx
- call QWORD PTR __imp_?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z
- ; 807 : return (_Ostr);
- call QWORD PTR __imp_?uncaught_exception@std@@YA_NXZ
- test al, al
- jne SHORT $LN77@operator@2
- mov rcx, r12
- call QWORD PTR __imp_?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ
- $LN77@operator@2:
- mov rax, QWORD PTR [r12]
- movsxd rcx, DWORD PTR [rax+4]
- mov rcx, QWORD PTR [rcx+r12+72]
- test rcx, rcx
- je SHORT $LN92@operator@2
- mov rax, QWORD PTR [rcx]
- call QWORD PTR [rax+16]
- $LN92@operator@2:
- mov rax, rsi
- ; 808 : }
- lea r11, QWORD PTR [rsp+80]
- mov rbx, QWORD PTR [r11+40]
- mov rsi, QWORD PTR [r11+48]
- mov rdi, QWORD PTR [r11+56]
- mov rsp, r11
- pop r14
- pop r13
- pop r12
- ret 0
- ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z ENDP ; std::operator<<<std::char_traits<char> >
- ; Function compile flags: /Ogtpy
- _TEXT ENDS
- ; COMDAT text$x
- text$x SEGMENT
- _State$ = 32
- _Pad$ = 40
- $T29982 = 48
- _Ok$ = 56
- _Ostr$ = 112
- _Val$ = 120
- ?catch$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z@4HA PROC ; `std::operator<<<std::char_traits<char> >'::`1'::catch$0
- ; 803 : _CATCH_IO_(_Ostr)
- mov QWORD PTR [rsp+16], rdx
- push rbp
- sub rsp, 32 ; 00000020H
- mov rbp, rdx
- __catch$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z$0:
- mov rdx, QWORD PTR _Ostr$[rbp]
- mov rax, QWORD PTR [rdx]
- movsxd rcx, DWORD PTR [rax+4]
- add rcx, rdx
- mov r8b, 1
- mov edx, 4
- call QWORD PTR __imp_?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z
- npad 1
- lea rax, $LN22@catch$0@2
- add rsp, 32 ; 00000020H
- pop rbp
- ret 0
- int 3
- ?catch$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z@4HA ENDP ; `std::operator<<<std::char_traits<char> >'::`1'::catch$0
- text$x ENDS
- PUBLIC __real@3f50624dd2f1a9fc
- PUBLIC __real@43f0000000000000
- PUBLIC main
- EXTRN _fltused:DWORD
- EXTRN __chkstk:PROC
- EXTRN memset:PROC
- ; COMDAT pdata
- ; File c:\users\g3\documents\visual studio 2010\projects\test\test\main.cpp
- pdata SEGMENT
- $pdata$main DD imagerel $LN54
- DD imagerel $LN54+1207
- DD imagerel $unwind$main
- pdata ENDS
- ; COMDAT xdata
- xdata SEGMENT
- $unwind$main DD 0114a01H
- DD 0bba784aH
- DD 0bbb6842H
- DD 01781742dH
- DD 01780642dH
- DD 0177f342dH
- DD 01778012dH
- DD 0e016f018H
- DD 0c012d014H
- DD 05010H
- xdata ENDS
- ; COMDAT __real@3f50624dd2f1a9fc
- CONST SEGMENT
- __real@3f50624dd2f1a9fc DQ 03f50624dd2f1a9fcr ; 0.001
- CONST ENDS
- ; COMDAT __real@43f0000000000000
- CONST SEGMENT
- __real@43f0000000000000 DQ 043f0000000000000r ; 1.84467e+019
- ; Function compile flags: /Ogtpy
- CONST ENDS
- ; COMDAT main
- _TEXT SEGMENT
- base$ = 32
- var4$ = 8032
- var0$ = 16032
- var1$ = 24032
- var2$ = 32032
- var3$ = 40032
- start1$1$ = 48112
- main PROC ; COMDAT
- ; 233 : {
- $LN54:
- mov QWORD PTR [rsp+16], rbx
- mov QWORD PTR [rsp+24], rsi
- mov QWORD PTR [rsp+32], rdi
- push rbp
- push r12
- push r13
- push r14
- push r15
- lea rbp, QWORD PTR [rsp-47808]
- mov eax, 48064 ; 0000bbc0H
- call __chkstk
- sub rsp, rax
- ; 234 : double ALIGN_16 base[N] = {};
- lea rcx, QWORD PTR base$[rsp]
- xor edx, edx
- mov r8d, 8000 ; 00001f40H
- movaps XMMWORD PTR [rsp+48048], xmm6
- movaps XMMWORD PTR [rsp+48032], xmm7
- call memset
- ; 235 : for(size_t i=0; i!=N; ++i) base[i]=static_cast<double>(i); //initialisiere base
- xor eax, eax
- movsdx xmm1, QWORD PTR __real@43f0000000000000
- npad 7
- $LL30@main:
- pxor xmm0, xmm0
- cvtsi2sd xmm0, rax
- test rax, rax
- jns SHORT $LN53@main
- addsd xmm0, xmm1
- $LN53@main:
- movsdx QWORD PTR base$[rsp+rax*8], xmm0
- inc rax
- cmp rax, 1000 ; 000003e8H
- jne SHORT $LL30@main
- ; 236 :
- ; 237 : //variante0
- ; 238 : double var0[N] = {};
- lea rcx, QWORD PTR var0$[rbp-256]
- xor edx, edx
- mov r8d, 8000 ; 00001f40H
- call memset
- ; 239 : for(size_t i=2; i!=N-2; ++i)
- mov eax, 16
- npad 4
- $LL27@main:
- ; 240 : var0[i] = base[i-1] + base[i] + base[i+1];
- movsdx xmm0, QWORD PTR base$[rsp+rax-8]
- add rax, 8
- addsd xmm0, QWORD PTR base$[rsp+rax-8]
- addsd xmm0, QWORD PTR base$[rsp+rax]
- movsdx QWORD PTR var0$[rbp+rax-264], xmm0
- cmp rax, 7984 ; 00001f30H
- jne SHORT $LL27@main
- ; 241 :
- ; 242 : //variante 1 (insg (N-4)/2 aligned loads, (N-4) unaligned loads
- ; 243 : double ALIGN_16 var1[N] = {};
- lea r8d, QWORD PTR [rax+16]
- lea rcx, QWORD PTR var1$[rbp-256]
- xor edx, edx
- call memset
- ; 244 : clock_t start1 = clock();
- call QWORD PTR __imp_clock
- mov ebx, 40000000 ; 02625a00H
- mov DWORD PTR start1$1$[rbp-256], eax
- mov r8d, ebx
- npad 3
- $LL24@main:
- ; 246 : for(size_t i=2; i!=N-2; i+=2)
- xor ecx, ecx
- mov edx, 498 ; 000001f2H
- npad 9
- $LL21@main:
- ; 247 : {
- ; 248 : __m128d m1 = _mm_loadu_pd(base+i-1); //lade "base[i-1]" (unaligned)
- movupd xmm0, XMMWORD PTR base$[rsp+rcx+8]
- ; 249 : __m128d m2 = _mm_loadu_pd(base+i+1); //lade "base[i+1]" (unaligned)
- ; 250 : __m128d m3 = _mm_load_pd(base+i); //lade "base[i]" ( aligned)
- movapd xmm1, XMMWORD PTR base$[rsp+rcx+16]
- add rcx, 16
- dec rdx
- ; 251 :
- ; 252 : m3 = _mm_add_pd(m3,m1); // base[i] + base[i-1]
- addpd xmm1, xmm0
- movupd xmm0, XMMWORD PTR base$[rsp+rcx+8]
- ; 253 : m3 = _mm_add_pd(m3,m2); // base[i] + base[i-1] + base[i+1]
- addpd xmm1, xmm0
- ; 254 :
- ; 255 : _mm_store_pd(var1+i, m3);
- movapd XMMWORD PTR var1$[rbp+rcx-256], xmm1
- jne SHORT $LL21@main
- ; 245 : for(size_t j=0; j!=M; ++j)
- dec r8
- jne SHORT $LL24@main
- ; 256 : }
- ; 257 : clock_t end1 = clock();
- call QWORD PTR __imp_clock
- ; 258 :
- ; 259 : //variante 2 (insg. (N-4)/2 unaligned loads, (N-4)/2 aligned loads
- ; 260 : double ALIGN_16 var2[N] = {};
- lea rcx, QWORD PTR var2$[rbp-256]
- xor edx, edx
- mov r8d, 8000 ; 00001f40H
- mov r14d, eax
- call memset
- ; 261 : clock_t start2 = clock();
- call QWORD PTR __imp_clock
- mov rdx, rbx
- movupd xmm3, XMMWORD PTR base$[rsp+8]
- mov r15d, eax
- $LL18@main:
- ; 263 : {
- ; 264 : __m128d m1 = _mm_loadu_pd(base+1);
- movapd xmm2, xmm3
- ; 265 : for(size_t i=2; i!=N-2; i+=4) //einmal "unrolled"
- mov ecx, 16
- npad 7
- $LL15@main:
- ; 266 : {
- ; 267 : __m128d m2 = _mm_loadu_pd(base+i+1);
- movupd xmm1, XMMWORD PTR base$[rsp+rcx+8]
- ; 268 : __m128d m3 = _mm_load_pd(base+i);
- movapd xmm0, XMMWORD PTR base$[rsp+rcx]
- add rcx, 32 ; 00000020H
- ; 269 :
- ; 270 : m3 = _mm_add_pd(m3,m1); //m1 enthält "base[i-1]" (das "base[i+1]" vom nächsten schritt)
- addpd xmm0, xmm2
- ; 271 : m3 = _mm_add_pd(m3,m2); //m2 enthält "base[i+1]"
- ; 272 : _mm_store_pd(var2+i, m3);
- ; 273 :
- ; 274 : m1 = _mm_loadu_pd(base+i+3);
- movupd xmm2, XMMWORD PTR base$[rsp+rcx-8]
- addpd xmm0, xmm1
- movapd XMMWORD PTR var2$[rbp+rcx-288], xmm0
- ; 275 : m3 = _mm_load_pd(base+i+2);
- movapd xmm0, XMMWORD PTR base$[rsp+rcx-16]
- ; 276 :
- ; 277 : m3 = _mm_add_pd(m3,m1); //m1 enthält "base[i+1]"
- addpd xmm0, xmm2
- ; 278 : m3 = _mm_add_pd(m3,m2); //m2 enthält "base[i-1]" (das "base[i+1]" vom vorherigen schritt)
- addpd xmm0, xmm1
- ; 279 : _mm_store_pd(var2+i+2, m3);
- movapd XMMWORD PTR var2$[rbp+rcx-272], xmm0
- cmp rcx, 7984 ; 00001f30H
- jne SHORT $LL15@main
- ; 262 : for(size_t j=0; j!=M; ++j)
- dec rdx
- jne SHORT $LL18@main
- ; 280 : }
- ; 281 : }
- ; 282 : clock_t end2 = clock();
- call QWORD PTR __imp_clock
- ; 283 :
- ; 284 : //variante 3 (insg. (N-4)*3/2 aligned loads, (N-4) shuffles
- ; 285 : double ALIGN_16 var3[N] = {};
- lea rcx, QWORD PTR var3$[rbp-256]
- xor edx, edx
- mov r8d, 8000 ; 00001f40H
- mov r12d, eax
- call memset
- ; 286 : clock_t start3 = clock();
- call QWORD PTR __imp_clock
- mov rdx, rbx
- mov r13d, eax
- $LL12@main:
- ; 288 : {
- ; 289 : for(size_t i=2; i!=N-2; i+=2)
- mov ecx, 16
- npad 6
- $LL9@main:
- ; 290 : {
- ; 291 : __m128d m1 = _mm_load_pd(base+i-2);
- ; 292 : __m128d m3 = _mm_load_pd(base+i);
- movapd xmm1, XMMWORD PTR base$[rsp+rcx]
- movapd xmm0, XMMWORD PTR base$[rsp+rcx-16]
- add rcx, 16
- ; 293 : __m128d m2 = _mm_load_pd(base+i+2);
- ; 294 :
- ; 295 : __m128d m4 = _mm_shuffle_pd(m1,m3, 0x1);
- shufpd xmm0, xmm1, 1
- ; 296 : __m128d m5 = _mm_shuffle_pd(m3,m2, 0x1);
- ; 297 :
- ; 298 : m3 = _mm_add_pd(m3,m4); // base[i] + base[i-1]
- addpd xmm0, xmm1
- shufpd xmm1, XMMWORD PTR base$[rsp+rcx], 1
- ; 299 : m3 = _mm_add_pd(m3,m5); // base[i] + base[i-1] + base[i+1]
- addpd xmm0, xmm1
- ; 300 :
- ; 301 : _mm_store_pd(var3+i, m3);
- movapd XMMWORD PTR var3$[rbp+rcx-272], xmm0
- cmp rcx, 7984 ; 00001f30H
- jne SHORT $LL9@main
- ; 287 : for(size_t j=0; j!=M; ++j)
- dec rdx
- jne SHORT $LL12@main
- ; 302 : }
- ; 303 : }
- ; 304 : clock_t end3 = clock();
- call QWORD PTR __imp_clock
- ; 305 :
- ; 306 : //variante 4 (insg. (N-4)/2 aligned loads, (N-4)/2 shuffles
- ; 307 : double ALIGN_16 var4[N] = {};
- lea rcx, QWORD PTR var4$[rbp-256]
- xor edx, edx
- mov r8d, 8000 ; 00001f40H
- mov edi, eax
- call memset
- ; 308 : clock_t start4 = clock();
- call QWORD PTR __imp_clock
- movapd xmm4, XMMWORD PTR base$[rsp+16]
- movapd xmm5, XMMWORD PTR base$[rsp]
- mov esi, eax
- npad 5
- $LL6@main:
- ; 310 : {
- ; 311 : __m128d prev = _mm_load_pd(base);
- ; 312 : __m128d m3 = _mm_load_pd(base+2);
- ; 313 : __m128d m1 = _mm_shuffle_pd(prev,m3, 0x1); //entspricht "base[i-1]"
- movapd xmm2, xmm5
- movapd xmm3, xmm4
- ; 314 : for(size_t i=2; i!=N-2; i+=4) //einmal "unrolled"
- mov ecx, 16
- shufpd xmm2, xmm4, 1
- $LL3@main:
- ; 315 : {
- ; 316 : __m128d next = _mm_load_pd(base+i+2);
- movapd xmm0, XMMWORD PTR base$[rsp+rcx+16]
- ; 317 : __m128d m2 = _mm_shuffle_pd(m3,next, 0x1); //entspricht "base[i+1]"
- ; 318 :
- ; 319 : m3 = _mm_add_pd(m3,m1);
- addpd xmm2, xmm3
- movapd xmm1, xmm3
- ; 320 : m3 = _mm_add_pd(m3,m2);
- ; 321 :
- ; 322 : _mm_store_pd(var4+i, m3);
- ; 323 :
- ; 324 : //ab hier: next von oben ist hier m3
- ; 325 : // m2 von oben entspricht hier m1 (base[i+1] -> base[i-1])
- ; 326 :
- ; 327 : m3 = _mm_load_pd(base+i+4); //m3 wird später oben wiederverwendet
- movapd xmm3, XMMWORD PTR base$[rsp+rcx+32]
- shufpd xmm1, xmm0, 1
- add rcx, 32 ; 00000020H
- addpd xmm2, xmm1
- ; 328 : m1 = _mm_shuffle_pd(next, m3, 0x1);
- ; 329 :
- ; 330 : m2 = _mm_add_pd(m2,next); //m1 wird später oben wiederverwendet
- addpd xmm1, xmm0
- movapd XMMWORD PTR var4$[rbp+rcx-288], xmm2
- movapd xmm2, xmm0
- shufpd xmm2, xmm3, 1
- ; 331 : m2 = _mm_add_pd(m2,m1);
- addpd xmm1, xmm2
- ; 332 :
- ; 333 : _mm_store_pd(var4+i+2, m2);
- movapd XMMWORD PTR var4$[rbp+rcx-272], xmm1
- cmp rcx, 7984 ; 00001f30H
- jne SHORT $LL3@main
- ; 309 : for(size_t j=0; j!=M; ++j)
- dec rbx
- jne SHORT $LL6@main
- ; 334 : }
- ; 335 : }
- ; 336 : clock_t end4 = clock();
- call QWORD PTR __imp_clock
- ; 337 :
- ; 338 : cout<<"Variante 0: Kontrollwert: "<<var0[100]<<'\n';
- mov rcx, QWORD PTR __imp_?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A
- lea rdx, OFFSET FLAT:$SG-31
- mov ebx, eax
- call ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z ; std::operator<<<std::char_traits<char> >
- mov rcx, rax
- movsdx xmm1, QWORD PTR var0$[rbp+544]
- call QWORD PTR __imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@N@Z
- mov rcx, rax
- call ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z ; std::operator<<<std::char_traits<char> >
- ; 339 : cout<<"Variante 1: Kontrollwert: "<<var1[100]<<"\t zeit: "<<(end1-start1)/static_cast<double>(CLOCKS_PER_SEC)<<"s\n";
- sub r14d, DWORD PTR start1$1$[rbp-256]
- mov rcx, QWORD PTR __imp_?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A
- movsdx xmm7, QWORD PTR __real@3f50624dd2f1a9fc
- movd xmm6, r14d
- lea rdx, OFFSET FLAT:$SG-34
- cvtdq2pd xmm6, xmm6
- mulsd xmm6, xmm7
- call ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z ; std::operator<<<std::char_traits<char> >
- movsdx xmm1, QWORD PTR var1$[rbp+544]
- mov rcx, rax
- call QWORD PTR __imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@N@Z
- lea rdx, OFFSET FLAT:$SG-33
- mov rcx, rax
- call ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z ; std::operator<<<std::char_traits<char> >
- mov rcx, rax
- movapd xmm1, xmm6
- call QWORD PTR __imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@N@Z
- lea rdx, OFFSET FLAT:$SG-32
- mov rcx, rax
- call ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z ; std::operator<<<std::char_traits<char> >
- ; 340 : cout<<"Variante 2: Kontrollwert: "<<var2[100]<<"\t zeit: "<<(end2-start2)/static_cast<double>(CLOCKS_PER_SEC)<<"s\n";
- mov rcx, QWORD PTR __imp_?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A
- sub r12d, r15d
- movd xmm6, r12d
- lea rdx, OFFSET FLAT:$SG-37
- cvtdq2pd xmm6, xmm6
- mulsd xmm6, xmm7
- call ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z ; std::operator<<<std::char_traits<char> >
- movsdx xmm1, QWORD PTR var2$[rbp+544]
- mov rcx, rax
- call QWORD PTR __imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@N@Z
- lea rdx, OFFSET FLAT:$SG-36
- mov rcx, rax
- call ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z ; std::operator<<<std::char_traits<char> >
- mov rcx, rax
- movapd xmm1, xmm6
- call QWORD PTR __imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@N@Z
- lea rdx, OFFSET FLAT:$SG-35
- mov rcx, rax
- call ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z ; std::operator<<<std::char_traits<char> >
- ; 341 : cout<<"Variante 3: Kontrollwert: "<<var3[100]<<"\t zeit: "<<(end3-start3)/static_cast<double>(CLOCKS_PER_SEC)<<"s\n";
- mov rcx, QWORD PTR __imp_?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A
- sub edi, r13d
- movd xmm6, edi
- lea rdx, OFFSET FLAT:$SG-40
- cvtdq2pd xmm6, xmm6
- mulsd xmm6, xmm7
- call ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z ; std::operator<<<std::char_traits<char> >
- movsdx xmm1, QWORD PTR var3$[rbp+544]
- mov rcx, rax
- call QWORD PTR __imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@N@Z
- lea rdx, OFFSET FLAT:$SG-39
- mov rcx, rax
- call ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z ; std::operator<<<std::char_traits<char> >
- mov rcx, rax
- movapd xmm1, xmm6
- call QWORD PTR __imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@N@Z
- lea rdx, OFFSET FLAT:$SG-38
- mov rcx, rax
- call ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z ; std::operator<<<std::char_traits<char> >
- ; 342 : cout<<"Variante 4: Kontrollwert: "<<var4[100]<<"\t zeit: "<<(end4-start4)/static_cast<double>(CLOCKS_PER_SEC)<<"s\n";
- mov rcx, QWORD PTR __imp_?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A
- sub ebx, esi
- movd xmm6, ebx
- lea rdx, OFFSET FLAT:$SG-43
- cvtdq2pd xmm6, xmm6
- mulsd xmm6, xmm7
- call ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z ; std::operator<<<std::char_traits<char> >
- movsdx xmm1, QWORD PTR var4$[rbp+544]
- mov rcx, rax
- call QWORD PTR __imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@N@Z
- lea rdx, OFFSET FLAT:$SG-42
- mov rcx, rax
- call ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z ; std::operator<<<std::char_traits<char> >
- movapd xmm1, xmm6
- mov rcx, rax
- call QWORD PTR __imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@N@Z
- lea rdx, OFFSET FLAT:$SG-41
- mov rcx, rax
- call ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z ; std::operator<<<std::char_traits<char> >
- ; 343 : std::cin.get();}
- mov rcx, QWORD PTR __imp_?cin@std@@3V?$basic_istream@DU?$char_traits@D@std@@@1@A
- call QWORD PTR __imp_?get@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAHXZ
- lea r11, QWORD PTR [rsp+48064]
- xor eax, eax
- mov rbx, QWORD PTR [r11+56]
- mov rsi, QWORD PTR [r11+64]
- mov rdi, QWORD PTR [r11+72]
- movaps xmm6, XMMWORD PTR [r11-16]
- movaps xmm7, XMMWORD PTR [r11-32]
- mov rsp, r11
- pop r15
- pop r14
- pop r13
- pop r12
- pop rbp
- ret 0
- main ENDP
- _TEXT ENDS
- END
Advertisement
Add Comment
Please, Sign In to add comment