Author Topic: Créer des programmes à noms entrés par l'utilisateur  (Read 8356 times)

0 Members and 1 Guest are viewing this topic.

Offline Sandro

  • LV3 Member (Next: 100)
  • ***
  • Posts: 47
  • Rating: +0/-0
    • View Profile
Créer des programmes à noms entrés par l'utilisateur
« on: April 07, 2012, 03:49:13 pm »
Bonjour/bonsoir,
j'ai essayé de créer  un programme en axe parseur permettant de créer un programme de nom spécifié.
Code: [Select]
.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(.

Offline kindermoumoute

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 836
  • Rating: +54/-3
    • View Profile
Re: Créer des programmes à noms entrés par l'utilisateur
« Reply #1 on: April 08, 2012, 04:56:16 am »
"Fill(L1,0" Ce code ne sert à rien.

"{5 -> L1" je sais pas comment tu compile ça ???

"0 -> {L1+P" c'est une très mauvaise idée, il faut faire "length(P)->P" au préalable.

For(A,0,3
disp {A*2+L1}>Dec,{A*2+L1+1}>DEC,i
End


Privilégie cette écriture :
L1-1->A
For(8 )
Disp sub(A),sub(A),i
End

.Optimisation

Lbl A
{A++}>Dec
Return


Pour tes bugs, c'est parce que tu t'y prend mal. Je n'ai pas testé mais essaye :
input->P
!If getCalc(P)
Return!If GetCalc(P,20)
End
->P

Et P point la variable créée.

Après je n'ai pas compris, le token 'prgm' doit être ajouté lors de la saisie du nom du programme, est ce que c'est ce que tu cherche à faire ?
« Last Edit: April 08, 2012, 04:58:27 am by kindermoumoute »
Projects :

Worms armageddon z80 :
- smoothscrolling Pixelmapping : 100%
- Map editor : 80%
- Game System : 0%

Tutoriel français sur l'Axe Parser
- 1ère partie : en ligne.
- 2ème partie : en ligne.
- 3ème partie : en ligne.
- 4ème partie : 10%
- Annexe : 100%

Offline Sandro

  • LV3 Member (Next: 100)
  • ***
  • Posts: 47
  • Rating: +0/-0
    • View Profile
Re: Créer des programmes à noms entrés par l'utilisateur
« Reply #2 on: April 08, 2012, 05:11:08 am »
si, sauf que j'optenais un programme valide avec 05h et non avec 5Fh bizzarement (j'ai trouvé ça en observant les octés de la chaîne "prgmFILE".

Sinon, c'était 5 -> {L1 et non {5 -> L1.

Je teste avec tes modifs

Sandro

EDIT1 : oui, le 5 est sensé être le token prgm, même si c'est bizzard que ce soit pas 5F
« Last Edit: April 08, 2012, 05:14:42 am by Sandro »

Offline kindermoumoute

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 836
  • Rating: +54/-3
    • View Profile
Re: Créer des programmes à noms entrés par l'utilisateur
« Reply #3 on: April 08, 2012, 05:27:53 am »
Dac, je vois. Du coup ton programme marche ou pas ?
Projects :

Worms armageddon z80 :
- smoothscrolling Pixelmapping : 100%
- Map editor : 80%
- Game System : 0%

Tutoriel français sur l'Axe Parser
- 1ère partie : en ligne.
- 2ème partie : en ligne.
- 3ème partie : en ligne.
- 4ème partie : 10%
- Annexe : 100%

Offline Sandro

  • LV3 Member (Next: 100)
  • ***
  • Posts: 47
  • Rating: +0/-0
    • View Profile
Re: Créer des programmes à noms entrés par l'utilisateur
« Reply #4 on: April 08, 2012, 05:33:51 am »
Donc j'ai essayé en faisant ceci :
Code: [Select]
.NPRGM2
input->P
length(P -> Q
5 -> L1
Copy(P,L1+1,Q
0 -> {L1+Q
GetCalc(L1,20
Et il arrive encore que ce token s'ajoute au nom.

Sandro

PS1 : Pour le second code, il faut rajouter quoi exactement pour avoir le token prgm?
PS2 : avec 5Fh, le code compile mais ne crée pas de programme
« Last Edit: April 08, 2012, 05:35:53 am by Sandro »

Offline kindermoumoute

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 836
  • Rating: +54/-3
    • View Profile
Re: Créer des programmes à noms entrés par l'utilisateur
« Reply #5 on: April 08, 2012, 08:19:36 am »
J'ai testé ça vite fais :
Code: [Select]
input->A
5->{A-1}
GetCalc(,20)
Cela a très bien marché sauf quand il a fallut quitter le programme après édition de celui ci (ram cleared). Donc il peut-être en stockant l'octet de la manière suivante :
Code: [Select]
input->A
{A-1}->T
5->{A-1}
GetCalc(,20)
T->{A-1}
A voir. ;)
Projects :

Worms armageddon z80 :
- smoothscrolling Pixelmapping : 100%
- Map editor : 80%
- Game System : 0%

Tutoriel français sur l'Axe Parser
- 1ère partie : en ligne.
- 2ème partie : en ligne.
- 3ème partie : en ligne.
- 4ème partie : 10%
- Annexe : 100%

Offline Sandro

  • LV3 Member (Next: 100)
  • ***
  • Posts: 47
  • Rating: +0/-0
    • View Profile
Re: Créer des programmes à noms entrés par l'utilisateur
« Reply #6 on: April 09, 2012, 03:16:10 am »
Non, je continue à avoir ce token indésirable. Peut-être est-ce une icompatibilité avec TI-Boy?

merci d'avance
Sandro

PS : tu utilise quel OS et quelle version d'Axe Parser pour vérifier?

Offline kindermoumoute

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 836
  • Rating: +54/-3
    • View Profile
Re: Créer des programmes à noms entrés par l'utilisateur
« Reply #7 on: April 09, 2012, 04:24:31 am »
Axe Parser version 1.1.2, OS 2.41, sur 84+SE émulé, mais ça marche sur ma 83+ aussi.
Projects :

Worms armageddon z80 :
- smoothscrolling Pixelmapping : 100%
- Map editor : 80%
- Game System : 0%

Tutoriel français sur l'Axe Parser
- 1ère partie : en ligne.
- 2ème partie : en ligne.
- 3ème partie : en ligne.
- 4ème partie : 10%
- Annexe : 100%

Offline Sandro

  • LV3 Member (Next: 100)
  • ***
  • Posts: 47
  • Rating: +0/-0
    • View Profile
Re: Créer des programmes à noms entrés par l'utilisateur
« Reply #8 on: April 09, 2012, 04:43:51 am »
Bon, je tente donc l'os 2.41
Merci