Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

Register parameters

RST 20H, DEFW $8209
IN:  BHL = pointer to null-terminated filename (B = 0, local)
	 CDE = pointer to null-terminated arguments string (C = 0, local)

OUT: Fc = 0, successful
	 Fc = 1, failure and A = error

Registers affected after return:
     AFBCDEHL depends on ELF execution
	 IXIY changed by the call

Notes

This call is the main interface to execute an ELF file. It is used by the Shell application to execute an ELF program (in this case Z80 relocatable code, loaded into any available space of RAM and executed). Any code can execute an Elf program, from anywhere.
If the program has no need of arguments, simply let CDE point to a null-terminator (0).
Arguments passing to ELF program is performed by this call. Arguments are pushed to the stack from right to left according SDCC convention.
(SP+00) Ret to caller     managed internally by DC_Rte
(SP+02) Argc              number of arguments including program (file) name
(SP+04) *Argv[0]          pointer to first argument string, the program name (null-terminated)
(SP+06) *Argv[1] pointer to second argument string (first argument for program) (null-terminated)
... 

Related calls

DC_Elf, ELF interface
DC_Rte, return from ELF


  • No labels