Assembler procedures and functions are declared using the Assembler directive. This permits the code generator to make a number of code generation optimizations.
The code generator does not generate any stack frame (entry and exit code for the routine) if it contains no local variables and no parameters. In the case of functions, ordinal values must be returned in the accumulator. In the case of floating point values, these depend on the target processor and emulation options.