j'ai dit 'debut_code_dans_la_pile' donc je parle celui du prog C utilisé comme utilitaire.
faut croire que je suis allé de travers en disant ceci
le END_TAG indiquant le début de l'ESTACK
Comme il a eu un peu de confusion de ta part sur mes propos, je vais reprendre par un exemple plus claire tiré de la doc de top_estack pour clore le débat .
voici un extrait de top_estack montrant comment est représenté l'appel d'une fonction dans l'estack.
Algebraic form: my_func (a, b, c)
RPN form: END_TAG c b a my_func USERFUNC_TAG
Sequence of bytes: [E5] [0D] [0C] [0B] [00 6D 79 5F 66 75 6E 63 00] [DA]
le [E5] est le END_TAG délimitant la fin d'un appel à une fonction/programme .
C'est ce END_TAG que je recherche lorsque le TIOS passe la main à mon programme.
Je pense que tu seras d'avis qu'il n'y a aucun de savoir comment trouver cela sans remonter l'estack, surtout s'il s'agit d'un prog C/ASM appelé dans un prog TI-Basic ou comme argument d'une autre fonction.
Cette technique est la seule adapté pour nettoyé correctement les arguments du code d'un prog C/ASM appelé.
Comme tu peux le constater cette méthode à une utilisation spécifique de même que les autres :
- Delete_between ne sert qu'à faire des suppression de milieu d'estack.
- Quand on veut supprimer des arguments en début d'estack, il n'y qu'à sauvegarder et restaurer la valeur de top_estack avant d'envoyer sur la pile ces dits arguments sur l'estack.
De plus je te signale que cette méthode n'est pas de moi. Elle fait parti des exemples de code distribué avec TIGCC.
Bon je pense qu'on a tout dit là et que j'ai été un peu plus clair.
Je vois que tu ne peux pas t'empêcher de continuer les petites vannes.
Vu ma méprise, tu peux t'autoriser tous les écarts.
Je te laisse continuer sur ce terrain car ce n'est pas mon objectif en venant poster ici.