Game Development Reference
In-Depth Information
00411A63 8D 8D DC F7 FF FF
lea
ecx,[m]
00411A69 E8 9C FA FF FF
call
MyClass::MyClass (41150Ah)
strcat(buffer, m.string);
00411A6E 8B 85 E0 F7 FF FF
mov
eax,dword ptr [ebp-820h]
00411A74 50
push
eax
00411A75 8D 8D F8 F7 FF FF
lea
ecx,[buffer]
00411A7B 51
push
ecx
00411A7C E8 46 F7 FF FF
call
@ILT+450(_strcat) (4111C7h)
00411A81 83 C4 08
add
esp,8
}
00411A84 8D 8D DC F7 FF FF
lea
ecx,[m]
00411A8A E8 76 FA FF FF
call
MyClass::~MyClass (411505h)
00411A8F EB B0
jmp
SetTheIP+31h (411A41h)
}
00411A91 52
push
edx
00411A92 8B CD
mov
ecx,ebp
00411A94 50
push
eax
00411A95 8D 15 B6 1A 41 00
lea
edx,[ (411AB6h)]
00411A9B E8 FA F6 FF FF
call
@ILT+405(@_RTC_CheckStackVars@8) (41119Ah)
00411AA0 58
pop
eax
00411AA1 5A
pop
edx
00411AA2 5F
pop
edi
00411AA3 5E
pop
esi
00411AA4 5B
pop
ebx
00411AA5 81 C4 E8 08 00 00
add
esp,8E8h
00411AAB 3B EC
cmp
ebp,esp
00411AAD E8 F0 F8 FF FF
call
@ILT+925(__RTC_CheckEsp) (4113A2h)
00411AB2 8B E5
mov
esp,ebp
00411AB4 5D
pop
ebp
00411AB5 C3
ret
One thing you
ll realize immediately is that the disassembly window can be a big help
in beginning to understand what assembly language is all about. I wish I had more
time to go over each statement, addressing modes, and whatnot, but there are better
resources for that anyway.
Notice first the structure of the disassembly window. The column of numbers on the
left-hand side of the window is the memory address of each instruction. The list of
one to ten hexadecimal codes that follows each address represents the machine code
bytes. Notice that the address of each line coincides with the number of machine code
bytes. The more readable instruction on the farrightistheassemblerstatement.Each
group of assembler statements is preceded by the C++ statement that they compiled
'
Search WWH ::




Custom Search