3 ; Test of floating-point formats
7 mov ax,__float16__
(1.0)
8 mov ax,__float16__
(+1.0)
9 mov ax,__float16__
(-1.0)
10 mov ax,__float16__
(0.0)
11 mov ax,__float16__
(+0.0)
12 mov ax,__float16__
(-0.0)
13 mov ax,__float16__
(1.83203125)
14 mov ax,__float16__
(+1.83203125)
15 mov ax,__float16__
(-1.83203125)
16 mov ax,__float16__
(1.83203125e3
)
17 mov ax,__float16__
(+1.83203125e3
)
18 mov ax,__float16__
(-1.83203125e3
)
19 mov ax,__float16__
(1.83203125e-3)
20 mov ax,__float16__
(+1.83203125e-3)
21 mov ax,__float16__
(-1.83203125e-3)
22 mov ax,__float16__
(1.83203125e-6) ; Denormal!
23 mov ax,__float16__
(+1.83203125e-6) ; Denormal!
24 mov ax,__float16__
(-1.83203125e-6) ; Denormal!
25 mov ax,__float16__
(__Infinity__
)
26 mov ax,__float16__
(+__Infinity__
)
27 mov ax,__float16__
(-__Infinity__
)
28 mov ax,__float16__
(__NaN__
)
29 mov ax,__float16__
(__QNaN__
)
30 mov ax,__float16__
(__SNaN__
)
33 mov eax,__float32__
(1.0)
34 mov eax,__float32__
(+1.0)
35 mov eax,__float32__
(-1.0)
36 mov eax,__float32__
(0.0)
37 mov eax,__float32__
(+0.0)
38 mov eax,__float32__
(-0.0)
39 mov eax,__float32__
(1.83203125)
40 mov eax,__float32__
(+1.83203125)
41 mov eax,__float32__
(-1.83203125)
42 mov eax,__float32__
(1.83203125e15
)
43 mov eax,__float32__
(+1.83203125e15
)
44 mov eax,__float32__
(-1.83203125e15
)
45 mov eax,__float32__
(1.83203125e-15)
46 mov eax,__float32__
(+1.83203125e-15)
47 mov eax,__float32__
(-1.83203125e-15)
48 mov eax,__float32__
(1.83203125e-40) ; Denormal!
49 mov eax,__float32__
(+1.83203125e-40) ; Denormal!
50 mov eax,__float32__
(-1.83203125e-40) ; Denormal!
51 mov eax,__float32__
(__Infinity__
)
52 mov eax,__float32__
(+__Infinity__
)
53 mov eax,__float32__
(-__Infinity__
)
54 mov eax,__float32__
(__NaN__
)
55 mov eax,__float32__
(__QNaN__
)
56 mov eax,__float32__
(__SNaN__
)
59 mov rax
,__float64__
(1.0)
60 mov rax
,__float64__
(+1.0)
61 mov rax
,__float64__
(-1.0)
62 mov rax
,__float64__
(0.0)
63 mov rax
,__float64__
(+0.0)
64 mov rax
,__float64__
(-0.0)
65 mov rax
,__float64__
(1.83203125)
66 mov rax
,__float64__
(+1.83203125)
67 mov rax
,__float64__
(-1.83203125)
68 mov rax
,__float64__
(1.83203125e300
)
69 mov rax
,__float64__
(+1.83203125e300
)
70 mov rax
,__float64__
(-1.83203125e300
)
71 mov rax
,__float64__
(1.83203125e-300)
72 mov rax
,__float64__
(+1.83203125e-300)
73 mov rax
,__float64__
(-1.83203125e-300)
74 mov rax
,__float64__
(1.83203125e-320) ; Denormal!
75 mov rax
,__float64__
(+1.83203125e-320) ; Denormal!
76 mov rax
,__float64__
(-1.83203125e-320) ; Denormal!
77 mov rax
,__float64__
(__Infinity__
)
78 mov rax
,__float64__
(+__Infinity__
)
79 mov rax
,__float64__
(-__Infinity__
)
80 mov rax
,__float64__
(__NaN__
)
81 mov rax
,__float64__
(__QNaN__
)
82 mov rax
,__float64__
(__SNaN__
)
85 mov rax
,__float80m__
(1.0)
86 mov ax,__float80e__
(1.0)
87 mov rax
,__float80m__
(+1.0)
88 mov ax,__float80e__
(+1.0)
89 mov rax
,__float80m__
(-1.0)
90 mov ax,__float80e__
(-1.0)
91 mov rax
,__float80m__
(0.0)
92 mov ax,__float80e__
(0.0)
93 mov rax
,__float80m__
(+0.0)
94 mov ax,__float80e__
(+0.0)
95 mov rax
,__float80m__
(-0.0)
96 mov ax,__float80e__
(-0.0)
97 mov rax
,__float80m__
(1.83203125)
98 mov ax,__float80e__
(1.83203125)
99 mov rax
,__float80m__
(+1.83203125)
100 mov ax,__float80e__
(+1.83203125)
101 mov rax
,__float80m__
(-1.83203125)
102 mov ax,__float80e__
(-1.83203125)
103 mov rax
,__float80m__
(1.83203125e+4000)
104 mov ax,__float80e__
(1.83203125e+4000)
105 mov rax
,__float80m__
(+1.83203125e+4000)
106 mov ax,__float80e__
(+1.83203125e+4000)
107 mov rax
,__float80m__
(-1.83203125e+4000)
108 mov ax,__float80e__
(-1.83203125e+4000)
109 mov rax
,__float80m__
(1.83203125e-4000)
110 mov ax,__float80e__
(1.83203125e-4000)
111 mov rax
,__float80m__
(+1.83203125e-4000)
112 mov ax,__float80e__
(+1.83203125e-4000)
113 mov rax
,__float80m__
(-1.83203125e-4000)
114 mov ax,__float80e__
(-1.83203125e-4000)
115 mov rax
,__float80m__
(1.83203125e-4940) ; Denormal!
116 mov ax,__float80e__
(1.83203125e-4940) ; Denormal!
117 mov rax
,__float80m__
(+1.83203125e-4940) ; Denormal!
118 mov ax,__float80e__
(+1.83203125e-4940) ; Denormal!
119 mov rax
,__float80m__
(-1.83203125e-4940) ; Denormal!
120 mov ax,__float80e__
(-1.83203125e-4940) ; Denormal!
121 mov rax
,__float80m__
(__Infinity__
)
122 mov ax,__float80e__
(__Infinity__
)
123 mov rax
,__float80m__
(+__Infinity__
)
124 mov ax,__float80e__
(+__Infinity__
)
125 mov rax
,__float80m__
(-__Infinity__
)
126 mov ax,__float80e__
(-__Infinity__
)
127 mov rax
,__float80m__
(__NaN__
)
128 mov ax,__float80e__
(__NaN__
)
129 mov rax
,__float80m__
(__QNaN__
)
130 mov ax,__float80e__
(__QNaN__
)
131 mov rax
,__float80m__
(__SNaN__
)
132 mov ax,__float80e__
(__SNaN__
)
135 mov rax
,__float128l__
(1.0)
136 mov rax
,__float128h__
(1.0)
137 mov rax
,__float128l__
(+1.0)
138 mov rax
,__float128h__
(+1.0)
139 mov rax
,__float128l__
(-1.0)
140 mov rax
,__float128h__
(-1.0)
141 mov rax
,__float128l__
(0.0)
142 mov rax
,__float128h__
(0.0)
143 mov rax
,__float128l__
(+0.0)
144 mov rax
,__float128h__
(+0.0)
145 mov rax
,__float128l__
(-0.0)
146 mov rax
,__float128h__
(-0.0)
147 mov rax
,__float128l__
(1.83203125)
148 mov rax
,__float128h__
(1.83203125)
149 mov rax
,__float128l__
(+1.83203125)
150 mov rax
,__float128h__
(+1.83203125)
151 mov rax
,__float128l__
(-1.83203125)
152 mov rax
,__float128h__
(-1.83203125)
153 mov rax
,__float128l__
(1.83203125e+4000)
154 mov rax
,__float128h__
(1.83203125e+4000)
155 mov rax
,__float128l__
(+1.83203125e+4000)
156 mov rax
,__float128h__
(+1.83203125e+4000)
157 mov rax
,__float128l__
(-1.83203125e+4000)
158 mov rax
,__float128h__
(-1.83203125e+4000)
159 mov rax
,__float128l__
(1.83203125e-4000)
160 mov rax
,__float128h__
(1.83203125e-4000)
161 mov rax
,__float128l__
(+1.83203125e-4000)
162 mov rax
,__float128h__
(+1.83203125e-4000)
163 mov rax
,__float128l__
(-1.83203125e-4000)
164 mov rax
,__float128h__
(-1.83203125e-4000)
165 mov rax
,__float128l__
(1.83203125e-4940) ; Denormal!
166 mov rax
,__float128h__
(1.83203125e-4940) ; Denormal!
167 mov rax
,__float128l__
(+1.83203125e-4940) ; Denormal!
168 mov rax
,__float128h__
(+1.83203125e-4940) ; Denormal!
169 mov rax
,__float128l__
(-1.83203125e-4940) ; Denormal!
170 mov rax
,__float128h__
(-1.83203125e-4940) ; Denormal!
171 mov rax
,__float128l__
(__Infinity__
)
172 mov rax
,__float128h__
(__Infinity__
)
173 mov rax
,__float128l__
(+__Infinity__
)
174 mov rax
,__float128h__
(+__Infinity__
)
175 mov rax
,__float128l__
(-__Infinity__
)
176 mov rax
,__float128h__
(-__Infinity__
)
177 mov rax
,__float128l__
(__NaN__
)
178 mov rax
,__float128h__
(__NaN__
)
179 mov rax
,__float128l__
(__QNaN__
)
180 mov rax
,__float128h__
(__QNaN__
)
181 mov rax
,__float128l__
(__SNaN__
)
182 mov rax
,__float128h__
(__SNaN__
)
185 ; Test hexadecimal floating-point numbers
189 mov ax,__float16__
(1.0)
190 mov ax,__float16__
(0x1.0)
191 mov ax,__float16__
(2.0)
192 mov ax,__float16__
(0x2.0)
193 mov ax,__float16__
(0x1.0p
+1)
194 mov ax,__float16__
(0x1.0p
-1)
195 mov ax,__float16__
(0x0.0)
196 mov ax,__float16__
(0x1.23456789)
197 mov ax,__float16__
(0x0.123456789)
198 mov ax,__float16__
(0x0.0000123456789)
199 mov ax,__float16__
(0x1.23456789p10
)
200 mov ax,__float16__
(0x1.23456789p
+10)
201 mov ax,__float16__
(0x1.23456789p
-10)
202 mov ax,__float16__
(0x0.123456789p10
)
203 mov ax,__float16__
(0x0.123456789p
+10)
204 mov ax,__float16__
(0x0.123456789abcdef0123456789abcdef012345p
-10)
205 mov ax,__float16__
(0x0.0000123456789)
206 mov ax,__float16__
(0x0.0000123456789p
+10)
207 mov ax,__float16__
(0x0.0000123456789p
-10)
210 mov eax,__float32__
(1.0)
211 mov eax,__float32__
(0x1.0)
212 mov eax,__float32__
(2.0)
213 mov eax,__float32__
(0x2.0)
214 mov eax,__float32__
(0x1.0p
+1)
215 mov eax,__float32__
(0x1.0p
-1)
216 mov eax,__float32__
(0x0.0)
217 mov eax,__float32__
(0x1.23456789)
218 mov eax,__float32__
(0x0.123456789)
219 mov eax,__float32__
(0x0.0000123456789)
220 mov eax,__float32__
(0x1.23456789p10
)
221 mov eax,__float32__
(0x1.23456789p
+10)
222 mov eax,__float32__
(0x1.23456789p
-10)
223 mov eax,__float32__
(0x0.123456789p10
)
224 mov eax,__float32__
(0x0.123456789p
+10)
225 mov eax,__float32__
(0x0.123456789abcdef0123456789abcdef012345p
-10)
226 mov eax,__float32__
(0x0.0000123456789)
227 mov eax,__float32__
(0x0.0000123456789p
+10)
228 mov eax,__float32__
(0x0.0000123456789p
-10)
229 mov eax,__float32__
(0x123456789.0)
230 mov eax,__float32__
(0x0000123456789.0)
231 mov eax,__float32__
(0x123456789.0p
+0)
232 mov eax,__float32__
(0x123456789.0p
+64)
235 mov rax
,__float64__
(1.0)
236 mov rax
,__float64__
(0x1.0)
237 mov rax
,__float64__
(2.0)
238 mov rax
,__float64__
(0x2.0)
239 mov rax
,__float64__
(0x1.0p
+1)
240 mov rax
,__float64__
(0x1.0p
-1)
241 mov rax
,__float64__
(0x0.0)
242 mov rax
,__float64__
(0x1.23456789)
243 mov rax
,__float64__
(0x0.123456789)
244 mov rax
,__float64__
(0x0.0000123456789)
245 mov rax
,__float64__
(0x1.23456789p10
)
246 mov rax
,__float64__
(0x1.23456789p
+10)
247 mov rax
,__float64__
(0x1.23456789p
-10)
248 mov rax
,__float64__
(0x0.123456789p10
)
249 mov rax
,__float64__
(0x0.123456789p
+10)
250 mov rax
,__float64__
(0x0.123456789abcdef0123456789abcdef012345p
-10)
251 mov rax
,__float64__
(0x0.0000123456789)
252 mov rax
,__float64__
(0x0.0000123456789p
+10)
253 mov rax
,__float64__
(0x0.0000123456789p
-10)
254 mov rax
,__float64__
(0x123456789.0)
255 mov rax
,__float64__
(0x0000123456789.0)
256 mov rax
,__float64__
(0x123456789.0p
+0)
257 mov rax
,__float64__
(0x123456789.0p
+300)
260 mov rax
,__float80m__
(1.0)
261 mov ax,__float80e__
(1.0)
262 mov rax
,__float80m__
(0x1.0)
263 mov ax,__float80e__
(0x1.0)
264 mov rax
,__float80m__
(2.0)
265 mov ax,__float80e__
(2.0)
266 mov rax
,__float80m__
(0x2.0)
267 mov ax,__float80e__
(0x2.0)
268 mov rax
,__float80m__
(0x1.0p
+1)
269 mov ax,__float80e__
(0x1.0p
+1)
270 mov rax
,__float80m__
(0x1.0p
-1)
271 mov ax,__float80e__
(0x1.0p
-1)
272 mov rax
,__float80m__
(0x0.0)
273 mov ax,__float80e__
(0x0.0)
274 mov rax
,__float80m__
(0x1.23456789)
275 mov ax,__float80e__
(0x1.23456789)
276 mov rax
,__float80m__
(0x0.123456789)
277 mov ax,__float80e__
(0x0.123456789)
278 mov rax
,__float80m__
(0x0.0000123456789)
279 mov ax,__float80e__
(0x0.0000123456789)
280 mov rax
,__float80m__
(0x1.23456789p10
)
281 mov ax,__float80e__
(0x1.23456789p10
)
282 mov rax
,__float80m__
(0x1.23456789p
+10)
283 mov ax,__float80e__
(0x1.23456789p
+10)
284 mov rax
,__float80m__
(0x1.23456789p
-10)
285 mov ax,__float80e__
(0x1.23456789p
-10)
286 mov rax
,__float80m__
(0x0.123456789p10
)
287 mov ax,__float80e__
(0x0.123456789p10
)
288 mov rax
,__float80m__
(0x0.123456789p
+10)
289 mov ax,__float80e__
(0x0.123456789p
+10)
290 mov rax
,__float80m__
(0x0.123456789abcdef0123456789abcdef012345p
-10)
291 mov ax,__float80e__
(0x0.123456789abcdef0123456789abcdef012345p
-10)
292 mov rax
,__float80m__
(0x0.0000123456789)
293 mov ax,__float80e__
(0x0.0000123456789)
294 mov rax
,__float80m__
(0x0.0000123456789p
+10)
295 mov ax,__float80e__
(0x0.0000123456789p
+10)
296 mov rax
,__float80m__
(0x0.0000123456789p
-10)
297 mov ax,__float80e__
(0x0.0000123456789p
-10)
298 mov rax
,__float80m__
(0x123456789.0)
299 mov ax,__float80e__
(0x123456789.0)
300 mov rax
,__float80m__
(0x0000123456789.0)
301 mov ax,__float80e__
(0x0000123456789.0)
302 mov rax
,__float80m__
(0x123456789.0p
+0)
303 mov ax,__float80e__
(0x123456789.0p
+0)
304 mov rax
,__float80m__
(0x123456789.0p
+1024)
305 mov ax,__float80e__
(0x123456789.0p
+1024)
308 mov rax
,__float128l__
(1.0)
309 mov rax
,__float128h__
(1.0)
310 mov rax
,__float128l__
(0x1.0)
311 mov rax
,__float128h__
(0x1.0)
312 mov rax
,__float128l__
(2.0)
313 mov rax
,__float128h__
(2.0)
314 mov rax
,__float128l__
(0x2.0)
315 mov rax
,__float128h__
(0x2.0)
316 mov rax
,__float128l__
(0x1.0p
+1)
317 mov rax
,__float128h__
(0x1.0p
+1)
318 mov rax
,__float128l__
(0x1.0p
-1)
319 mov rax
,__float128h__
(0x1.0p
-1)
320 mov rax
,__float128l__
(0x0.0)
321 mov rax
,__float128h__
(0x0.0)
322 mov rax
,__float128l__
(0x1.23456789)
323 mov rax
,__float128h__
(0x1.23456789)
324 mov rax
,__float128l__
(0x0.123456789)
325 mov rax
,__float128h__
(0x0.123456789)
326 mov rax
,__float128l__
(0x0.0000123456789)
327 mov rax
,__float128h__
(0x0.0000123456789)
328 mov rax
,__float128l__
(0x1.23456789p10
)
329 mov rax
,__float128h__
(0x1.23456789p10
)
330 mov rax
,__float128l__
(0x1.23456789p
+10)
331 mov rax
,__float128h__
(0x1.23456789p
+10)
332 mov rax
,__float128l__
(0x1.23456789p
-10)
333 mov rax
,__float128h__
(0x1.23456789p
-10)
334 mov rax
,__float128l__
(0x0.123456789p10
)
335 mov rax
,__float128h__
(0x0.123456789p10
)
336 mov rax
,__float128l__
(0x0.123456789p
+10)
337 mov rax
,__float128h__
(0x0.123456789p
+10)
338 mov rax
,__float128l__
(0x0.123456789abcdef0123456789abcdef012345p
-10)
339 mov rax
,__float128h__
(0x0.123456789abcdef0123456789abcdef012345p
-10)
340 mov rax
,__float128l__
(0x0.0000123456789)
341 mov rax
,__float128h__
(0x0.0000123456789)
342 mov rax
,__float128l__
(0x0.0000123456789p
+10)
343 mov rax
,__float128h__
(0x0.0000123456789p
+10)
344 mov rax
,__float128l__
(0x0.0000123456789p
-10)
345 mov rax
,__float128h__
(0x0.0000123456789p
-10)
346 mov rax
,__float128l__
(0x123456789.0)
347 mov rax
,__float128h__
(0x123456789.0)
348 mov rax
,__float128l__
(0x0000123456789.0)
349 mov rax
,__float128h__
(0x0000123456789.0)
350 mov rax
,__float128l__
(0x123456789.0p
+0)
351 mov rax
,__float128h__
(0x123456789.0p
+0)
352 mov rax
,__float128l__
(0x123456789.0p
+1024)
353 mov rax
,__float128h__
(0x123456789.0p
+1024)