[axe] Créer des programmes à noms entrés par l'utilisateur
2 participants
Espace TI: Forum :: Calculatrices & Hardware :: Questions sur les calculatrices :: Questions sur la TI-83+ et la TI-84+
Page 1 sur 1
[axe] Créer des programmes à noms entrés par l'utilisateur
Bonjour/bonsoir,
j'ai essayé de créer un programme en axe parseur permettant de créer un programme de nom spécifié.
J'ai donc 2 problèmes :
-le premier est pourquoi quand je met "prgmFILE" par example, le "prgm" est remplacé par 05h et non par 5Fh dans la mémoire (alors que le token "prgm" a pour code 5Fh)?
-le second bien plus dérangeant : parfois, le programme ainsi créé à un ° à la fin du nom tant que le programme est dans l'inventaire des programmes. Et quand on sélectionne le programme pour le lancer, on a à la place du ° le token augment( (14h) : ce 14h est aussi contenu dans la liste L1. Quelqu'un aurrait-il une idée d'où pourrait venir ce token suplémentaire?
Merci d'avance
Sandro
PS : je viens de comprendre au moins pourquoi l'affichage varie : dans la liste des programmes, les octés sont considérés comme des caractères ASCII donc le 14h est interprété comme étant ° alors que sur l'écran de calcul, les octés sont considérés comme des tokens, donc le 14h est interprété comme étant augment(.
j'ai essayé de créer un programme en axe parseur permettant de créer un programme de nom spécifié.
- Code:
.NEWPRGM
Fill(L1,0
Disp "NOM DU PROGRAMME"
input -> P
{5 -> L1
Copy(P,L1+1,length(P))
0 -> {L1+P
.début du code pour voir le contenu de L1
For(A,0,3
disp {A*2+L1}>Dec,{A*2+L1+1}>DEC,i
End
.Fin du code pour voir le contenu de L1
GetCalc(L1,20)
J'ai donc 2 problèmes :
-le premier est pourquoi quand je met "prgmFILE" par example, le "prgm" est remplacé par 05h et non par 5Fh dans la mémoire (alors que le token "prgm" a pour code 5Fh)?
-le second bien plus dérangeant : parfois, le programme ainsi créé à un ° à la fin du nom tant que le programme est dans l'inventaire des programmes. Et quand on sélectionne le programme pour le lancer, on a à la place du ° le token augment( (14h) : ce 14h est aussi contenu dans la liste L1. Quelqu'un aurrait-il une idée d'où pourrait venir ce token suplémentaire?
Merci d'avance
Sandro
PS : je viens de comprendre au moins pourquoi l'affichage varie : dans la liste des programmes, les octés sont considérés comme des caractères ASCII donc le 14h est interprété comme étant ° alors que sur l'écran de calcul, les octés sont considérés comme des tokens, donc le 14h est interprété comme étant augment(.
sandro- Or 4
- Sexe :
Age : 28
Messages : 806
Date d'inscription : 01/07/2011
Etudes : T°S SVT spé maths
Points Forum : 29
Points Concours : 5
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-82 Stats.fr
- - TI-84+ SE
- - TI-89
- - Casio Collège
Re: [axe] Créer des programmes à noms entrés par l'utilisateur
Je voudrai attirer ton attention sur cette ligne de code :
Ce code sera compris comme cela :
Donc les accolades sont inutiles. Et en plus, je n'arrive même pas à comprendre comment tu as réussi à compiler ton code puisqu'on ne peut pas mettre une valeur dans une constante.
- Code:
:{5 → L1
Ce code sera compris comme cela :
- Code:
:{5 → L1}
Donc les accolades sont inutiles. Et en plus, je n'arrive même pas à comprendre comment tu as réussi à compiler ton code puisqu'on ne peut pas mettre une valeur dans une constante.
mdr1- Or 1
- Sexe :
Age : 34
Messages : 124
Date d'inscription : 16/03/2011
Points Forum : 4
Points Concours : 0
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-Basic Nspire
- - Ndless Nspire
- - TI-82
- - TI-83+
- - TI-84 Pocket.fr
- - TI-Nspire CX
Re: [axe] Créer des programmes à noms entrés par l'utilisateur
pardon, j'avais pas corigé ici, que sur omnimaga, il s'agit en fait de 5 -> {L1
sandro- Or 4
- Sexe :
Age : 28
Messages : 806
Date d'inscription : 01/07/2011
Etudes : T°S SVT spé maths
Points Forum : 29
Points Concours : 5
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-82 Stats.fr
- - TI-84+ SE
- - TI-89
- - Casio Collège
Re: [axe] Créer des programmes à noms entrés par l'utilisateur
Ok, je crois savoir d'où vient le problème.
Si je ne me trompe pas, input renvoie l'adresse d'une suite de tokens précédée par sa taille.
Ici, la taille est 5 octets (prgm + F + I + L + E), donc la suite est précédée de l'octet $05.
Et toi, tu copies cet octet. Donc je pense qu'il faut plutôt faire :
Mais dans ce cas, un autre problème se pose : length ne calculerait-il pas la taille d'une suite d'octets terminée par un nul ?
Si je ne me trompe pas, input renvoie l'adresse d'une suite de tokens précédée par sa taille.
Ici, la taille est 5 octets (prgm + F + I + L + E), donc la suite est précédée de l'octet $05.
Et toi, tu copies cet octet. Donc je pense qu'il faut plutôt faire :
- Code:
Copy(P+1,L1+1,length(P))
Mais dans ce cas, un autre problème se pose : length ne calculerait-il pas la taille d'une suite d'octets terminée par un nul ?
mdr1- Or 1
- Sexe :
Age : 34
Messages : 124
Date d'inscription : 16/03/2011
Points Forum : 4
Points Concours : 0
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-Basic Nspire
- - Ndless Nspire
- - TI-82
- - TI-83+
- - TI-84 Pocket.fr
- - TI-Nspire CX
Re: [axe] Créer des programmes à noms entrés par l'utilisateur
lenght calcule effectivement la taille d'une suite d'octets terminée par un nul, mais le compilateur rajoute automatiquement le 00 à la fin.
Sinon, sauf erreur de ma part (si j'ai bien compris se que m'a expliqué kindermoumoute hiers), la longeur est effectivement prészente mais AVANT le pointeur (la preuve : quand tu fait "ABC" -> Str1 : Disp Str1 tu n'optient pas un caractère en plus avant le A.
Sandro
Sinon, sauf erreur de ma part (si j'ai bien compris se que m'a expliqué kindermoumoute hiers), la longeur est effectivement prészente mais AVANT le pointeur (la preuve : quand tu fait "ABC" -> Str1 : Disp Str1 tu n'optient pas un caractère en plus avant le A.
Sandro
sandro- Or 4
- Sexe :
Age : 28
Messages : 806
Date d'inscription : 01/07/2011
Etudes : T°S SVT spé maths
Points Forum : 29
Points Concours : 5
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-82 Stats.fr
- - TI-84+ SE
- - TI-89
- - Casio Collège
Espace TI: Forum :: Calculatrices & Hardware :: Questions sur les calculatrices :: Questions sur la TI-83+ et la TI-84+
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum