NASM 2.13rc17
[nasm.git] / test / float.asm
blob88519b2ee67123d1df406398fb0f319b39f35b82
1 ;Testname=unoptimized; Arguments=-O0 -fbin -ofloat.bin; Files=stdout stderr float.bin
2 ;Testname=optimized; Arguments=-Ox -fbin -ofloat.bin; Files=stdout stderr float.bin
5 ; Test of floating-point formats
8 ; 8-bit
9 db 1.0
10 db +1.0
11 db -1.0
12 db 1.5
13 db +1.5
14 db -1.5
15 db 0.0
16 db +0.0
17 db -0.0
18 db 1.83203125
19 db +1.83203125
20 db -1.83203125
21 db 1.83203125e1
22 db +1.83203125e1
23 db -1.83203125e1
24 db 1.83203125e-1
25 db +1.83203125e-1
26 db -1.83203125e-1
27 db 1.13203125e-2 ; Denormal!
28 db +1.13203125e-2 ; Denormal!
29 db -1.13203125e-2 ; Denormal!
30 db __Infinity__
31 db +__Infinity__
32 db -__Infinity__
33 db __NaN__
34 db __QNaN__
35 db __SNaN__
36 db 3.1415926535_8979323846_2643383279_5028841971_6939937510_5
38 ; 16-bit
39 dw 1.0
40 dw +1.0
41 dw -1.0
42 dw 1.5
43 dw +1.5
44 dw -1.5
45 dw 0.0
46 dw +0.0
47 dw -0.0
48 dw 1.83203125
49 dw +1.83203125
50 dw -1.83203125
51 dw 1.83203125e3
52 dw +1.83203125e3
53 dw -1.83203125e3
54 dw 1.83203125e-3
55 dw +1.83203125e-3
56 dw -1.83203125e-3
57 dw 1.83203125e-6 ; Denormal!
58 dw +1.83203125e-6 ; Denormal!
59 dw -1.83203125e-6 ; Denormal!
60 dw __Infinity__
61 dw +__Infinity__
62 dw -__Infinity__
63 dw __NaN__
64 dw __QNaN__
65 dw __SNaN__
66 dw 3.1415926535_8979323846_2643383279_5028841971_6939937510_5
68 ; 32-bit
69 dd 1.0
70 dd +1.0
71 dd -1.0
72 dd 1.5
73 dd +1.5
74 dd -1.5
75 dd 0.0
76 dd +0.0
77 dd -0.0
78 dd 1.83203125
79 dd +1.83203125
80 dd -1.83203125
81 dd 1.83203125e15
82 dd +1.83203125e15
83 dd -1.83203125e15
84 dd 1.83203125e-15
85 dd +1.83203125e-15
86 dd -1.83203125e-15
87 dd 1.83203125e-40 ; Denormal!
88 dd +1.83203125e-40 ; Denormal!
89 dd -1.83203125e-40 ; Denormal!
90 dd __Infinity__
91 dd +__Infinity__
92 dd -__Infinity__
93 dd __NaN__
94 dd __QNaN__
95 dd __SNaN__
96 dd 3.1415926535_8979323846_2643383279_5028841971_6939937510_5
98 ; 64-bit
99 dq 1.0
100 dq +1.0
101 dq -1.0
102 dq 1.5
103 dq +1.5
104 dq -1.5
105 dq 0.0
106 dq +0.0
107 dq -0.0
108 dq 1.83203125
109 dq +1.83203125
110 dq -1.83203125
111 dq 1.83203125e300
112 dq +1.83203125e300
113 dq -1.83203125e300
114 dq 1.83203125e-300
115 dq +1.83203125e-300
116 dq -1.83203125e-300
117 dq 1.83203125e-320 ; Denormal!
118 dq +1.83203125e-320 ; Denormal!
119 dq -1.83203125e-320 ; Denormal!
120 dq __Infinity__
121 dq +__Infinity__
122 dq -__Infinity__
123 dq __NaN__
124 dq __QNaN__
125 dq __SNaN__
126 dq 3.1415926535_8979323846_2643383279_5028841971_6939937510_5
128 ; 80-bit
129 dt 1.0
130 dt +1.0
131 dt -1.0
132 dt 1.5
133 dt +1.5
134 dt -1.5
135 dt 0.0
136 dt +0.0
137 dt -0.0
138 dt 1.83203125
139 dt +1.83203125
140 dt -1.83203125
141 dt 1.83203125e+4000
142 dt +1.83203125e+4000
143 dt -1.83203125e+4000
144 dt 1.83203125e-4000
145 dt +1.83203125e-4000
146 dt -1.83203125e-4000
147 dt 1.83203125e-4940 ; Denormal!
148 dt +1.83203125e-4940 ; Denormal!
149 dt -1.83203125e-4940 ; Denormal!
150 dt __Infinity__
151 dt +__Infinity__
152 dt -__Infinity__
153 dt __NaN__
154 dt __QNaN__
155 dt __SNaN__
156 dt 3.1415926535_8979323846_2643383279_5028841971_6939937510_5
158 ; 128-bit
159 do 1.0
160 do +1.0
161 do -1.0
162 do 1.5
163 do +1.5
164 do -1.5
165 do 0.0
166 do +0.0
167 do -0.0
168 do 1.83203125
169 do +1.83203125
170 do -1.83203125
171 do 1.83203125e+4000
172 do +1.83203125e+4000
173 do -1.83203125e+4000
174 do 1.83203125e-4000
175 do +1.83203125e-4000
176 do -1.83203125e-4000
177 do 1.83203125e-4940 ; Denormal!
178 do +1.83203125e-4940 ; Denormal!
179 do -1.83203125e-4940 ; Denormal!
180 do __Infinity__
181 do +__Infinity__
182 do -__Infinity__
183 do __NaN__
184 do __QNaN__
185 do __SNaN__
186 do 3.1415926535_8979323846_2643383279_5028841971_6939937510_5