/
WHATSNEW.TXT
346 lines (298 loc) · 7.95 KB
/
WHATSNEW.TXT
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
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
Visit http://flatassembler.net/ for more information
version 1.60
[12-03-2005]
------------
[+] x86-64 long mode instructions added
[+] added ELF64 output format
[+] added $$ symbol
[-] revised symbol table management in parser and preprocessor
[-] no entry point by default in PE DLL
version 1.58
[12-02-2005]
------------
[+] more strict checking of operands for few instructions
[+] documentation updates
version 1.57
[19-01-2005]
------------
[-] cleanups and bugfixes
version 1.56
[27-09-2004]
------------
[+] another small update of documentation
[-] internals cleanup
version 1.55
[12-09-2004]
------------
[+] support for multiple concatenation symbol added
[+] updated documentation (sections concerning preprocessor directives)
[+] some error messages improved
version 1.54
[04-08-2004]
------------
[+] commands allowed in the same line after end of macro definition
[+] automatic generation of output file name addded to formatter
[+] allowed public aliases of external symbols with MS COFF format
[-] fixed "defined" to return true only for accessible symbols
[-] improved label resolving algorithms
version 1.53
[22-07-2004]
------------
[+] floating point values allowed as address fields
[-] fixed the MZ stub bug in PE formatter
[-] fixed the section linking in ELF executable formatter
[-] fixed the "movsldup xmm,xmm" problem
version 1.52
[03-04-2004]
------------
[+] more than 65535 relocations per section with MS COFF format
[+] smarter searching for included files
[+] added "store" directive
[-] cleaned syntax of "load" directive (only loading from code allowed)
[-] floating point values starting with dot no longer allowed
[-] "clflush" fixed to accept byte operand
version 1.51
[31-01-2004]
------------
[+] added SSE3 instructions
[-] speed improvements
version 1.50
[08-12-2003]
------------
[+] added alignment features
[+] added resource linking to PE formatter
[+] added ` operator
[+] added %t symbol
[-] behaviour of "defined" operator changed a bit
[-] several formatter revisions
version 1.49
[16-09-2003]
------------
[+] better error information for macro-generated lines
[+] support for test registers
[+] "fix" constant redefinition improved for speed
[+] some improvements for PE formatter
[-] several small fixes
version 1.48
[24-07-2003]
------------
[+] added "fix" directive
[-] fixed small bug with symbolic constants
version 1.47
[28-06-2003]
------------
[+] added some rare instructions
[-] changed program exit codes
[-] changed memory allocation for Win32 console version
version 1.46
[09-04-2003]
------------
[-] several little fixes
version 1.45
[09-02-2003]
------------
[+] checking any expression with "defined" operator allowed
[-] less strict intermediate passes
[-] major code cleanup
version 1.44
[19-01-2003]
------------
[+] added "eqtype" operator
[-] fixed cache waste in label parser
version 1.43
[30-12-2002]
------------
[+] introduced ELF output format
[+] extended "public" and "extrn" syntax
[+] allowed macro arguments containing commas (enclosed with "<" and ">")
[+] added some more missing instructions and syntax options
[-] label hashing corrected
[-] formatter revised once again
version 1.42
[05-12-2002]
------------
[+] improved optimization algorithms
version 1.41
[14-11-2002]
------------
[+] new documentation
[+] added AMD 3DNow! instructions
[+] added missing syntax options for some FPU and MMX instructions
[+] added "defined" and "used" operators
[-] parser algorithms corrected
version 1.40
[28-08-2002]
------------
[+] added "restore" directive
[+] concatenations processed before symbolic constants now
[+] timestamps generated for COFF and PE
[+] custom base of PE image allowed
[+] added support for anonymous labels
[+] "load" directive extended for code loading
[+] environment variables in paths allowed
[-] concatenations allowed in macroinstructions only
version 1.39
[08-07-2002]
------------
[+] introduced COFF output format
[+] automatic uinitialized data section marking
[+] relocatable symbols support improved
[+] added missing syntax for "test" instruction
[+] added missing "df" and "rf" symbols
[-] "label" directive bugs fixed
version 1.37
[12-06-2002]
------------
[+] introduced Linux version
[-] minor fixes
version 1.36
[22-05-2002]
------------
[+] "ptr" operator for addressing allowed
version 1.35
[06-05-2002]
------------
[-] fixed more bugs in number parser
version 1.34
[19-04-2002]
------------
[+] case insensitive mnemonics
[+] symbols concatenation operator added
[-] number parser improved
version 1.33
[07-04-2002]
------------
[+] added support for pascal-style hexadecimal numbers
[-] large 64-bit decimal numbers bug fixed
version 1.32
[06-03-2002]
------------
[+] changed memory management for Win32
[+] Mandelbrot example added
[-] fixed scientific notation support for case insensitive version
version 1.31
[04-02-2002]
------------
[+] updated includes in Win32 examples
[+] expression parser slightly improved
[-] fixed bugs with "bound" and "bswap" instructions
[-] fixed "fsub" and "fdiv" bugs
version 1.30
[18-01-2002]
------------
[+] custom stub allowed for PE format
[+] common fasm executable for DOS and Win32
[-] preprocessor completely rewritten
[-] parser revised
[-] assembler structures handling improved
[-] PE formatter revised
[-] fixups in PE generated only if declared
version 1.20
[16-12-2001]
------------
[+] full SSE2 instructions support
[+] SIB addresses allowed for virtual data
[+] directives for macro parts definition
[+] allowed pure logical values
[+] fixed display directive to work with error messages
[-] segment prefixes only if necessary
[-] removed short form size overrides
version 1.14
[17-10-2001]
------------
[+] partial SSE2 instructions support
[-] "display" directive revised
[-] parsing instruction preceded by a colon fixed
[-] "eq" operator for logical expressions
version 1.13
[27-08-2001]
------------
[+] added "display" directive
[+] added "data" directive for PE format
[-] string and number parsing revised
[-] far jumps processing revised
[-] aligned assembler data for faster access
[-] "cmov" register to register fixed
[-] list of preprocessor directives fixed
[-] expression calculator bugs fixed
version 1.12
[30-06-2001]
------------
[+] better Win32 examples
[+] added "load" directive
[+] improved locals counter
version 1.11
[25-06-2001]
------------
[+] allowed double quotes to define strings
[-] fixed constant definition bugs
version 1.10
[22-03-2001]
------------
[+] SSE instructions support
[+] added some missed FPU instructions
version 1.09
[04-01-2001]
------------
[-] fixed macros redefinition
[-] fixed some bugs with segment registers
[-] changed optimization methods
version 1.08
[16-11-2000]
------------
[+] added missed "retn" instruction
[-] fixed some bugs with "mov" and "arpl" instructions
version 1.07
[07-10-2000]
------------
[+] octal constants now supported
[+] subsystem version setting for PE
[+] "in" - symbol comparing operator added
[+] allowed "virtual" directive without any arguments
[-] PE header size bug fixed
[-] some minor fixes and improvements
version 1.06
[23-08-2000]
------------
[+] "struc" directive instead of labeled macros
version 1.05
[16-08-2000]
------------
[-] fixed some bugs with PE format
[+] numeric constants redefinition allowed
[+] labeled macroinstructions
version 1.04
[10-08-2000]
------------
[+] PE output format support
[+] Win32 version of fasm executable
[+] advanced macroinstructions
[+] floating point data allowed
[-] changed hexadecimal numbers format to standard
[-] many other fixes and improvements
version 1.03
[19-07-2000]
------------
[+] allowed empty labels to separate local symbols
[-] more bugs fixed
version 1.02
[06-07-2000]
------------
[+] some documentation changes
[-] minor bugs fixed
version 1.01
[01-07-2000]
------------
[-] fixed bug in MZ header generator
version 1.00
[19-06-2000]
------------
[+] first official release
version 0.90
[04-05-1999]
------------
[+] first version able to recompile itself
version 0.00
[23-03-1999]
------------
[+] flat assembler project was started at 14:24:33