On sait jamais, je tente ma chance au cas où il y ait un expert du C/ASM dans le coin...
J'ai un programme C qui lance une sous-tâche (nouveau TCB) à travers la macro ATTACHX. J'ai un code assembleur qui est appelable à partir d'un programme C qui fait ca très bien.
Le problème est que je voudrais passer des paramètres à cette sous-tâche. Pour cela, il y a le paramètre PARAM à la macro ATTACHX. je passe donc l'adresse de la variable que je veux passer. Cependant, dans mon programme C, que j'appelle en sous-tâche, je ne récupère pas la bonne valeur...
Mon programme C est sous la forme:
La valeur de param est alors 1, et non l'adresse en mémoire de la variable passée en paramètre...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 int main(void * param) { ... }
Théoriquement, le paramètre devrait être dans le registre 1, mais aucun moyen de vérifier puisque c'est un code C (je ne sais d'ailleurs pas si on peut tracer un programme C :o , il doit y avoir un moyen certainement)...
Avez-vous une idée sur le problème ? Qu'est-ce que je fais mal ?...
Merci d'avance !
Partager