Subversion Repositories Kolibri OS

Rev

Rev 1363 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2665 dunkaist 1
 
2
3
 
4
 
5
6
 
7
    address expressions to cause an error prematurely during the
8
    parsing stage.
9
10
 
11
 
12
13
 
14
    FMA4, XOP, MOVBE, BMI, TBM, INVPCID, HLE and RTM instruction sets.
15
16
 
17
18
 
19
    to be calculated by preprocessor in its arguments.
20
21
 
22
23
 
24
25
 
26
    "format ELF executable" setting.
27
28
 
29
    special segments in ELF executables.
30
31
 
32
    generated with "qword" keyword inside square brackets.
33
34
 
35
36
 
37
    In such case it contains only the preprocessed source that can be extracted
38
    with PREPSRC tool. If error occured during preprocessing, only the source up
39
    to the point of error is provided.
40
41
 
42
43
 
44
    state from the final assembly pass.
45
46
 
47
48
 
49
    context of formatter directives, and thus are no longer disallowed as
50
    labels.
51
52
 
53
    symbol followed by value after the argument name in definition.
54
55
 
56
    to test whether two values differ only by a constant and not relocatable
57
    amount.
58
59
 
60
    calculations in signed and unsigned ranges in full 64-bit. This fixes
61
    a number of issues - the overflow will now be correctly detected for
62
    64-bit values in cases, where previous versions could not distinguish
63
    whether it was an overflow or not. The effect of these corrections is
64
    that "dq" directive will now behave consistently with behavior of the
65
    data directives for smaller sizes, and the same applies to all the
66
    places where "qword" size for value is used.
67
68
 
69
 
70
71
 
72
73
 
74
75
 
76
    64-bit variants of respective instructions.
77
78
 
79
    mnemonics to allow choosing between 16-bit and 32-bit variants of
80
    structures used by the "fstenv", "fsave" and "frstor" instructions.
81
82
 
83
84
 
85
    added "static" keyword for the "public" directive.
86
87
 
88
89
 
90
    should be used, depending on whether the fixups directory is placed
91
    somewhere into executable by programer, or not. This makes possible the
92
    more flexible use of the addressing symbols in case of PE executable fixed
93
    at some position.
94
95
 
96
    64-bit object formats and PE executable. This makes some specific
97
    instructions compilable, but it also forces linker to put such
98
    generated code into the low 2 gigabytes of addressing space.
99
100
 
101
102
 
103
    The symbol escaping now has always the higher priority than symbol conversion,
104
    and both have higher precedence than concatenation.
105
106
 
107
108
 
109
    placed at the end of the "format" directive line.
110
111
 
112
    is no longer allowed.
113
114
 
115
    to help improve long numbers readability.
116
117
 
118
    various kinds of information from it.
119
120
 
121
122
 
123
 
124
125
 
126
    the same kind as "equ" directive, however there's an important difference
127
    that "define" doesn't process symbolic constants in the value before
128
    assigning it. For example:
129
130
 
131
        a equ a+a
132
133
 
134
        define b b+b
135
136
 
137
    value "b+b". This directive may be useful in some advanced
138
    macroinstructions.
139
140
 
141
    for slightly better performance and lesser memory usage by assembler.
142
    The logical values defined with "eq", "eqtype" and "in" operators are now
143
    evaluated by the parser and if they are enough to determine the condition,
144
    the whole block is processed accordingly. Thus this block:
145
146
 
147
                nop
148
        end if
149
150
 
151
    that the condition is true, even though one of the logical values makes no
152
    sense - but since this is none of the "eq", "eqtype" and "in" expressions,
153
    the parser doesn't investigate.
154
155
 
156
    needs to determine the condition. So this block:
157
158
 
159
160
 
161
162
 
163
    versions. This is because after checking that "defined alpha" is false
164
    condition it doesn't need to know the second logical value to determine the
165
    value of conjunction.
166
167
 
168
    obsolete and no longer correct - use "jmp short" instead.
169
170
 
171
    displacement - now it applies to the size of target address.
172
173
 
174
    unless you force using the 16-bit immediate with "word" operator.
175
176
 
177
178
 
179
180
 
181
    when making position-independent code for shared libraries. For any label
182
    you can get its offset relative to GOT by preceding it with "rva" operator
183
    (the same keyword as for PE format is used, to avoid adding a new one,
184
    while this one has very similar meaning).
185
186
 
187
    to make the distinction between the run-time segments and linkable
188
    sections. If you had a "section" directive in your ELF executables and they
189
    no longer assemble, replace it with "segment".
190
191
 
192
    even when there are no fixups to be put there (in such case it creates the
193
    directory with one empty block).
194
195
 
196
    possibility of making extensive symbol dumps.
197
198
 
199
    prioritized constant.
200
201
 
202
    string it simply does nothing. Thus the sequence of ` operators applied to
203
    one symbol work the same as if there was just one. In similar manner, the
204
    sequence of # operators now works as if it was a single one - using such a
205
    sequence instead of escaping, which was kept for some backward
206
    compatibility, is now deprecated.
207
208
 
209
    incorrectly interpreted as data definition).
210
211
 
212
213
 
214
 
215
216
 
217
    setting).
218
219
 
220
221
 
222
223
 
224
225
 
226
    must always fit in the range of signed 64 integer now.
227
228
 
229
    as a second addressing register - fixed.
230
231
 
232
233
 
234
    wrongly signaled - fixed.
235
236
 
237
238
 
239
 
240
241
 
242
243
 
244
    (with "format MS64 COFF" setting).
245
246
 
247
248
 
249
250
 
251
252
 
253
    label.
254
255
 
256
    than one resource of the same string name, the separate resource
257
    directories were created with the same names - fixed.
258
259
 
260
261
 
262
263
 
264
    macros to be processed the wrong way.
265