Commit History

Autor SHA1 Mensaxe Data
  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. %!s(int64=9) %!d(string=hai) anos
  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. %!s(int64=9) %!d(string=hai) anos
  Jonas Maebe fd0c2f36e5 * don't parse "flags" as a register name in the Intel assembler reader %!s(int64=9) %!d(string=hai) anos
  nickysn a553b15a1c + handle properly inline asm segment constants different than word: %!s(int64=9) %!d(string=hai) anos
  nickysn 606b64a7f1 * fixed indentation %!s(int64=9) %!d(string=hai) anos
  nickysn 3b80ca4376 + implemented the 'SEG @CODE' inline assembler directive for i8086 %!s(int64=9) %!d(string=hai) anos
  nickysn 995ca4fb12 + implemented the 'SEG @DATA' inline assembler directive for i8086 %!s(int64=9) %!d(string=hai) anos
  nickysn 43dabca8ab * moved the handling of the @Code and @Data inline assembler symbols to new methods Tx86operand.SetupCode and .SetupData %!s(int64=9) %!d(string=hai) anos
  nickysn ca24b006ef + support 'dw SEG symbol' in the inline assembler on i8086 %!s(int64=9) %!d(string=hai) anos
  nickysn 2e30b92c79 * removed the 'near ignored' and 'far ignored' inline asm warning messages on %!s(int64=9) %!d(string=hai) anos
  nickysn 9e110e8e7e * treat interrupt procedures as 'near' in the i8086 inline assembler for TP7 %!s(int64=9) %!d(string=hai) anos
  nickysn dd9e5ea6f6 * convert 'call/jmp [proc]' properly to a near or far call/jmp, depending on %!s(int64=9) %!d(string=hai) anos
  nickysn ed09b4fcaa * in i8086 inline asm, convert 'call/jmp [proc/label]' to 'call/jmp proc/label'. %!s(int64=9) %!d(string=hai) anos
  nickysn 77159d2806 + also add a cs: prefix to references such as [2+label] %!s(int64=9) %!d(string=hai) anos
  nickysn 823deb39ac + also add an implicit cs: prefix on i8086 in tx86intreader.BuildOperand.AddLabelOperand %!s(int64=9) %!d(string=hai) anos
  nickysn 92a39c93f5 + add a CS: override for references without an explicitly set segment override, which are relative to a function entry point %!s(int64=9) %!d(string=hai) anos
  nickysn ef5e368327 + support local label data access in the i8086 inline asm (fixes test tlbldat1.pp) %!s(int64=9) %!d(string=hai) anos
  nickysn dc6119bab7 * also convert 'jmp farprocsymbol' to 'jmp far farprocsymbol' in the i8086 %!s(int64=9) %!d(string=hai) anos
  nickysn cb36b2d3bd * i8086 inline asm: convert 'call symbol' to 'call far symbol' only for symbols %!s(int64=9) %!d(string=hai) anos
  nickysn c068c96302 * on i8086 convert the 'ret' inline asm instruction to either 'retn' or 'retf', %!s(int64=9) %!d(string=hai) anos
  nickysn b3c2765da9 * on i8086, for BP7 compatibility, assemble 'call/jmp dword [ref]' as a far call %!s(int64=10) %!d(string=hai) anos
  nickysn e9c790f4eb + support 'SEG' in the i8086 inline assembler %!s(int64=10) %!d(string=hai) anos
  Jonas Maebe 3be51e1455 * fixed endless recursion in tabstractrecorddef.contains_float_field() in %!s(int64=10) %!d(string=hai) anos
  florian d6e4af8279 + applied remaining patches of Torsten Grundke: adds gather instructions of avx2 %!s(int64=10) %!d(string=hai) anos
  sergei 475a9e1617 * Asm readers: allow using procedure symbols in references, resolves #22376. %!s(int64=10) %!d(string=hai) anos
  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. %!s(int64=10) %!d(string=hai) anos
  sergei de42f2f2f7 * Fixed handling of sign in constant expressions in Intel x86 assembler reader. Mantis #26668. %!s(int64=11) %!d(string=hai) anos
  nickysn 9b560ffd64 * x86 intel syntax inline asm: allow a segment override (segcs,segds,seges,etc.) %!s(int64=11) %!d(string=hai) anos
  sergei e7cd5319f0 * Put under {$ifndef x86_64} more cases of instructions that do not exist in 64-bit mode. %!s(int64=11) %!d(string=hai) anos
  sergei 5c48804240 * Moved local label infrastructure into tasmreader, reduces number of global vars. Functionality is not changed. %!s(int64=11) %!d(string=hai) anos