move.w #0x4EF9,%d0 |jmp xxx.l opcode (used three times) clr.w -(%sp) |first bytes of SYM_STR_FRAME. In fact, only the first one must be null move.l (%a0)+,-(%sp) |&kernel::exec move.w %d0,-(%sp) |jmp ... move.l (%a0),-(%sp) |&kernel::LibsExec move.w %d0,-(%sp) |jmp ... pea.l (%a1) |&return adress of the loader move.w %d0,-(%sp) |jmp ... movea.l %sp,%fp |then set the frame pointer