J'ai déjà discuté du sujet avec Lionel, mais ce que je voudrais semble assez balaise à réaliser de manière fiable. Je m'explique.
Le but est d'écrire du C sans relogement, et comprenant pourtant :
- des romcalls
- des ramcalls
- des appels à ram_throw (utilisation de ce header : topics/123645-headers-for-pedrom#8 )
Pour les romcalls, tigcc sait faire ça. Reste le problème des ramcalls.
En assembleur, j'appelle les ramcalls de cette manière :
pea arg1 move.w arg2,-(sp) move.b #3,d0 dc.w $F012 addq.l #6,sp
Le truc, c'est que je n'ai pas la moindre idée de comment écrire ça en C. Le dc.w passe encore, mais forcer le push d'un argument, on fait comment ? Et le pop ?
Faut tout se fader à chaque fois en assembleur inline ?
Mon but est justement de passer au C pour gagner en facilité/rapidité, et donc de ne plus me taper d'asm à la main...
Comment faire ?
Question ultime : y a-t-il un/des switches garantissant aucun relogement dans le binaire ? Ou faut-il s'attendre à devoir patcher les fichiers .s après compilation ?
Merci d'avance. si je savais faire ça, il y a longtemps que je serais passé au C pour mes projets.