Właśnie zauważyłem, że plik *.c kompilujesz to assemblera. Więc porostu zobacz jak kompilator przekazuje paramenty w skompilowanym kodzie..
Właśnie zrobiłem jak piszesz, no i już wiem jak przekazywane są parametry, czego efektem jest ten działający kod :)
#include "gemdos.h"
#include "types.h"
int main()
{
write_str("Hello world\0");
getchar();
pterm();
return 0;
}
#ifndef _GEMDOS_H_
#define _GEMDOS_H_
extern void write_str(const u8 *s);
extern s32 getchar(void);
extern void pterm(void);
#endif
_write_str
move.l (4,a7), a0
pea (a0)
move.w #GEMDOS__writestr,-(A7)
trap #GEMDOS
addq.l #6,A7
rts
_getchar
move.w #GEMDOS__getchar,-(A7)
trap #GEMDOS
addq.l #2,A7
rts
_pterm
clr.l -(a7)
trap #1