.file "demo3.c" .intel_syntax .globl _m1 .data .align 4 _m1: .long 50 .globl _m2 .align 4 _m2: .long 100 .long 200 .long 300 .globl _m3 .align 4 _m3: .long _m2 .section .rdata,"dr" LC0: .ascii "m1 = %d\12\0" .text .globl _moves .def _moves; .scl 2; .type 32; .endef _moves: push ebp mov ebp, esp sub esp, 8 /APP mov DWORD PTR _m1, -22 /NO_APP mov eax, DWORD PTR _m1 mov DWORD PTR [esp+4], eax mov DWORD PTR [esp], OFFSET FLAT:LC0 call _printf /APP mov eax, _m3 mov ebx, [eax + 4] mov _m1, ebx /NO_APP mov eax, DWORD PTR _m1 mov DWORD PTR [esp+4], eax mov DWORD PTR [esp], OFFSET FLAT:LC0 call _printf leave ret .def ___main; .scl 2; .type 32; .endef .globl _main .def _main; .scl 2; .type 32; .endef _main: push ebp mov ebp, esp sub esp, 8 and esp, -16 mov eax, 0 add eax, 15 add eax, 15 shr eax, 4 sal eax, 4 mov DWORD PTR [ebp-4], eax mov eax, DWORD PTR [ebp-4] call __alloca call ___main call _moves mov eax, 0 leave ret .def _printf; .scl 3; .type 32; .endef