Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • DownloadDownload
  • PrintPrint
Share this Page URL
Help

13.2. Commented Disassembly

Here is the commented disassembly from \Debug executable. FPO optimization was disabled.

FunctionParameters!main:
push    ebp                   ; establishing stack frame
mov     ebp,esp               ;
sub     esp,0xd8              ; creating stack frame for locals
push    ebx                   ; saving registers that might be used
push    esi                   ;   outside
push    edi                   ;
lea     edi,[ebp-0xd8]        ; getting the lowest address of stack frame
mov     ecx,0×36              ; filling stack frame with 0xCC
mov     eax,0xcccccccc        ;
rep     stosd                 ;
push    0×427034              ; address of "Enter a and b: " string
call    FunctionParameters!ILT+1285(_printf) (0041150a)
add     esp,0×4               ; adjust stack pointer (1 parameter)
lea     eax,[ebp-0×14]        ; address of b
push    eax                   ;
lea     ecx,[ebp-0×8]         ; address of a
push    ecx                   ;
push    0×42702c              ; address of "%d %d" string
call    FunctionParameters!ILT+990(_scanf) (004113e3)
add     esp,0xc               ; adjust stack pointer (3 parameters,
                              ;   3*4 = 12 bytes, 0xc in hexadecimal)
lea     eax,[ebp-0×14]        ; address of b
push    eax                   ;
mov     ecx,[ebp-0×8]         ; value of a
push    ecx                   ;
call    FunctionParameters!ILT+535(?arithmeticYA_NHPAHZ) (0041121c)
add     esp,0×8               ; adjust stack pointer (2 parameters)
movzx   edx,al                ; bool result from arithmetic
test    edx,edx               ; testing for zero
jz      FunctionParameters!main+0×68 (00411bf8)
mov     eax,[ebp-0×14]        ; value of b
push    eax                   ;
push    0×42701c              ; address of "Result =  string %d"

					  


  

You are currently reading a PREVIEW of this book.

                                                                                        

Get instant access to over
$1 million worth of books and videos.

  

Start a Free Trial