mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-06 21:07:58 +02:00
38 lines
622 B
ObjectPascal
38 lines
622 B
ObjectPascal
{ %cpu=x86_64 }
|
|
{ %fail }
|
|
{$asmmode intel}
|
|
type
|
|
gfxImage = record
|
|
data: pointer;
|
|
width, height: dWord;
|
|
end;
|
|
|
|
function putPixel(where:gfxImage;x,y,col:dword):dword; assembler; nostackframe;
|
|
//begin
|
|
asm
|
|
xor eax,eax
|
|
mov eax,x
|
|
mov eax,y
|
|
mov eax,col
|
|
mov rax,rdi
|
|
mov rax,rsi
|
|
rol rax,32
|
|
|
|
mov rax, where
|
|
//mov rax, where.data
|
|
//mov rax, where
|
|
end;
|
|
//end;
|
|
|
|
var a : gfxImage;
|
|
z : dword;
|
|
begin
|
|
a.data:= pointer(5);
|
|
a.width := 8;
|
|
a.height := 7;
|
|
z:= putPixel (a, 1, 2, 3);
|
|
writeln;
|
|
writeln(' ',z,' ');
|
|
writeln;
|
|
end.
|