program app;
{$asmmode intel}
type
buf = array [0..9] of dword;
function bar(var s: buf): longint; assembler; nostackframe;
asm
mov dword ptr [rcx], 33
end;
function foo(var s: buf): longint; assembler; nostackframe;
asm
sub rsp, 8
mov [rsp], rcx
// ...
mov rcx, [rsp]
call bar
// ...
add rsp, 8
end;
var
b: buf;
begin
b[0]:=7;
WriteLn(b[0]);
foo(b);
WriteLn(b[0]);
ReadLn;
end.