| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- { %cpu=i386 }
- { Source provided for Free Pascal Bug Report 2158 }
- { Submitted by "Maxim Voronov" on 2002-10-03 }
- { e-mail: [email protected] }
- Program test;
- {$asmmode intel}
- Function GetXminusYintel(x,y : extended):extended; assembler;
- asm
- fld x
- fld y
- fsubp st(1),st(0)
- end;
- {$asmmode att}
- Function GetXminusYatt(x,y : extended):extended; assembler;
- asm
- fld y
- fld x
- fsubp %st,%st(1)
- end;
- var
- eatt,eintel : extended;
- Begin
- writeln;
- eintel:= GetXminusYintel(2.0,1.0);
- writeln(eintel);
- eatt:= GetXminusYatt(2.0,1.0);
- writeln(eatt);
- if eintel<>eatt then
- begin
- writeln('intel fsubp is not translated properly into fsubrp');
- halt(1);
- end;
- End.
|