Prechádzať zdrojové kódy

Fixed error position of invalid instructions

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7519 8c9fc860-2736-0410-a75d-ab315db34111
negelef 7 rokov pred
rodič
commit
20cb02c46d
1 zmenil súbory, kde vykonal 3 pridanie a 0 odobranie
  1. 3 0
      source/FoxAMD64Assembler.Mod

+ 3 - 0
source/FoxAMD64Assembler.Mod

@@ -1704,6 +1704,7 @@ TYPE
 
 			PROCEDURE GetInstruction (): BOOLEAN;
 			VAR
+				position: Basic.Position;
 				mnem, opCount: LONGINT;
 				size: Size;
 				operands: ARRAY InstructionSet.maxNumberOperands OF Operand;
@@ -1713,6 +1714,7 @@ TYPE
 				i: LONGINT;
 				type: SHORTINT;
 			BEGIN
+				position := errPos;
 				mnem := InstructionSet.FindMnemonic (ident);
 				IF mnem = InstructionSet.none THEN
 					ErrorSS("unkown instruction",idents);
@@ -1900,6 +1902,7 @@ TYPE
 
 				AdaptOperandSizes(operands);
 
+				errPos := position;
 				IF ~emitter.EmitInstruction (mnem, operands, pass = maxPasses) THEN
 					RETURN FALSE;
 				END;