Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; Listing generated by Microsoft (R) Optimizing Compiler Version 18.00.21005.1
- TITLE c:\Users\Rizky\documents\visual studio 2013\Projects\TestAssembly\TestAssembly\main.cpp
- .686P
- .XMM
- include listing.inc
- .model flat
- INCLUDELIB MSVCRTD
- INCLUDELIB OLDNAMES
- PUBLIC ?process@@YAXH@Z ; process
- PUBLIC ?process@@YAXM@Z ; process
- PUBLIC _main
- PUBLIC ??_C@_0L@HMAHEEKL@Value?5?$DN?5?$CFd?$AA@ ; `string'
- PUBLIC ??_C@_09HONNAFCA@Value?5?$DN?$CFd?$AA@ ; `string'
- PUBLIC __real@40000000
- EXTRN __imp__printf:PROC
- EXTRN __RTC_CheckEsp:PROC
- EXTRN __RTC_InitBase:PROC
- EXTRN __RTC_Shutdown:PROC
- EXTRN __fltused:DWORD
- ; COMDAT __real@40000000
- CONST SEGMENT
- __real@40000000 DD 040000000r ; 2
- CONST ENDS
- ; COMDAT rtc$TMZ
- 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
- rtc$IMZ ENDS
- ; COMDAT ??_C@_09HONNAFCA@Value?5?$DN?$CFd?$AA@
- CONST SEGMENT
- ??_C@_09HONNAFCA@Value?5?$DN?$CFd?$AA@ DB 'Value =%d', 00H ; `string'
- CONST ENDS
- ; COMDAT ??_C@_0L@HMAHEEKL@Value?5?$DN?5?$CFd?$AA@
- CONST SEGMENT
- ??_C@_0L@HMAHEEKL@Value?5?$DN?5?$CFd?$AA@ DB 'Value = %d', 00H ; `string'
- CONST ENDS
- ; Function compile flags: /Odtp /RTCsu /ZI
- ; File c:\users\rizky\documents\visual studio 2013\projects\testassembly\testassembly\main.cpp
- ; COMDAT _main
- _TEXT SEGMENT
- _main PROC ; COMDAT
- ; 11 : int main(){
- push ebp
- mov ebp, esp
- sub esp, 192 ; 000000c0H
- push ebx
- push esi
- push edi
- lea edi, DWORD PTR [ebp-192]
- mov ecx, 48 ; 00000030H
- mov eax, -858993460 ; ccccccccH
- rep stosd
- ; 12 : process(2);
- push 2
- call ?process@@YAXH@Z ; process
- add esp, 4
- ; 13 : process(2.0f);
- push ecx
- movss xmm0, DWORD PTR __real@40000000
- movss DWORD PTR [esp], xmm0
- call ?process@@YAXM@Z ; process
- add esp, 4
- ; 14 : }
- xor eax, eax
- pop edi
- pop esi
- pop ebx
- add esp, 192 ; 000000c0H
- cmp ebp, esp
- call __RTC_CheckEsp
- mov esp, ebp
- pop ebp
- ret 0
- _main ENDP
- _TEXT ENDS
- ; Function compile flags: /Odtp /RTCsu /ZI
- ; File c:\users\rizky\documents\visual studio 2013\projects\testassembly\testassembly\main.cpp
- ; COMDAT ?process@@YAXM@Z
- _TEXT SEGMENT
- _f$ = 8 ; size = 4
- ?process@@YAXM@Z PROC ; process, COMDAT
- ; 7 : void process(float f){
- push ebp
- mov ebp, esp
- sub esp, 192 ; 000000c0H
- push ebx
- push esi
- push edi
- lea edi, DWORD PTR [ebp-192]
- mov ecx, 48 ; 00000030H
- mov eax, -858993460 ; ccccccccH
- rep stosd
- ; 8 : printf("Value =%d", f);
- cvtss2sd xmm0, DWORD PTR _f$[ebp]
- mov esi, esp
- sub esp, 8
- movsd QWORD PTR [esp], xmm0
- push OFFSET ??_C@_09HONNAFCA@Value?5?$DN?$CFd?$AA@
- call DWORD PTR __imp__printf
- add esp, 12 ; 0000000cH
- cmp esi, esp
- call __RTC_CheckEsp
- ; 9 : }
- pop edi
- pop esi
- pop ebx
- add esp, 192 ; 000000c0H
- cmp ebp, esp
- call __RTC_CheckEsp
- mov esp, ebp
- pop ebp
- ret 0
- ?process@@YAXM@Z ENDP ; process
- _TEXT ENDS
- ; Function compile flags: /Odtp /RTCsu /ZI
- ; File c:\users\rizky\documents\visual studio 2013\projects\testassembly\testassembly\main.cpp
- ; COMDAT ?process@@YAXH@Z
- _TEXT SEGMENT
- _i$ = 8 ; size = 4
- ?process@@YAXH@Z PROC ; process, COMDAT
- ; 3 : void process(int i){
- push ebp
- mov ebp, esp
- sub esp, 192 ; 000000c0H
- push ebx
- push esi
- push edi
- lea edi, DWORD PTR [ebp-192]
- mov ecx, 48 ; 00000030H
- mov eax, -858993460 ; ccccccccH
- rep stosd
- ; 4 : printf("Value = %d", i);
- mov esi, esp
- mov eax, DWORD PTR _i$[ebp]
- push eax
- push OFFSET ??_C@_0L@HMAHEEKL@Value?5?$DN?5?$CFd?$AA@
- call DWORD PTR __imp__printf
- add esp, 8
- cmp esi, esp
- call __RTC_CheckEsp
- ; 5 : }
- pop edi
- pop esi
- pop ebx
- add esp, 192 ; 000000c0H
- cmp ebp, esp
- call __RTC_CheckEsp
- mov esp, ebp
- pop ebp
- ret 0
- ?process@@YAXH@Z ENDP ; process
- _TEXT ENDS
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement