; Listing generated by Microsoft (R) Optimizing Compiler Version 14.00.50727.42 TITLE c:\Documents and Settings\Enano\Escritorio\Autómatas\Tarea 0\CompilacionC++\CompilacionC++\CompilacionC++.cpp .686P .XMM include listing.inc .model flat INCLUDELIB MSVCRTD INCLUDELIB OLDNAMES PUBLIC ??_C@_0P@GHFPNOJB@bad?5allocation?$AA@ ; `string' PUBLIC ?collate@?$_Locbase@H@std@@2HB ; std::_Locbase::collate PUBLIC ?ctype@?$_Locbase@H@std@@2HB ; std::_Locbase::ctype PUBLIC ?monetary@?$_Locbase@H@std@@2HB ; std::_Locbase::monetary PUBLIC ?numeric@?$_Locbase@H@std@@2HB ; std::_Locbase::numeric PUBLIC ?time@?$_Locbase@H@std@@2HB ; std::_Locbase::time PUBLIC ?messages@?$_Locbase@H@std@@2HB ; std::_Locbase::messages PUBLIC ?all@?$_Locbase@H@std@@2HB ; std::_Locbase::all PUBLIC ?none@?$_Locbase@H@std@@2HB ; std::_Locbase::none PUBLIC ?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::skipws PUBLIC ?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::unitbuf PUBLIC ?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::uppercase PUBLIC ?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::showbase PUBLIC ?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::showpoint PUBLIC ?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::showpos PUBLIC ?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::left PUBLIC ?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::right PUBLIC ?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::internal PUBLIC ?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::dec PUBLIC ?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::oct PUBLIC ?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::hex PUBLIC ?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::scientific PUBLIC ?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::fixed PUBLIC ?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::boolalpha PUBLIC ?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::_Stdio PUBLIC ?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::adjustfield PUBLIC ?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::basefield PUBLIC ?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::floatfield PUBLIC ?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B ; std::_Iosb::goodbit PUBLIC ?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B ; std::_Iosb::eofbit PUBLIC ?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B ; std::_Iosb::failbit PUBLIC ?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B ; std::_Iosb::badbit PUBLIC ?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B ; std::_Iosb::_Hardfail PUBLIC ?in@?$_Iosb@H@std@@2W4_Openmode@12@B ; std::_Iosb::in PUBLIC ?out@?$_Iosb@H@std@@2W4_Openmode@12@B ; std::_Iosb::out PUBLIC ?ate@?$_Iosb@H@std@@2W4_Openmode@12@B ; std::_Iosb::ate PUBLIC ?app@?$_Iosb@H@std@@2W4_Openmode@12@B ; std::_Iosb::app PUBLIC ?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B ; std::_Iosb::trunc PUBLIC ?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B ; std::_Iosb::_Nocreate PUBLIC ?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B ; std::_Iosb::_Noreplace PUBLIC ?binary@?$_Iosb@H@std@@2W4_Openmode@12@B ; std::_Iosb::binary PUBLIC ?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B ; std::_Iosb::beg PUBLIC ?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B ; std::_Iosb::cur PUBLIC ?end@?$_Iosb@H@std@@2W4_Seekdir@12@B ; std::_Iosb::end ; COMDAT ?end@?$_Iosb@H@std@@2W4_Seekdir@12@B CONST SEGMENT ?end@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 02H ; std::_Iosb::end CONST ENDS ; COMDAT ?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B CONST SEGMENT ?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 01H ; std::_Iosb::cur CONST ENDS ; COMDAT ?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B CONST SEGMENT ?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 00H ; std::_Iosb::beg CONST ENDS ; COMDAT ?binary@?$_Iosb@H@std@@2W4_Openmode@12@B CONST SEGMENT ?binary@?$_Iosb@H@std@@2W4_Openmode@12@B DD 020H ; std::_Iosb::binary CONST ENDS ; COMDAT ?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B CONST SEGMENT ?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B DD 080H ; std::_Iosb::_Noreplace CONST ENDS ; COMDAT ?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B CONST SEGMENT ?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B DD 040H ; std::_Iosb::_Nocreate CONST ENDS ; COMDAT ?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B CONST SEGMENT ?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B DD 010H ; std::_Iosb::trunc CONST ENDS ; COMDAT ?app@?$_Iosb@H@std@@2W4_Openmode@12@B CONST SEGMENT ?app@?$_Iosb@H@std@@2W4_Openmode@12@B DD 08H ; std::_Iosb::app CONST ENDS ; COMDAT ?ate@?$_Iosb@H@std@@2W4_Openmode@12@B CONST SEGMENT ?ate@?$_Iosb@H@std@@2W4_Openmode@12@B DD 04H ; std::_Iosb::ate CONST ENDS ; COMDAT ?out@?$_Iosb@H@std@@2W4_Openmode@12@B CONST SEGMENT ?out@?$_Iosb@H@std@@2W4_Openmode@12@B DD 02H ; std::_Iosb::out CONST ENDS ; COMDAT ?in@?$_Iosb@H@std@@2W4_Openmode@12@B CONST SEGMENT ?in@?$_Iosb@H@std@@2W4_Openmode@12@B DD 01H ; std::_Iosb::in CONST ENDS ; COMDAT ?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B CONST SEGMENT ?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B DD 010H ; std::_Iosb::_Hardfail CONST ENDS ; COMDAT ?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B CONST SEGMENT ?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 04H ; std::_Iosb::badbit CONST ENDS ; COMDAT ?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B CONST SEGMENT ?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 02H ; std::_Iosb::failbit CONST ENDS ; COMDAT ?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B CONST SEGMENT ?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 01H ; std::_Iosb::eofbit CONST ENDS ; COMDAT ?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B CONST SEGMENT ?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 00H ; std::_Iosb::goodbit CONST ENDS ; COMDAT ?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 03000H ; std::_Iosb::floatfield CONST ENDS ; COMDAT ?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0e00H ; std::_Iosb::basefield CONST ENDS ; COMDAT ?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01c0H ; std::_Iosb::adjustfield CONST ENDS ; COMDAT ?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 08000H ; std::_Iosb::_Stdio CONST ENDS ; COMDAT ?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 04000H ; std::_Iosb::boolalpha CONST ENDS ; COMDAT ?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 02000H ; std::_Iosb::fixed CONST ENDS ; COMDAT ?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01000H ; std::_Iosb::scientific CONST ENDS ; COMDAT ?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0800H ; std::_Iosb::hex CONST ENDS ; COMDAT ?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0400H ; std::_Iosb::oct CONST ENDS ; COMDAT ?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0200H ; std::_Iosb::dec CONST ENDS ; COMDAT ?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0100H ; std::_Iosb::internal CONST ENDS ; COMDAT ?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 080H ; std::_Iosb::right CONST ENDS ; COMDAT ?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 040H ; std::_Iosb::left CONST ENDS ; COMDAT ?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 020H ; std::_Iosb::showpos CONST ENDS ; COMDAT ?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 010H ; std::_Iosb::showpoint CONST ENDS ; COMDAT ?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 08H ; std::_Iosb::showbase CONST ENDS ; COMDAT ?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 04H ; std::_Iosb::uppercase CONST ENDS ; COMDAT ?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 02H ; std::_Iosb::unitbuf CONST ENDS ; COMDAT ?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01H ; std::_Iosb::skipws CONST ENDS ; COMDAT ?none@?$_Locbase@H@std@@2HB CONST SEGMENT ?none@?$_Locbase@H@std@@2HB DD 00H ; std::_Locbase::none CONST ENDS ; COMDAT ?all@?$_Locbase@H@std@@2HB CONST SEGMENT ?all@?$_Locbase@H@std@@2HB DD 03fH ; std::_Locbase::all CONST ENDS ; COMDAT ?messages@?$_Locbase@H@std@@2HB CONST SEGMENT ?messages@?$_Locbase@H@std@@2HB DD 020H ; std::_Locbase::messages CONST ENDS ; COMDAT ?time@?$_Locbase@H@std@@2HB CONST SEGMENT ?time@?$_Locbase@H@std@@2HB DD 010H ; std::_Locbase::time CONST ENDS ; COMDAT ?numeric@?$_Locbase@H@std@@2HB CONST SEGMENT ?numeric@?$_Locbase@H@std@@2HB DD 08H ; std::_Locbase::numeric CONST ENDS ; COMDAT ?monetary@?$_Locbase@H@std@@2HB CONST SEGMENT ?monetary@?$_Locbase@H@std@@2HB DD 04H ; std::_Locbase::monetary CONST ENDS ; COMDAT ?ctype@?$_Locbase@H@std@@2HB CONST SEGMENT ?ctype@?$_Locbase@H@std@@2HB DD 02H ; std::_Locbase::ctype CONST ENDS ; COMDAT ?collate@?$_Locbase@H@std@@2HB CONST SEGMENT ?collate@?$_Locbase@H@std@@2HB DD 01H ; std::_Locbase::collate CONST ENDS _DATA SEGMENT __bad_alloc_Message DD FLAT:??_C@_0P@GHFPNOJB@bad?5allocation?$AA@ _DATA ENDS ; COMDAT ??_C@_0P@GHFPNOJB@bad?5allocation?$AA@ CONST SEGMENT ??_C@_0P@GHFPNOJB@bad?5allocation?$AA@ DB 'bad allocation', 00H ; `string' CONST ENDS PUBLIC _main EXTRN __RTC_Shutdown:PROC EXTRN __RTC_InitBase:PROC ; COMDAT rtc$TMZ ; File c:\documents and settings\enano\escritorio\autómatas\tarea 0\compilacionc++\compilacionc++\compilacionc++.cpp rtc$TMZ SEGMENT __RTC_Shutdown.rtc$TMZ DD FLAT:__RTC_Shutdown rtc$TMZ ENDS ; COMDAT rtc$IMZ rtc$IMZ SEGMENT __RTC_InitBase.rtc$IMZ DD FLAT:__RTC_InitBase ; Function compile flags: /Odtp /RTCsu /ZI rtc$IMZ ENDS ; COMDAT _main _TEXT SEGMENT _digito$ = -56 ; size = 4 _suma$ = -44 ; size = 4 _temp$ = -32 ; size = 4 _numero$ = -20 ; size = 4 _n$ = -8 ; size = 4 _argc$ = 8 ; size = 4 _argv$ = 12 ; size = 4 _main PROC ; COMDAT ; 9 : { push ebp mov ebp, esp sub esp, 252 ; 000000fcH push ebx push esi push edi lea edi, DWORD PTR [ebp-252] mov ecx, 63 ; 0000003fH mov eax, -858993460 ; ccccccccH rep stosd ; 10 : int n = 10; mov DWORD PTR _n$[ebp], 10 ; 0000000aH ; 11 : ; 12 : int numero = 0;//153; mov DWORD PTR _numero$[ebp], 0 ; 13 : int temp = 0;//15; mov DWORD PTR _temp$[ebp], 0 ; 14 : int suma = 0;//27; mov DWORD PTR _suma$[ebp], 0 ; 15 : int digito = 0;//3; mov DWORD PTR _digito$[ebp], 0 ; 16 : ; 17 : for(numero = 1; numero <= n;numero++){ mov DWORD PTR _numero$[ebp], 1 jmp SHORT $LN5@main $LN4@main: mov eax, DWORD PTR _numero$[ebp] add eax, 1 mov DWORD PTR _numero$[ebp], eax $LN5@main: mov eax, DWORD PTR _numero$[ebp] cmp eax, DWORD PTR _n$[ebp] jg SHORT $LN3@main ; 18 : suma = 0; mov DWORD PTR _suma$[ebp], 0 ; 19 : temp = numero; mov eax, DWORD PTR _numero$[ebp] mov DWORD PTR _temp$[ebp], eax $LN2@main: ; 20 : while(temp != 0){ cmp DWORD PTR _temp$[ebp], 0 je SHORT $LN1@main ; 21 : digito = temp % 10; mov eax, DWORD PTR _temp$[ebp] cdq mov ecx, 10 ; 0000000aH idiv ecx mov DWORD PTR _digito$[ebp], edx ; 22 : suma += digito * digito * digito; mov eax, DWORD PTR _digito$[ebp] imul eax, DWORD PTR _digito$[ebp] imul eax, DWORD PTR _digito$[ebp] add eax, DWORD PTR _suma$[ebp] mov DWORD PTR _suma$[ebp], eax ; 23 : temp = temp / 10; mov eax, DWORD PTR _temp$[ebp] cdq mov ecx, 10 ; 0000000aH idiv ecx mov DWORD PTR _temp$[ebp], eax ; 24 : } jmp SHORT $LN2@main $LN1@main: ; 25 : } jmp SHORT $LN4@main $LN3@main: ; 26 : ; 27 : return 0; xor eax, eax ; 28 : } pop edi pop esi pop ebx mov esp, ebp pop ebp ret 0 _main ENDP _TEXT ENDS END