|
; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.30319.01
TITLE D:\Articles\CodeProject\switch\CppExample\switch4.cpp
.686P
.XMM
include listing.inc
.model flat
INCLUDELIB LIBCMTD
INCLUDELIB OLDNAMES
PUBLIC ?main4@@YAHXZ ; main4
EXTRN ?f3@@YAXXZ:PROC ; f3
EXTRN ?f1@@YAXXZ:PROC ; f1
EXTRN ?f2@@YAXXZ:PROC ; f2
EXTRN __RTC_CheckEsp:PROC
EXTRN __RTC_Shutdown:PROC
EXTRN __RTC_InitBase:PROC
; COMDAT rtc$TMZ
; File d:\articles\codeproject\switch\cppexample\switch4.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 ?main4@@YAHXZ
_TEXT SEGMENT
tv64 = -208 ; size = 4
_i$ = -8 ; size = 4
?main4@@YAHXZ PROC ; main4, COMDAT
; 4 : {
push ebp
mov ebp, esp
sub esp, 208 ; 000000d0H
push ebx
push esi
push edi
lea edi, DWORD PTR [ebp-208]
mov ecx, 52 ; 00000034H
mov eax, -858993460 ; ccccccccH
rep stosd
; 5 : int i =1;
mov DWORD PTR _i$[ebp], 1
; 6 :
; 7 : switch (i)
mov eax, DWORD PTR _i$[ebp]
mov DWORD PTR tv64[ebp], eax
cmp DWORD PTR tv64[ebp], 700 ; 000002bcH
jg SHORT $LN14@main4
cmp DWORD PTR tv64[ebp], 700 ; 000002bcH
je SHORT $LN8@main4
cmp DWORD PTR tv64[ebp], 250 ; 000000faH
jg SHORT $LN15@main4
cmp DWORD PTR tv64[ebp], 250 ; 000000faH
je SHORT $LN7@main4
cmp DWORD PTR tv64[ebp], 100 ; 00000064H
je SHORT $LN3@main4
cmp DWORD PTR tv64[ebp], 200 ; 000000c8H
je SHORT $LN2@main4
jmp SHORT $LN1@main4
$LN15@main4:
cmp DWORD PTR tv64[ebp], 500 ; 000001f4H
je SHORT $LN6@main4
jmp SHORT $LN1@main4
$LN14@main4:
cmp DWORD PTR tv64[ebp], 750 ; 000002eeH
je SHORT $LN9@main4
cmp DWORD PTR tv64[ebp], 800 ; 00000320H
je SHORT $LN5@main4
cmp DWORD PTR tv64[ebp], 900 ; 00000384H
je SHORT $LN4@main4
jmp SHORT $LN1@main4
$LN9@main4:
; 8 : {
; 9 : case 750: f2(); break;
call ?f2@@YAXXZ ; f2
jmp SHORT $LN10@main4
$LN8@main4:
; 10 : case 700: f2(); break;
call ?f2@@YAXXZ ; f2
jmp SHORT $LN10@main4
$LN7@main4:
; 11 : case 250: f2(); break;
call ?f2@@YAXXZ ; f2
jmp SHORT $LN10@main4
$LN6@main4:
; 12 : case 500: f1(); break;
call ?f1@@YAXXZ ; f1
jmp SHORT $LN10@main4
$LN5@main4:
; 13 : case 800: f2(); break;
call ?f2@@YAXXZ ; f2
jmp SHORT $LN10@main4
$LN4@main4:
; 14 : case 900: f1(); break;
call ?f1@@YAXXZ ; f1
jmp SHORT $LN10@main4
$LN3@main4:
; 15 : case 100: f1(); break;
call ?f1@@YAXXZ ; f1
jmp SHORT $LN10@main4
$LN2@main4:
; 16 : case 200: f2(); break;
call ?f2@@YAXXZ ; f2
jmp SHORT $LN10@main4
$LN1@main4:
; 17 :
; 18 : default: f3();
call ?f3@@YAXXZ ; f3
$LN10@main4:
; 19 : }
; 20 :
; 21 : return 0;
xor eax, eax
; 22 : }
pop edi
pop esi
pop ebx
add esp, 208 ; 000000d0H
cmp ebp, esp
call __RTC_CheckEsp
mov esp, ebp
pop ebp
ret 0
?main4@@YAHXZ ENDP ; main4
_TEXT ENDS
END
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.