summaryrefslogtreecommitdiff
path: root/fpcsrc/tests/webtbs/tw3863.pp
blob: 4a97d9300221f1b7aa89953030ac1dfe8ca477d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{ %cpu=i386 }
{ %opt=-Cg- }

{ Source provided for Free Pascal Bug Report 3863 }
{ Submitted by "Jernej" on  2005-04-01 }
{ e-mail: jernejcoder@gmail.com }

{$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.