3.struct代码:
struct name
{
int i;
int j;
int add(int in1,int in2)
{
return in1+in2;
}
};
void main()
{
std::cout<<"tips";
name n;
n.i=10;
n.j=12;
std::cout<
对应反汇编如下:
00401580 > > \55 PUSH EBP
00401581 . 8BEC MOV EBP,ESP
00401583 . 83EC 48 SUB ESP,48
00401586 . 53 PUSH EBX
00401587 . 56 PUSH ESI
00401588 . 57 PUSH EDI
00401589 . 8D7D B8 LEA EDI,DWORD PTR SS:[EBP-48]
0040158C . B9 12000000 MOV ECX,12
00401591 . B8 CCCCCCCC MOV EAX,CCCCCCCC
00401596 . F3:AB REP STOS DWORD PTR ES:[EDI]
00401598 . 68 24004700 PUSH OFFSET teststru. _C@_04IPMF@tips $>; tips
0040159D . 68 A0DE4700 PUSH OFFSET teststru.std::cout
004015A2 . E8 E3FCFFFF CALL teststru.0040128A
004015A7 . 83C4 08 ADD ESP,8
004015AA . C745 F8 0A000>MOV DWORD PTR SS:[EBP-8],0A
004015B1 . C745 FC 0C000>MOV DWORD PTR SS:[EBP-4],0C
004015B8 . 68 C8104000 PUSH teststru.004010C8
004015BD . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004015C0 . 50 PUSH EAX
004015C1 . 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
004015C4 . 51 PUSH ECX
004015C5 . 8D4D F8 LEA ECX,DWORD PTR SS:[EBP-8]
004015C8 . E8 27FCFFFF CALL teststru.004011F4
004015CD . 50 PUSH EAX
004015CE . B9 A0DE4700 MOV ECX,OFFSET teststru.std::cout
004015D3 . E8 27FBFFFF CALL teststru.004010FF
004015D8 . 8BC8 MOV ECX,EAX
004015DA . E8 01FCFFFF CALL teststru.004011E0
004015DF . 68 1C004700 PUSH OFFSET teststru. _C@_05PBCN@pause >; /pause
004015E4 . E8 C7F30100 CALL teststru.system ; \system
004015E9 . 83C4 04 ADD ESP,4
004015EC . 5F POP EDI
004015ED . 5E POP ESI
004015EE . 5B POP EBX
004015EF . 83C4 48 ADD ESP,48
004015F2 . 3BEC CMP EBP,ESP
004015F4 . E8 C7F40100 CALL teststru.__chkesp
004015F9 . 8BE5 MOV ESP,EBP
004015FB . 5D POP EBP
004015FC . C3 RETN
004015FD CC INT3
004015FE CC INT3
004015FF CC INT3
00401600 CC INT3
00401601 CC INT3
00401602 CC INT3
00401603 CC INT3
00401604 CC INT3
00401605 CC INT3
00401606 CC INT3
00401607 CC INT3
00401608 CC INT3
00401609 CC INT3
0040160A CC INT3
0040160B CC INT3
0040160C CC INT3
0040160D CC INT3
0040160E CC INT3
0040160F CC INT3
00401610 CC INT3
00401611 CC INT3
00401612 CC INT3
00401613 CC INT3
00401614 CC INT3
00401615 CC INT3
00401616 CC INT3