So declaring a local field of size 32 bytes together with nostackframe will do that?
Something along the lines:
type
TstackallocMem = packed array[0..31] of byte;
procedure testme(a,b:integer);assembler;nostackframe;
var
tm:TstackallocMem;// 32 packed bytes on top of stack? this can be seen by compiling with -al in the s file
asm
.....
end;
Not tested, but something along that line should work. But again, this is a silly use of assembler given what the compiler already generates in -O3 or higher and using pure Pascal. Almost identical....It is just setting up the function call, why bother doing that in assembler?
It is certainly not "faster"...Speed by assembler to setup just a function call is a misconception.
Or is there some other reason, where it really does matter? Such cases exist, but not here:You have to show us a better use-case.
And using pure Pascal has the advantage that it is really FPU agnostic.
That said, Marcov is much better versed in all kind of asm trickery with a background in image manipulation.
But don't use assembler just to set up a function call!, that is, well, clueless and pointless. It
really is...