-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathopracoes.s
107 lines (71 loc) · 1.79 KB
/
opracoes.s
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
.data
.text
.globl foo
foo:
push %rbp
movq %rsp, %rbp
subq $32, %rsp
/* -var(%rbp), %r10d -> 0x44 0x8b 0x55 0x100-var */
movl -0x04(%rbp), %r10d
movl -0x08(%rbp), %r10d
movl -0x0c(%rbp), %r10d
movl -0x10(%rbp), %r10d
movl -0x14(%rbp), %r10d
movl %edi, %r10d /* 0x41 0x89 0xfa */
/* 0x41 0xba 0x00 0x00 0x00 0x00 (OXOO eh constante em little endian) */
movl $100, %r10d
movl $10000, %r10d
/* 0x44 0x03 0x55 0x100-var */
addl -0x04(%rbp), %r10d
addl -0x08(%rbp), %r10d
addl -0x0c(%rbp), %r10d
addl -0x10(%rbp), %r10d
addl -0x14(%rbp), %r10d
/* 0x41 0x01 0xfa */
addl %edi, %r10d
/* 0x41 0x83 0xc2 0x00 0x00 0x00 0x00 -> quatro 0x00 se cte >= 128, apenas um caso contrario */
addl $1, %r10d
addl $100, %r10d
addl $10000, %r10d
addl $-1, %r10d
addl $-100, %r10d
addl $-10000, %r10d
/* 0x44 0x2b 0x55 0x100-var */
subl -0x04(%rbp), %r10d
subl -0x08(%rbp), %r10d
subl -0x0c(%rbp), %r10d
subl -0x10(%rbp), %r10d
subl -0x14(%rbp), %r10d
/* 0x41 0x29 0xfa */
subl %edi, %r10d
/* 0x41 0x81 0xea 0x00 0x00 0x00 0x00 -> quatro 0x00 se cte >= 128,
0x41 0x83 0xea 0x00 caso contrario
*/
subl $1, %r10d
subl $100, %r10d
subl $10000, %r10d
subl $-1, %r10d
subl $-100, %r10d
subl $-10000, %r10d
/* 0x44 0x0f 0xaf 0x55 0x100-var */
imul -0x04(%rbp), %r10d
imul -0x08(%rbp), %r10d
imul -0x0c(%rbp), %r10d
imul -0x10(%rbp), %r10d
imul -0x14(%rbp), %r10d
/* 0x44 0x0f 0xaf 0xd7 */
imul %edi, %r10d
/* 0x45 0x6b 0xd2 0x00 0x00 0x00 0x00 -> quatro 0x00 se cte >= 128, apenas um caso contrario */
imul $100, %r10d
imul $10000, %r10d
imul $-100, %r10d
imul $-10000, %r10d
/* 0x44 0x89 0x55 0x100-var */
movl %r10d, -0x04(%rbp)
movl %r10d, -0x08(%rbp)
movl %r10d, -0x0c(%rbp)
movl %r10d, -0x10(%rbp)
movl %r10d, -0x14(%rbp)
/* 0xc9 0xc3 */
leave
ret