-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathasmCode.asm
72 lines (62 loc) · 1.03 KB
/
asmCode.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
.386P
.MODEL FLAT
INCLUDELIB LIBCMT
EXTRN _printf : NEAR
.code
;--------------- Function main Declaration ---------------
PUBLIC _main
_main PROC
push ebp
mov ebp, esp
sub esp, 4
push 2d
;--------------- Assignment ---------------
pop eax
mov [ebp-4], eax
push eax
pop eax
.data
S0 BYTE "%d", 00h
.code
push OFFSET S0
push [ebp-4]
;--------------- Reversing last 2 stack items ---------------
.data
stackReveseVar0 DWORD ?
stackReveseVar1 DWORD ?
.code
pop stackReveseVar0
pop stackReveseVar1
push stackReveseVar0
push stackReveseVar1
;--------------- Call printf Function ---------------
CALL _printf
add esp, 8d
push eax
pop eax
sub esp, 4
.data
S1 BYTE "%d", 00h
.code
push OFFSET S1
push [ebp-4]
;--------------- Reversing last 2 stack items ---------------
.data
stackReveseVar2 DWORD ?
stackReveseVar3 DWORD ?
.code
pop stackReveseVar2
pop stackReveseVar3
push stackReveseVar2
push stackReveseVar3
;--------------- Call printf Function ---------------
CALL _printf
add esp, 8d
push eax
pop eax
L1:
mov esp, ebp
pop ebp
RET
_main ENDP
END