|
@@ -0,0 +1,25 @@
|
|
|
|
+{ %cpu=i386 }
|
|
|
|
+
|
|
|
|
+{ Source provided for Free Pascal Bug Report 3863 }
|
|
|
|
+{ Submitted by "Jernej" on 2005-04-01 }
|
|
|
|
+{ e-mail: [email protected] }
|
|
|
|
+
|
|
|
|
+{$mode delphi}
|
|
|
|
+
|
|
|
|
+function FormatBuf(var Buffer; BufLen: Cardinal; const Format;
|
|
|
|
+ FmtLen: Cardinal; const Args: array of const): Cardinal;
|
|
|
|
+asm
|
|
|
|
+CMP EAX,Args.Integer[-4] // -> "error building record offset"
|
|
|
|
+CMP [EBX+EAX*8].Byte[4],vtInteger // -> error: assembler error in operand
|
|
|
|
+CMP EBX,Args.Integer[-4] // -> "error building record offset"
|
|
|
|
+MOVZX EBX,[ESI].Byte[4] // -> error: assembler error in operand
|
|
|
|
+JMP @CvtVector.Pointer[EBX*4] // "error: assembler syntax error"
|
|
|
|
+@CvtVector:
|
|
|
|
+ DD 0
|
|
|
|
+ DD 0
|
|
|
|
+ DD 0
|
|
|
|
+ DD 0
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+begin
|
|
|
|
+end.
|