-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproblem4.s
More file actions
198 lines (198 loc) · 6.89 KB
/
problem4.s
File metadata and controls
198 lines (198 loc) · 6.89 KB
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
/Users/ericgallager/Documents/Problem 4/Codeblocks/Problem4/obj/Debug/problem4.o:
(__TEXT,__text) section
_main:
0000000000000000 pushq %rbp
0000000000000001 movq %rsp,%rbp
0000000000000004 subq $0x20,%rsp
0000000000000008 movsd %xmm0,0xf0(%rbp)
000000000000000d movl %esi,0xec(%rbp)
0000000000000010 movsd %xmm1,0xe0(%rbp)
0000000000000015 movb %bh,0xfc(%rbp)
0000000000000019 leaq LC0(%rip),%rdi
0000000000000020 callq _puts
0000000000000025 leaq LC1(%rip),%rdi
000000000000002c movl $_main,%eax
0000000000000031 callq _printf
0000000000000036 leaq 0xfc(%rbp),%rsi
000000000000003a leaq LC2(%rip),%rdi
0000000000000041 movl $_main,%eax
0000000000000046 callq _scanf
000000000000004b leaq LC3(%rip),%rdi
0000000000000052 movl $_main,%eax
0000000000000057 callq _printf
000000000000005c leaq 0xf0(%rbp),%rsi
0000000000000060 leaq LC4(%rip),%rdi
0000000000000067 movl $_main,%eax
000000000000006c callq _scanf
0000000000000071 leaq LC5(%rip),%rdi
0000000000000078 movl $_main,%eax
000000000000007d callq _printf
0000000000000082 leaq 0xec(%rbp),%rsi
0000000000000086 leaq LC6(%rip),%rdi
000000000000008d movl $_main,%eax
0000000000000092 callq _scanf
0000000000000097 movzbl 0xfc(%rbp),%eax
000000000000009b cmpb $0x31,%al
000000000000009d jne 0x000000f1
000000000000009f movl 0xec(%rbp),%eax
00000000000000a2 cmpl $0x0000c350,%eax
00000000000000a7 jg 0x000000f1
00000000000000a9 movq $0x400b333333333333,%rax
00000000000000b3 movq %rax,0xe0(%rbp)
00000000000000b7 movsd 0xf0(%rbp),%xmm0
00000000000000bc ucomisd 0xe0(%rbp),%xmm0
00000000000000c1 ja 0x000000c5
00000000000000c3 jmp 0x000000e0
00000000000000c5 movsd 0xe0(%rbp),%xmm0
00000000000000ca leaq LC8(%rip),%rdi
00000000000000d1 movl $0x00000001,%eax
00000000000000d6 callq _printf
00000000000000db jmp 0x00000367
00000000000000e0 leaq LC9(%rip),%rdi
00000000000000e7 callq _puts
00000000000000ec jmp 0x00000367
00000000000000f1 movzbl 0xfc(%rbp),%eax
00000000000000f5 cmpb $0x32,%al
00000000000000f7 jne 0x0000014b
00000000000000f9 movl 0xec(%rbp),%eax
00000000000000fc cmpl $0x0000c350,%eax
0000000000000101 jg 0x0000014b
0000000000000103 movq $0x3fd3d70a3d70a3d7,%rax
000000000000010d movq %rax,0xe0(%rbp)
0000000000000111 movsd 0xf0(%rbp),%xmm0
0000000000000116 ucomisd 0xe0(%rbp),%xmm0
000000000000011b ja 0x0000011f
000000000000011d jmp 0x0000013a
000000000000011f movsd 0xe0(%rbp),%xmm0
0000000000000124 leaq LC8(%rip),%rdi
000000000000012b movl $0x00000001,%eax
0000000000000130 callq _printf
0000000000000135 jmp 0x00000367
000000000000013a leaq LC9(%rip),%rdi
0000000000000141 callq _puts
0000000000000146 jmp 0x00000367
000000000000014b movzbl 0xfc(%rbp),%eax
000000000000014f cmpb $0x33,%al
0000000000000151 jne 0x000001a5
0000000000000153 movl 0xec(%rbp),%eax
0000000000000156 cmpl $0x0000c350,%eax
000000000000015b jg 0x000001a5
000000000000015d movq $0x3fd999999999999a,%rax
0000000000000167 movq %rax,0xe0(%rbp)
000000000000016b movsd 0xf0(%rbp),%xmm0
0000000000000170 ucomisd 0xe0(%rbp),%xmm0
0000000000000175 ja 0x00000179
0000000000000177 jmp 0x00000194
0000000000000179 movsd 0xe0(%rbp),%xmm0
000000000000017e leaq LC8(%rip),%rdi
0000000000000185 movl $0x00000001,%eax
000000000000018a callq _printf
000000000000018f jmp 0x00000367
0000000000000194 leaq LC9(%rip),%rdi
000000000000019b callq _puts
00000000000001a0 jmp 0x00000367
00000000000001a5 movzbl 0xfc(%rbp),%eax
00000000000001a9 cmpb $0x34,%al
00000000000001ab jne 0x000001ff
00000000000001ad movl 0xec(%rbp),%eax
00000000000001b0 cmpl $0x0000c350,%eax
00000000000001b5 jg 0x000001ff
00000000000001b7 movq $0x3fd0000000000000,%rax
00000000000001c1 movq %rax,0xe0(%rbp)
00000000000001c5 movsd 0xf0(%rbp),%xmm0
00000000000001ca ucomisd 0xe0(%rbp),%xmm0
00000000000001cf ja 0x000001d3
00000000000001d1 jmp 0x000001ee
00000000000001d3 movsd 0xe0(%rbp),%xmm0
00000000000001d8 leaq LC8(%rip),%rdi
00000000000001df movl $0x00000001,%eax
00000000000001e4 callq _printf
00000000000001e9 jmp 0x00000367
00000000000001ee leaq LC9(%rip),%rdi
00000000000001f5 callq _puts
00000000000001fa jmp 0x00000367
00000000000001ff movzbl 0xfc(%rbp),%eax
0000000000000203 cmpb $0x31,%al
0000000000000205 jne 0x00000259
0000000000000207 movl 0xec(%rbp),%eax
000000000000020a cmpl $0x0000c34f,%eax
000000000000020f jle 0x00000259
0000000000000211 movq $0x4010cccccccccccd,%rax
000000000000021b movq %rax,0xe0(%rbp)
000000000000021f movsd 0xf0(%rbp),%xmm0
0000000000000224 ucomisd 0xe0(%rbp),%xmm0
0000000000000229 ja 0x0000022d
000000000000022b jmp 0x00000248
000000000000022d movsd 0xe0(%rbp),%xmm0
0000000000000232 leaq LC8(%rip),%rdi
0000000000000239 movl $0x00000001,%eax
000000000000023e callq _printf
0000000000000243 jmp 0x00000367
0000000000000248 leaq LC9(%rip),%rdi
000000000000024f callq _puts
0000000000000254 jmp 0x00000367
0000000000000259 movzbl 0xfc(%rbp),%eax
000000000000025d cmpb $0x32,%al
000000000000025f jne 0x000002b3
0000000000000261 movl 0xec(%rbp),%eax
0000000000000264 cmpl $0x0000c34f,%eax
0000000000000269 jle 0x000002b3
000000000000026b movq $0x3fd8f5c28f5c28f6,%rax
0000000000000275 movq %rax,0xe0(%rbp)
0000000000000279 movsd 0xf0(%rbp),%xmm0
000000000000027e ucomisd 0xe0(%rbp),%xmm0
0000000000000283 ja 0x00000287
0000000000000285 jmp 0x000002a2
0000000000000287 movsd 0xe0(%rbp),%xmm0
000000000000028c leaq LC8(%rip),%rdi
0000000000000293 movl $0x00000001,%eax
0000000000000298 callq _printf
000000000000029d jmp 0x00000367
00000000000002a2 leaq LC9(%rip),%rdi
00000000000002a9 callq _puts
00000000000002ae jmp 0x00000367
00000000000002b3 movzbl 0xfc(%rbp),%eax
00000000000002b7 cmpb $0x33,%al
00000000000002b9 jne 0x00000307
00000000000002bb movl 0xec(%rbp),%eax
00000000000002be cmpl $0x0000c34f,%eax
00000000000002c3 jle 0x00000307
00000000000002c5 movq $0x3fe0000000000000,%rax
00000000000002cf movq %rax,0xe0(%rbp)
00000000000002d3 movsd 0xf0(%rbp),%xmm0
00000000000002d8 ucomisd 0xe0(%rbp),%xmm0
00000000000002dd ja 0x000002e1
00000000000002df jmp 0x000002f9
00000000000002e1 movsd 0xe0(%rbp),%xmm0
00000000000002e6 leaq LC8(%rip),%rdi
00000000000002ed movl $0x00000001,%eax
00000000000002f2 callq _printf
00000000000002f7 jmp 0x00000367
00000000000002f9 leaq LC9(%rip),%rdi
0000000000000300 callq _puts
0000000000000305 jmp 0x00000367
0000000000000307 movzbl 0xfc(%rbp),%eax
000000000000030b cmpb $0x34,%al
000000000000030d jne 0x0000035b
000000000000030f movl 0xec(%rbp),%eax
0000000000000312 cmpl $0x0000c34f,%eax
0000000000000317 jle 0x0000035b
0000000000000319 movq $0x3fd3d70a3d70a3d7,%rax
0000000000000323 movq %rax,0xe0(%rbp)
0000000000000327 movsd 0xf0(%rbp),%xmm0
000000000000032c ucomisd 0xe0(%rbp),%xmm0
0000000000000331 ja 0x00000335
0000000000000333 jmp 0x0000034d
0000000000000335 movsd 0xe0(%rbp),%xmm0
000000000000033a leaq LC8(%rip),%rdi
0000000000000341 movl $0x00000001,%eax
0000000000000346 callq _printf
000000000000034b jmp 0x00000367
000000000000034d leaq LC9(%rip),%rdi
0000000000000354 callq _puts
0000000000000359 jmp 0x00000367
000000000000035b leaq LC16(%rip),%rdi
0000000000000362 callq _puts
0000000000000367 movl $_main,%eax
000000000000036c leave
000000000000036d ret