sergei
|
f69f6336e9
* Replaced hacks with resetting 'c' to zero and decreasing inputpointer by boolean parameter to skipcomment and skipoldtpcomment. This parameter specifies whether first character of comment should be read.
|
9 gadi atpakaļ |
sergei
|
bbfbab7e0c
* Moved handling of comments and line breaks in assembler blocks from scanner to tokenizer level. Handling them at character level was causing compiler to accept comments in the middle of any assembler token, which should never happen. It was also causing Mantis #27459: a newline immediately after closing 'end' token was first handled in asmgetchar and then by normal parser, causing all subsequent line numbering to be off by one.
|
9 gadi atpakaļ |
Jonas Maebe
|
fd0c2f36e5
* don't parse "flags" as a register name in the Intel assembler reader
|
9 gadi atpakaļ |
nickysn
|
a553b15a1c
+ handle properly inline asm segment constants different than word:
|
9 gadi atpakaļ |
nickysn
|
606b64a7f1
* fixed indentation
|
9 gadi atpakaļ |
nickysn
|
3b80ca4376
+ implemented the 'SEG @CODE' inline assembler directive for i8086
|
9 gadi atpakaļ |
nickysn
|
995ca4fb12
+ implemented the 'SEG @DATA' inline assembler directive for i8086
|
9 gadi atpakaļ |
nickysn
|
43dabca8ab
* moved the handling of the @Code and @Data inline assembler symbols to new methods Tx86operand.SetupCode and .SetupData
|
9 gadi atpakaļ |
nickysn
|
ca24b006ef
+ support 'dw SEG symbol' in the inline assembler on i8086
|
9 gadi atpakaļ |
nickysn
|
2e30b92c79
* removed the 'near ignored' and 'far ignored' inline asm warning messages on
|
9 gadi atpakaļ |
nickysn
|
9e110e8e7e
* treat interrupt procedures as 'near' in the i8086 inline assembler for TP7
|
9 gadi atpakaļ |
nickysn
|
dd9e5ea6f6
* convert 'call/jmp [proc]' properly to a near or far call/jmp, depending on
|
9 gadi atpakaļ |
nickysn
|
ed09b4fcaa
* in i8086 inline asm, convert 'call/jmp [proc/label]' to 'call/jmp proc/label'.
|
9 gadi atpakaļ |
nickysn
|
77159d2806
+ also add a cs: prefix to references such as [2+label]
|
9 gadi atpakaļ |
nickysn
|
823deb39ac
+ also add an implicit cs: prefix on i8086 in tx86intreader.BuildOperand.AddLabelOperand
|
9 gadi atpakaļ |
nickysn
|
92a39c93f5
+ add a CS: override for references without an explicitly set segment override, which are relative to a function entry point
|
9 gadi atpakaļ |
nickysn
|
ef5e368327
+ support local label data access in the i8086 inline asm (fixes test tlbldat1.pp)
|
9 gadi atpakaļ |
nickysn
|
dc6119bab7
* also convert 'jmp farprocsymbol' to 'jmp far farprocsymbol' in the i8086
|
9 gadi atpakaļ |
nickysn
|
cb36b2d3bd
* i8086 inline asm: convert 'call symbol' to 'call far symbol' only for symbols
|
9 gadi atpakaļ |
nickysn
|
c068c96302
* on i8086 convert the 'ret' inline asm instruction to either 'retn' or 'retf',
|
9 gadi atpakaļ |
nickysn
|
b3c2765da9
* on i8086, for BP7 compatibility, assemble 'call/jmp dword [ref]' as a far call
|
10 gadi atpakaļ |
nickysn
|
e9c790f4eb
+ support 'SEG' in the i8086 inline assembler
|
10 gadi atpakaļ |
Jonas Maebe
|
3be51e1455
* fixed endless recursion in tabstractrecorddef.contains_float_field() in
|
10 gadi atpakaļ |
florian
|
d6e4af8279
+ applied remaining patches of Torsten Grundke: adds gather instructions of avx2
|
10 gadi atpakaļ |
sergei
|
475a9e1617
* Asm readers: allow using procedure symbols in references, resolves #22376.
|
10 gadi atpakaļ |
sergei
|
42d251da1c
- x86 assembler readers: cleaned out operand swapping code. Operands of TInstruction are kept in AT&T order, Intel reader attaches operands right-to-left. It was effectively the same way before the change (except Intel reader attaching operands left-to-right, followed by a single swap), operand order checks all over the place were just reducing readability.
|
10 gadi atpakaļ |
sergei
|
de42f2f2f7
* Fixed handling of sign in constant expressions in Intel x86 assembler reader. Mantis #26668.
|
11 gadi atpakaļ |
nickysn
|
9b560ffd64
* x86 intel syntax inline asm: allow a segment override (segcs,segds,seges,etc.)
|
11 gadi atpakaļ |
sergei
|
e7cd5319f0
* Put under {$ifndef x86_64} more cases of instructions that do not exist in 64-bit mode.
|
11 gadi atpakaļ |
sergei
|
5c48804240
* Moved local label infrastructure into tasmreader, reduces number of global vars. Functionality is not changed.
|
11 gadi atpakaļ |