Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1053 heavyiron 1
 
2
3
 
4
 
5
6
 
7
8
 
9
10
 
11
 
12
13
 
14
15
 
16
 
17
18
 
19
20
 
21
 
22
23
 
24
    to help improve long numbers readability.
25
26
 
27
 
28
29
 
30
    and corrected denormal numbers generation.
31
32
 
33
 
34
35
 
36
37
 
38
39
 
40
41
 
42
 
43
44
 
45
    various kinds of information from it.
46
47
 
48
49
 
50
    used as prioritized symbolic constant name.
51
52
 
53
 
54
55
 
56
    feature, still needs to be tested).
57
58
 
59
    output in some cases.
60
61
 
62
63
 
64
65
 
66
 
67
68
 
69
    assembled when requiring 67h prefix and provided with "$" operand.
70
71
 
72
    is no longer allowed.
73
74
 
75
    count is zero.
76
77
 
78
79
 
80
    executable contains the round 512 bytes.
81
82
 
83
 
84
85
 
86
    in the next releases)
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
    placed at the end of the "format" directive line.
118
119
 
120
    caused assembler to crash.
121
122
 
123
    in place of memory operands.
124
125
 
126
    the CALL instruction.
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
    The symbol escaping now has always the higher priority than symbol conversion,
157
    and both have higher precedence than concatenation.
158
159
 
160
    values containing round brackets with the EQ or EQTYPE operator.
161
    The only limitation now is that when you use round brackets to enclose some
162
    logical expressions, they must be paired everywhere inside those expressions.
163
164
 
165
 
166
167
 
168
169
 
170
 
171
172
 
173
174
 
175
 
176
177
 
178
179
 
180
 
181
182
 
183
184
 
185
    addressings.
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
    [qword eax] to be accepted.
216
217
 
218
 
219
220
 
221
    many embedded macros were placed in one line
222
223
 
224
225
 
226
 
227
228
 
229
    variants of respective instructions.
230
231
 
232
    This should make it easier to decide when to use the -m switch.
233
234
 
235
 
236
237
 
238
239
 
240
 
241
242
 
243
244
 
245
246
 
247
 
248
249
 
250
251
 
252
 
253
254
 
255
    object.
256
257
 
258
 
259
260
 
261
262
 
263
 
264
265
 
266
    should be used, depending on whether the fixups directory is placed
267
    somewhere into executable by programer, or not. This makes possible the
268
    more flexible use of the addressing symbols in case of PE executable fixed
269
    at some position.
270
271
 
272
    64-bit object formats. This makes some specific instructions compilable,
273
    but it also forces linker to put such generated code into the low 2
274
    gigabytes of addressing space.
275
276
 
277
 
278
279
 
280
    the same kind as EQU directive, however there's an important difference
281
    that DEFINE doesn't process symbolic constants in the value before
282
    assigning it. For example:
283
284
 
285
        a equ a+a
286
287
 
288
        define b b+b
289
290
 
291
    value "b+b". This directive may be useful in some advanced
292
    macroinstructions.
293
294
 
295
    for slightly better performance and lesser memory usage by assembler.
296
    The logical values defined with "eq", "eqtype" and "in" operators are now
297
    evaluated by the parser and if they are enough to determine the condition,
298
    the whole block is processed accordingly. Thus this block:
299
300
 
301
                nop
302
        end if
303
304
 
305
    that the condition is true, even though one of the logical values makes no
306
    sense - but since this is none of the "eq", "eqtype" and "in" expressions,
307
    the parser doesn't investigate.
308
309
 
310
    needs to determine the condition. So this block:
311
312
 
313
314
 
315
316
 
317
    versions. This is because after checking that "defined alpha" is false
318
    condition it doesn't need to know the second logical value to determine the
319
    value of conjunction.
320
321
 
322
    obsolete and no longer correct - use "jmp short" instead.
323
324
 
325
    displacement - now it applies to the size of target address.
326
327
 
328
    unless you force using the 16-bit immediate with "word" operator.
329
330
 
331
332
 
333
334
 
335
    when making position-independent code for shared libraries. For any label
336
    you can get its offset relative to GOT by preceding it with "rva" operator
337
    (the same keyword as for PE format is used, to avoid adding a new one,
338
    while this one has very similar meaning).
339
340
 
341
    to make the distinction between the run-time segments and linkable
342
    sections. If you had a "section" directive in your ELF executables and they
343
    no longer assemble, replace it with "segment".
344
345
 
346
    even when there are no fixups to be put there (in such case it creates the
347
    directory with one empty block).
348
349
 
350
    possibility of making extensive symbol dumps.
351
352
 
353
    prioritized constant.
354
355
 
356
    string it simply does nothing. Thus the sequence of ` operators applied to
357
    one symbol work the same as if there was just one. In similar manner, the
358
    sequence of # operators now works as if it was a single one - using such a
359
    sequence instead of escaping, which was kept for some backward
360
    compatibility, is now deprecated.
361
362
 
363
    incorrectly interpreted as data definition).
364
365
 
366
367
 
368
 
369
370
 
371
    setting).
372
373
 
374
375
 
376
377
 
378
379
 
380
    must always fit in the range of signed 64 integer now.
381
382
 
383
    as a second addressing register - fixed.
384
385
 
386
387
 
388
    wrongly signaled - fixed.
389
390
 
391
392
 
393
 
394
395
 
396
397
 
398
    (with "format MS64 COFF" setting).
399
400
 
401
402
 
403
404
 
405
406
 
407
    label.
408
409
 
410
    than one resource of the same string name, the separate resource
411
    directories were created with the same names - fixed.
412
413
 
414
415
 
416
417
 
418
    macros to be processed the wrong way.
419