|
@@ -1,21 +1,23 @@
|
|
|
-{ %FAIL }
|
|
|
+{ %version=1.1 }
|
|
|
+
|
|
|
{ Source provided for Free Pascal Bug Report 1157 }
|
|
|
{ Submitted by "Colin Goldie" on 2000-10-06 }
|
|
|
{ e-mail: [email protected] }
|
|
|
-
|
|
|
+{$ifdef fpc}
|
|
|
{$mode delphi}
|
|
|
|
|
|
{$asmmode intel}
|
|
|
+{$endif}
|
|
|
|
|
|
-{ @Result in assembler functions where
|
|
|
- the function result is not on stack
|
|
|
- should be refused in Delphi mode }
|
|
|
+{ @Result in assembler functions should create only a temporary
|
|
|
+ variable when it is used }
|
|
|
|
|
|
Function GetBLUEfromRGB( color : word ) : byte; assembler;
|
|
|
asm
|
|
|
mov cx,color
|
|
|
- and cx,0000000000011111b
|
|
|
+ and cx,1fh
|
|
|
mov @Result,cl
|
|
|
+ mov ax,255
|
|
|
end;
|
|
|
|
|
|
{
|
|
@@ -29,7 +31,7 @@ accumulator register , everything thing works hunky dory.
|
|
|
Function GetBLUEfromRGB2( color : word ) : byte; assembler;
|
|
|
asm
|
|
|
mov cx,color
|
|
|
- and cx,0000000000011111b
|
|
|
+ and cx,1fh
|
|
|
mov al,cl
|
|
|
end;
|
|
|
|