In general there has to be some kind of protocol because typically it is not enough to just load a file into memory and jump at a specific location but you have to either pass additional arguments like kernel parameters, i.e. accessing memdisk arguments from DOS.
As this is hardware dependent (arm is different than x86 for instaceinstance) you have to find the correct information, see this article boutabout booting archarm or the Linux/x86 boot protocol for some examples.