AxeSM, un compilateur d'ASM ... en Axe ^^

Page 1 sur 3 1, 2, 3  Suivant

Voir le sujet précédent Voir le sujet suivant Aller en bas

AxeSM, un compilateur d'ASM ... en Axe ^^

Message par matrefeytontias le Ven 13 Jan - 8:34

Salut les gens !

Qu'apprends-je, aucun nouveau projet n'a été proposé depuis Speejump !? Remédions vite à cela Très Content

Voici donc venir AxeSM, un compilateur d'ASM codé en Axe (ça change ^^). Bon alors je ne vous cache pas qu'il est loin d'être fini, qu'il fait déjà 6127 octets en traduisant seulement Ret, ld, end et bcall, mais bon c'est ld qui prend toute la place pis c'est pas encore optimisé ^^

Donc, ce compilo créé un programme prgmHEX (j'arrive pas à demander à l'user d'entrer un nom de sortie Mitigé ) avec le code hexa de votre programme ASM que vous choisirez parmi les programmes existants (et qui devra commencer par Input, vous allez comprendre pourquoi). P'tit screen pour les yeux :

[Vous devez être inscrit et connecté pour voir cette image]

Mais ce dont je suis le plus fier, c'est l'utilisation de tokens ASM Ok bon ok, pour l'instant j'arrive à en définir que deux à la fois, mais patience ça arrive ^^.

Comment ça vous comprenez pas ? Et avec ça alors :

[Vous devez être inscrit et connecté pour voir cette image]

Voilà, à suivre donc Content

_________________
[Axe] [Vous devez être inscrit et connecté pour voir ce lien], aussi compatible 82 stats !

[Vous devez être inscrit et connecté pour voir ce lien]
[Vous devez être inscrit et connecté pour voir ce lien]

Spoiler:

matrefeytontias
Platinum 1
Platinum 1

Sexe : Masculin
Age : 19
Messages : 1383
Date d'inscription : 28/09/2011
Etudes : 1ère S SI
Points Forum : 90
Points Concours : 7
Langages :
  • - ASM TI-82 Stats / TI-83
  • - ASM TI-83+ / TI-84+
  • - Axe Parser
  • - Lua Nspire
  • - Ndless Nspire
Calculatrices :
  • - TI-83+.fr
  • - TI-Nspire CAS

TI-83+.fr


Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par persalteas le Ven 13 Jan - 9:18

C'est sympatoche tout ça... Tu as de belles idées tordues, mais c'est sympatoche.


Moi qui croyais qu'on ne ferait jamais d'ASM si on n'a pas le cable...

_________________
[Vous devez être inscrit et connecté pour voir cette image]

persalteas
Platinum 2
Platinum 2

Sexe : Masculin
Age : 21
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :
  • - TI-Basic Z80
  • - xLib
  • - Grammer
  • - TI-Basic Nspire
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-83
  • - TI-83+
  • - TI-84+ SE
  • - TI-86
  • - TI-Nspire
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84 Pocket.fr


http://tiemulation.kegtux.org

Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par sandro le Ven 13 Jan - 18:53

il suffit d'archiver tout le reste pendant qu'on bricole.

_________________
mort à l'inutile, place à la mémoire libre et aux programmes!

sandro
Or 4
Or 4

Sexe : Masculin
Age : 20
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
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-84+ SE
  • - TI-89
  • - Casio Collège

TI-84+ SE


Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par matrefeytontias le Ven 13 Jan - 19:06

Pour faire quoi ? Scratch

Sinon, je sais maintenant comment remplacer tout plein de tokens Ok :
[Vous devez être inscrit et connecté pour voir cette image]

De plus, j'ai rajouté la commande CP Content

_________________
[Axe] [Vous devez être inscrit et connecté pour voir ce lien], aussi compatible 82 stats !

[Vous devez être inscrit et connecté pour voir ce lien]
[Vous devez être inscrit et connecté pour voir ce lien]

Spoiler:

matrefeytontias
Platinum 1
Platinum 1

Sexe : Masculin
Age : 19
Messages : 1383
Date d'inscription : 28/09/2011
Etudes : 1ère S SI
Points Forum : 90
Points Concours : 7
Langages :
  • - ASM TI-82 Stats / TI-83
  • - ASM TI-83+ / TI-84+
  • - Axe Parser
  • - Lua Nspire
  • - Ndless Nspire
Calculatrices :
  • - TI-83+.fr
  • - TI-Nspire CAS

TI-83+.fr


Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par AlexRider38 le Ven 13 Jan - 19:24

Wahou ça c'est pas du prog de rigolo Peur Ok Choqué

AlexRider38
Or 4
Or 4

Sexe : Masculin
Age : 19
Messages : 579
Date d'inscription : 11/07/2010
Etudes : Lycéen
Points Forum : -10
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
  • - TI-Basic Nspire
  • - Lua Nspire
  • - Ndless Nspire
Calculatrices :
  • - TI-Collège
  • - TI-80
  • - TI-82
  • - TI-82 Stats.fr
  • - TI-84 Pocket.fr
  • - TI-Nspire CAS
  • - TI-Nspire CX

TI-84 Pocket.fr


Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par noelthebest le Ven 13 Jan - 20:37

Mdr c'est tout en axe ???

_________________
[Vous devez être inscrit et connecté pour voir cette image]

[Vous devez être inscrit et connecté pour voir cette image]
[Vous devez être inscrit et connecté pour voir cette image]

noelthebest
Platinum 1
Platinum 1

Sexe : Masculin
Age : 19
Messages : 1969
Date d'inscription : 12/03/2011
Etudes : ENS Cachan
Points Forum : 20
Points Concours : 9
Langages :
  • - TI-Basic Z80
  • - ASM TI-83+ / TI-84+
  • - Axe Parser
Calculatrices :
  • - TI-83+.fr
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84+ SE


Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par matrefeytontias le Ven 13 Jan - 21:45

Et oui, tout en Axe (sauf pour renommer pes tokens, c'est pas possible en Axe, c'est de l'ASM) Content

_________________
[Axe] [Vous devez être inscrit et connecté pour voir ce lien], aussi compatible 82 stats !

[Vous devez être inscrit et connecté pour voir ce lien]
[Vous devez être inscrit et connecté pour voir ce lien]

Spoiler:

matrefeytontias
Platinum 1
Platinum 1

Sexe : Masculin
Age : 19
Messages : 1383
Date d'inscription : 28/09/2011
Etudes : 1ère S SI
Points Forum : 90
Points Concours : 7
Langages :
  • - ASM TI-82 Stats / TI-83
  • - ASM TI-83+ / TI-84+
  • - Axe Parser
  • - Lua Nspire
  • - Ndless Nspire
Calculatrices :
  • - TI-83+.fr
  • - TI-Nspire CAS

TI-83+.fr


Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par kindermoumoute le Mar 17 Jan - 19:49

Je comprend maintenant pourquoi toutes ces questions ! x)
C'est génial ce que tu as fait, est ce que tu aurais le source et l'exécutable ?

kindermoumoute
Or 4
Or 4

Sexe : Masculin
Age : 22
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-83+

TI-83+


Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par persalteas le Mar 17 Jan - 20:32

(si tu crées un programme open-source ?)

_________________
[Vous devez être inscrit et connecté pour voir cette image]

persalteas
Platinum 2
Platinum 2

Sexe : Masculin
Age : 21
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :
  • - TI-Basic Z80
  • - xLib
  • - Grammer
  • - TI-Basic Nspire
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-83
  • - TI-83+
  • - TI-84+ SE
  • - TI-86
  • - TI-Nspire
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84 Pocket.fr


http://tiemulation.kegtux.org

Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par matrefeytontias le Mar 17 Jan - 21:58

Celui-là oui je comptes bien le faire open-source pour que chacun puisse rajouter des commandes Clin Oeil

Mais là je suis sur phone donc attendez demain pour les fichiers ^^

_________________
[Axe] [Vous devez être inscrit et connecté pour voir ce lien], aussi compatible 82 stats !

[Vous devez être inscrit et connecté pour voir ce lien]
[Vous devez être inscrit et connecté pour voir ce lien]

Spoiler:

matrefeytontias
Platinum 1
Platinum 1

Sexe : Masculin
Age : 19
Messages : 1383
Date d'inscription : 28/09/2011
Etudes : 1ère S SI
Points Forum : 90
Points Concours : 7
Langages :
  • - ASM TI-82 Stats / TI-83
  • - ASM TI-83+ / TI-84+
  • - Axe Parser
  • - Lua Nspire
  • - Ndless Nspire
Calculatrices :
  • - TI-83+.fr
  • - TI-Nspire CAS

TI-83+.fr


Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par Alexis le Mar 17 Jan - 22:02

matrefeytontias est officiellement le maître de l'ASM du forum.

_________________
L'administrateur du forum.

Salut Invité, tu as posté 11 messages sur le forum.

Mes projets:
[Vous devez être inscrit et connecté pour voir cette image]

[Vous devez être inscrit et connecté pour voir cette image]

[Vous devez être inscrit et connecté pour voir cette image]

Alexis
Platinum 2
Platinum 2

Sexe : Masculin
Age : 23
Messages : 2320
Date d'inscription : 28/06/2010
Etudes : DUT Informatique
Points Forum : 40
Points Concours : 3
Langages :
  • - TI-Basic Z80
  • - ASM TI-82 Stats / TI-83
  • - Axe Parser
Calculatrices :
  • - TI-Collège
  • - TI-82 Stats.fr
  • - TI-84+

TI-84+


http://espace-ti.e-monsite.com

Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par Polymorph le Mer 18 Jan - 10:54

Wah, c'est hallucinant! O_o

Moi qui croyais qu'on ne ferait jamais d'ASM si on n'a pas le cable...

Il faut le cable pour Dl l'appli Axe parser... x) Dommage!

Polymorph
Argent 4
Argent 4

Sexe : Masculin
Age : 21
Messages : 54
Date d'inscription : 05/01/2012
Points Forum : 8
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-82 Stats.fr

TI-82 Stats.fr


Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par matrefeytontias le Mer 18 Jan - 12:26

Y'a un gros problème : on dirait que AxeSM détecte uniquement les autres programmes s'ils étaient présents au moment de la compilation Mitigé je poste donc juste la source du compilo (elle est énorme !!!) en Axe et du token hook en ASM, plus un 8xg avec de quoi activer et désactiver le token hook.

[Vous devez être inscrit et connecté pour voir ce lien].

Attention code extrêmement long et mal optimisé !:

Code:

:.AXESM
:DiagnosticOff
:ClrHome
:ClrDraw
:
:0→C→I→J→L→Θ
:
:"prgm"→Str1
:
:sub(VIN)
:
:Lbl L
:If sub(VCT)=5 or (sub(VCT)=6)
:For(A,1,sub(VNL))
:{sub(VN)-A+1}→{Str1+A}
:End
:0→{Str1+A}
:Text(0,0,Str1+1
:End
:
:Pause 200
:
:While 1
:ReturnIf getKey(15)
:If getKey(1)
:ClrHome
:sub(VNX)
:Goto L
:ElseIf getKey(4)
:ClrHome
:sub(VPR)
:Goto L
:ElseIf getKey(54) or getKey(9)
:Goto GO
:End
:End
:
:Lbl GO
:
:0→I
:
:!If GetCalc(Str1)→F
:Text(0,56,"File not found !"
:Return
:End
:
:DelVar "prgmHEX"
:
:!If GetCalc("prgmHEX1",4096)→S
:Disp "Not enough free space !
:Return
:End
:Fill(S,4096,{[00]}
:
:.Header
:If T2O(F,ᵗInput ,{[3F]})
:{[BB]}→{S
:{[6C]}→{S+1
:{[3F]}→{S+2
:2→I
:3→J
:2→L
:2→Θ
:Else
:Output(0,0,"Invalid ",{[5F]}►Tok,i
:DelVar "prgmHEX1"
:Return
:End
:
:Repeat C
:If getKey(15)
:Return
:End
:
:.Match Return
:If T1O(F+I,ᵗReturn)
:ᵗC→{S+J
:ᵗ9→{S+J+1
:I++
:Θ++
:J+2→J
:.Match bcall
:ElseIf T1O(F+I,ᵗThen)
:ᵗE→{S+J
:ᵗF→{S+J+1
:J+2→J
:I++
:Θ++
:NUM(4)
:I+4→I
:J+4→J
:Θ+4→Θ
:.Match ld
:ElseIf T1O(F+I,ᵗPrompt )
:I+1→I
:Θ+1→Θ
:LD()→E
:If E=0
:I+2→I
:Θ+2→Θ
:J+2→J
:NUM(2)
:I+2→I
:Θ+2→Θ
:J+2→J
:ElseIf E=1
:I+3→I
:Θ+3→Θ
:J+2→J
:NUM(4)
:I+4→I
:Θ+4→Θ
:J+4→J
:ElseIf E=2
:I+3→I
:Θ+3→Θ
:J+2→J
:End
:.Match cp
:ElseIf T1O(F+I,ᵗIf )
:ᵗF→{S+J
:ᵗE→{S+J+1
:I++
:Θ++
:J+2→J
:NUM(2)
:I+2→I
:Θ+2→Θ
:J+2→J
:.Match jr
:ElseIf T1O(F+I,ᵗLbl )
:I++
:Θ++
:JR()→E
:I+E→I
:Θ+E→Θ
:J+2→J
:NUM(2)
:I+2→I
:Θ+2→Θ
:J+2→J
:.Match djnz
:ElseIf T1O(F+I,ᵗFor()
:ᵗ1→{S+J
:ᵗ0→{S+J+1
:I++
:Θ++
:J+2→J
:NUM(2)
:I+2→I
:Θ+2→Θ
:J+2→J
:.Match sub
:ElseIf T1O(F+I,ᵗ-)
:I++
:Θ++
:SUB()→E
:J+2→J
:If E=1
:NUM(2)
:I+2→I
:Θ+2→Θ
:J+2→J
:Else
:I++
:Θ++
:End
:.Match nop
:ElseIf T2O(F+I,ᵗPause ,{[3F]})
:ᵗ0→{S+J
:ᵗ0→{S+J+1
:I++
:Θ++
:J+2→J
:.Match End
:ElseIf T1O(F+I,ᵗEnd)
:1→C
:.Comment
:ElseIf T2O(F+I,{[BB]},{[45]})
:Repeat T1O(F+I,{[3F]})
:I++
:Θ++
:End
:I++
:1→Θ
:.Newline
:ElseIf T1O(F+I,{[3F]})
:{[3F]}→{S+J
:I++
:J++
:L++
:1→Θ
:.Missing End
:ElseIf T1O(F+I+1,{[00]})
:Text(0,56,"Missing End !
:DelVar "prgmHEX1"
:Return
:.Error syntax
:Else!If T1O(F+I,{[00]})
:ERR()
:End
:End
:
:0→I
:
:Repeat {S+I}={[00]}
:I++
:End
:
:GetCalc("prgmHEX",I)→O
:
:Copy(S,O,I)
:
:DelVar "prgmHEX1"
:
:Output(0,7,"Compiled !
:Return
:
:prgmASMLIB

Code:

:.ASMLIB
:.Display error
:Lbl ERR
:Text(0,56,"Syntax error on line ",L►Dec,",",Θ►Dec
:DelVar "prgmHEX1"
:Returnr
:
:.Test 1 byte
:Lbl T1O
:{r1}=r2
:Return
:
:.Test 2 bytes
:Lbl T2O
:{r1}=r2 and ({r1+1}=r3)
:Return
:
:.Get numbers
:Lbl NUM
:0→B
:Data(0,0)→GDB1
:Data(0,0)→GDB2
:For(B,0,r1-1)
:If inData({F+I+B},Data(ᵗ0,ᵗ1,ᵗ2,ᵗ3,ᵗ4,ᵗ5,ᵗ6,ᵗ7,ᵗ8,ᵗ9,ᵗA,ᵗB,ᵗC,ᵗD,ᵗE,ᵗF))
:If B<2
:{F+I+B}→{GDB1+B
:Else
:{F+I+B}→{GDB2+B-2
:End
:Else
:ERR()
:End
:End
:If r1<3
:{GDB1}→{S+J
:{GDB1+1}→{S+J+1
:Else
:{GDB2}→{S+J
:{GDB2+1}→{S+J+1
:{GDB1}→{S+J+2
:{GDB1+1}→{S+J+3
:End
:Return
:
:.sub statement
:Lbl SUB
:ᵗ9→{S+J
:If T2O(F+I,ᵗA,{[3F]})
:ᵗ7→{S+J+1
:0
:ElseIf T2O(F+I,ᵗB,{[3F]})
:ᵗ0→{S+J+1
:0
:ElseIf T2O(F+I,ᵗC,{[3F]})
:ᵗ1→{S+J+1
:0
:ElseIf T2O(F+I,ᵗD,{[3F]})
:ᵗ2→{S+J+1
:0
:ElseIf T2O(F+I,ᵗE,{[3F]})
:ᵗ3→{S+J+1
:0
:ElseIf T2O(F+I,ᵗH,{[3F]})
:ᵗ4→{S+J+1
:0
:ElseIf T2O(F+I,ᵗL,{[3F]})
:ᵗ5→{S+J+1
:0
:Else
:ᵗD→{S+J
:ᵗ6→{S+J+1
:1
:End
:Return
:
:.LD statement
:Lbl LD
:.A,
:If T2O(F+I,ᵗA,ᵗ,)
:.B
:If T2O(F+I+2,ᵗB,{[3F]})
:ᵗ7→{S+J
:ᵗ8→{S+J+1
:2
:.C
:ElseIf T2O(F+I+2,ᵗC,{[3F]})
:ᵗ7→{S+J
:ᵗ9→{S+J+1
:2
:.D
:ElseIf T2O(F+I+2,ᵗD,{[3F]})
:ᵗ7→{S+J
:ᵗA→{S+J+1
:2
:.E
:ElseIf T2O(F+I+2,ᵗE,{[3F]})
:ᵗ7→{S+J
:ᵗB→{S+J+1
:2
:.H
:ElseIf T2O(F+I+2,ᵗH,{[3F]})
:ᵗ7→{S+J
:ᵗC→{S+J+1
:2
:.L
:ElseIf T2O(F+I+2,ᵗL,{[3F]})
:ᵗ7→{S+J
:ᵗD→{S+J+1
:2
:Else
:ᵗ3→{S+J
:ᵗE→{S+J+1
:0
:End
:.B,
:ElseIf T2O(F+I,ᵗB,ᵗ,)
:.A
:If T2O(F+I+2,ᵗA,{[3F]})
:ᵗ4→{S+J
:ᵗ7→{S+J+1
:2
:.C
:ElseIf T2O(F+I+2,ᵗC,{[3F]})
:ᵗ4→{S+J
:ᵗ1→{S+J+1
:2
:.D
:ElseIf T2O(F+I+2,ᵗD,{[3F]})
:ᵗ4→{S+J
:ᵗ2→{S+J+1
:2
:.E
:ElseIf T2O(F+I+2,ᵗE,{[3F]})
:ᵗ4→{S+J
:ᵗ3→{S+J+1
:2
:.H
:ElseIf T2O(F+I+2,ᵗH,{[3F]})
:ᵗ4→{S+J
:ᵗ4→{S+J+1
:2
:.L
:ElseIf T2O(F+I+2,ᵗL,{[3F]})
:ᵗ4→{S+J
:ᵗ5→{S+J+1
:2
:Else
:ᵗ0→{S+J
:ᵗ6→{S+J+1
:0
:End
:.C,
:ElseIf T2O(F+I,ᵗC,ᵗ,)
:.A
:If T2O(F+I+2,ᵗA,{[3F]})
:ᵗ4→{S+J
:ᵗF→{S+J+1
:2
:.B
:ElseIf T2O(F+I+2,ᵗB,{[3F]})
:ᵗ4→{S+J
:ᵗ8→{S+J+1
:2
:.D
:ElseIf T2O(F+I+2,ᵗD,{[3F]})
:ᵗ4→{S+J
:ᵗA→{S+J+1
:2
:.E
:ElseIf T2O(F+I+2,ᵗE,{[3F]})
:ᵗ4→{S+J
:ᵗB→{S+J+1
:2
:.H
:ElseIf T2O(F+I+2,ᵗH,{[3F]})
:ᵗ4→{S+J
:ᵗC→{S+J+1
:2
:.L
:ElseIf T2O(F+I+2,ᵗL,{[3F]})
:ᵗ4→{S+J
:ᵗD→{S+J+1
:2
:Else
:ᵗ0→{S+J
:ᵗE→{S+J+1
:0
:End
:.D,
:ElseIf T2O(F+I,ᵗD,ᵗ,)
:.A
:If T2O(F+I+2,ᵗA,{[3F]})
:ᵗ5→{S+J
:ᵗ7→{S+J+1
:2
:.B
:ElseIf T2O(F+I+2,ᵗB,{[3F]})
:ᵗ5→{S+J
:ᵗ0→{S+J+1
:2
:.C
:ElseIf T2O(F+I+2,ᵗC,{[3F]})
:ᵗ5→{S+J
:ᵗ1→{S+J+1
:2
:.E
:ElseIf T2O(F+I+2,ᵗE,{[3F]})
:ᵗ5→{S+J
:ᵗ3→{S+J+1
:2
:.H
:ElseIf T2O(F+I+2,ᵗH,{[3F]})
:ᵗ5→{S+J
:ᵗ4→{S+J+1
:2
:.L
:ElseIf T2O(F+I+2,ᵗL,{[3F]})
:ᵗ5→{S+J
:ᵗ5→{S+J+1
:2
:Else
:ᵗ1→{S+J
:ᵗ6→{S+J+1
:0
:End
:.E,
:ElseIf T2O(F+I,ᵗE,ᵗ,)
:.A
:If T2O(F+I+2,ᵗA,{[3F]})
:ᵗ5→{S+J
:ᵗF→{S+J+1
:2
:.B
:ElseIf T2O(F+I+2,ᵗB,{[3F]})
:ᵗ5→{S+J
:ᵗ8→{S+J+1
:2
:.C
:ElseIf T2O(F+I+2,ᵗC,{[3F]})
:ᵗ5→{S+J
:ᵗ9→{S+J+1
:2
:.D
:ElseIf T2O(F+I+2,ᵗD,{[3F]})
:ᵗ5→{S+J
:ᵗA→{S+J+1
:2
:.H
:ElseIf T2O(F+I+2,ᵗH,{[3F]})
:ᵗ5→{S+J
:ᵗC→{S+J+1
:2
:.L
:ElseIf T2O(F+I+2,ᵗL,{[3F]})
:ᵗ5→{S+J
:ᵗD→{S+J+1
:2
:Else
:ᵗ1→{S+J
:ᵗE→{S+J+1
:0
:End
:.H,
:ElseIf T2O(F+I,ᵗH,ᵗ,)
:.A
:If T2O(F+I+2,ᵗA,{[3F]})
:ᵗ6→{S+J
:ᵗ7→{S+J+1
:2
:.B
:ElseIf T2O(F+I+2,ᵗB,{[3F]})
:ᵗ6→{S+J
:ᵗ0→{S+J+1
:2
:.C
:ElseIf T2O(F+I+2,ᵗC,{[3F]})
:ᵗ6→{S+J
:ᵗ1→{S+J+1
:2
:.D
:ElseIf T2O(F+I+2,ᵗD,{[3F]})
:ᵗ6→{S+J
:ᵗ2→{S+J+1
:2
:.E
:ElseIf T2O(F+I+2,ᵗE,{[3F]})
:ᵗ6→{S+J
:ᵗ3→{S+J+1
:2
:.L
:ElseIf T2O(F+I+2,ᵗL,{[3F]})
:ᵗ6→{S+J
:ᵗ5→{S+J+1
:2
:Else
:ᵗ2→{S+J
:ᵗ6→{S+J+1
:0
:End
:.L,
:ElseIf T2O(F+I,ᵗL,ᵗ,)
:.A
:If T2O(F+I+2,ᵗA,{[3F]})
:ᵗ6→{S+J
:ᵗF→{S+J+1
:2
:.B
:ElseIf T2O(F+I+2,ᵗB,{[3F]})
:ᵗ6→{S+J
:ᵗ8→{S+J+1
:2
:.C
:ElseIf T2O(F+I+2,ᵗC,{[3F]})
:ᵗ6→{S+J
:ᵗ9→{S+J+1
:2
:.D
:ElseIf T2O(F+I+2,ᵗD,{[3F]})
:ᵗ6→{S+J
:ᵗA→{S+J+1
:2
:.E
:ElseIf T2O(F+I+2,ᵗE,{[3F]})
:ᵗ6→{S+J
:ᵗB→{S+J+1
:2
:.H
:ElseIf T2O(F+I+2,ᵗH,{[3F]})
:ᵗ6→{S+J
:ᵗC→{S+J+1
:2
:Else
:ᵗ2→{S+J
:ᵗE→{S+J+1
:0
:End
:Else
:ERR()
:End
:
:Return
:
:.JR statement
:Lbl JR
:If T2O(F+I,ᵗZ,ᵗ,)
:ᵗ2→{S+J
:ᵗ8→{S+J+1
:2
:ElseIf T2O(F+I,ᵗN,ᵗZ) and T1O(F+I+2,ᵗ,)
:ᵗ2→{S+J
:ᵗ0→{S+J+1
:3
:ElseIf T2O(F+I,ᵗC,ᵗ,)
:ᵗ3→{S+J
:ᵗ8→{S+J+1
:2
:ElseIf T2O(F+I,ᵗN,ᵗC) and T1O(F+I+2,ᵗ,)
:ᵗ3→{S+J
:ᵗ0→{S+J+1
:3
:Else
:ᵗ1→{S+J
:ᵗ8→{S+J+1
:0
:End
:Return
:
:.VAT funcs
:
:.Init
:Lbl VIN
:{ᴱ9830}r→P
:0→I
:VNX():VNX()
:Return
:
:.Get next entry if in range
:Lbl VNX
:If P-{P-6}-7→Q≥{ᴱ982E}r
:Q→P
:I++
:End
:Return
:
:.Get previous  entry
:Lbl VPR
:I→N
:0→I
:If N>3
:For(M,0,N-1)
:VNX()
:End
:End
:Return
:
:.Get type
:Lbl VCT
:{P}
:Return
:
:.Get name      length
:Lbl VNL
:{P-6}
:Return
:
:.Get name
:Lbl VN
:P-7
:Return

Donc pour répondre aux questions qui seront peut-être posées :

  • Le ᵗ devant des nombres ou des tokens, c'est pour renvoyer le code décimal de ce token (il n'est pas interprété, c'est pour ça que j'utilise ᵗIf à un moment donné, c'est pour chercher If dans le fichier, en sachant que le hook le remplace par cp ^^)
  • Non je ne connais pas de méthodes pour l'optimiser -_-'
  • Il pèse 7100 octets une fois compilé
  • Il a besoin de 12228 octets de RAM libre avant l'exécution (de toute façon le compilo génère un message d'erreur s'il n'y a pas assez de place)
  • Les nombres hexa entres {[ ]}, c'est pour chercher un token qui n'existe pas en tant que texte (comme un retour à la ligne : {[3F]} )


Voilà, pour lancer le hook, vous avez juste à dégrouper le fichier *.8xg et exécuter SWITCHHK (c'est un programme Ti-Basic) Content

Bon, le temps que le problème de détection des programmes soit réglé, et je poste l'exécutable Ok

_________________
[Axe] [Vous devez être inscrit et connecté pour voir ce lien], aussi compatible 82 stats !

[Vous devez être inscrit et connecté pour voir ce lien]
[Vous devez être inscrit et connecté pour voir ce lien]

Spoiler:

matrefeytontias
Platinum 1
Platinum 1

Sexe : Masculin
Age : 19
Messages : 1383
Date d'inscription : 28/09/2011
Etudes : 1ère S SI
Points Forum : 90
Points Concours : 7
Langages :
  • - ASM TI-82 Stats / TI-83
  • - ASM TI-83+ / TI-84+
  • - Axe Parser
  • - Lua Nspire
  • - Ndless Nspire
Calculatrices :
  • - TI-83+.fr
  • - TI-Nspire CAS

TI-83+.fr


Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par matrefeytontias le Jeu 19 Jan - 18:01

Pancarte Up Désolé pour le double-post Gni

Ayé, le problème est réglé (enfin détecté plutôt ... vu qu'il n'y avait pas vraiment de problème Pancarte Boulet).

Voici donc [Vous devez être inscrit et connecté pour voir ce lien] !

Donc, j'ai fait un zip avec deux *.8xg, AXESM et TOKHOOK plus un readme afin de l'utiliser correctement Ok

Enjoy !

EDIT : d'ailleurs j'ai oublié de poster la source du hook :

Code:
.org $9D93
.db $BB,$6D
Start:
 IM 1
 bcall(_delres)
 ld hl,Hook
 ld de,statvars
 ld bc,End-Hook
 ldir

 ld a,1
 ld hl,statvars
 bcall(_enableTokenHook)
 ret

Hook:
.org statVars
.db $83
 ld a,b
 or a
 ret nz
 push hl
 ld hl,tokenTable

tokenSearchLoop:
 ld a,e
 cp (hl)
 inc hl
 jr z,chkByte2

notTokenMatch:
 inc hl
 ld c,(hl)
 inc c
 add hl,bc
 ld a,(hl)
 inc a
 jr nz,tokenSearchLoop
 pop hl
 ret

chkByte2:
 ld a,d
 cp (hl)
 jr nz,notTokenMatch
 pop bc
 ret

tokenTable:
.dw $019C          ; If
.db 3
.db "cp "

.dw $019E          ; Then
.db 6
.db "bcall "

.dw $01B8          ; Input
.db 6
.db "AsmSrc"

.dw $01BA          ; Prompt
.db 3
.db "ld "

.dw $01AC          ; Lbl
.db 3
.db "jr "

.dw $01AE          ; Goto
.db 3
.db "jp "

.dw $01A6          ; For(
.db 5
.db "djnz "

.dw $01B0          ; Pause
.db 3
.db "nop"

.dw $0434          ; GraphStyle(
.db 1
.db ";"

.dw $E2              ; -
.db 4
.db "sub "

.dw $01AA          ; Return
.db 3
.db "ret"

.db $FF              ; Fin de la liste de tokens

.org LPC            ; retour à l'endroit de l'appel
End:

Voilà voilà Content

_________________
[Axe] [Vous devez être inscrit et connecté pour voir ce lien], aussi compatible 82 stats !

[Vous devez être inscrit et connecté pour voir ce lien]
[Vous devez être inscrit et connecté pour voir ce lien]

Spoiler:

matrefeytontias
Platinum 1
Platinum 1

Sexe : Masculin
Age : 19
Messages : 1383
Date d'inscription : 28/09/2011
Etudes : 1ère S SI
Points Forum : 90
Points Concours : 7
Langages :
  • - ASM TI-82 Stats / TI-83
  • - ASM TI-83+ / TI-84+
  • - Axe Parser
  • - Lua Nspire
  • - Ndless Nspire
Calculatrices :
  • - TI-83+.fr
  • - TI-Nspire CAS

TI-83+.fr


Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par noelthebest le Ven 20 Jan - 16:52

Cool !
Ça te dit un news sur TI-Planet ?
(je demande au cas où tu voudrais attendre une nouvelle version)

_________________
[Vous devez être inscrit et connecté pour voir cette image]

[Vous devez être inscrit et connecté pour voir cette image]
[Vous devez être inscrit et connecté pour voir cette image]

noelthebest
Platinum 1
Platinum 1

Sexe : Masculin
Age : 19
Messages : 1969
Date d'inscription : 12/03/2011
Etudes : ENS Cachan
Points Forum : 20
Points Concours : 9
Langages :
  • - TI-Basic Z80
  • - ASM TI-83+ / TI-84+
  • - Axe Parser
Calculatrices :
  • - TI-83+.fr
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84+ SE


Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par matrefeytontias le Ven 20 Jan - 17:54

Je préfèrerai attendre une version un peu (beaucoup) plus aboutie si ça te gêne pas Content

Sinon, tu l'as testé ? Sandro me dit que ça RAM clear une fois avant de marcher o_O (chez moi ça fait pas ça)

_________________
[Axe] [Vous devez être inscrit et connecté pour voir ce lien], aussi compatible 82 stats !

[Vous devez être inscrit et connecté pour voir ce lien]
[Vous devez être inscrit et connecté pour voir ce lien]

Spoiler:

matrefeytontias
Platinum 1
Platinum 1

Sexe : Masculin
Age : 19
Messages : 1383
Date d'inscription : 28/09/2011
Etudes : 1ère S SI
Points Forum : 90
Points Concours : 7
Langages :
  • - ASM TI-82 Stats / TI-83
  • - ASM TI-83+ / TI-84+
  • - Axe Parser
  • - Lua Nspire
  • - Ndless Nspire
Calculatrices :
  • - TI-83+.fr
  • - TI-Nspire CAS

TI-83+.fr


Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par noelthebest le Ven 20 Jan - 17:57

Bin moi j'ai TI Connect non utilisable pour le moment.
(disons que c'est mon pc qui l'est)

_________________
[Vous devez être inscrit et connecté pour voir cette image]

[Vous devez être inscrit et connecté pour voir cette image]
[Vous devez être inscrit et connecté pour voir cette image]

noelthebest
Platinum 1
Platinum 1

Sexe : Masculin
Age : 19
Messages : 1969
Date d'inscription : 12/03/2011
Etudes : ENS Cachan
Points Forum : 20
Points Concours : 9
Langages :
  • - TI-Basic Z80
  • - ASM TI-83+ / TI-84+
  • - Axe Parser
Calculatrices :
  • - TI-83+.fr
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84+ SE


Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par AlexRider38 le Sam 21 Jan - 9:43

Moi aussi je peut faire la news ^^ (et ouais!!!)

AlexRider38
Or 4
Or 4

Sexe : Masculin
Age : 19
Messages : 579
Date d'inscription : 11/07/2010
Etudes : Lycéen
Points Forum : -10
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
  • - TI-Basic Nspire
  • - Lua Nspire
  • - Ndless Nspire
Calculatrices :
  • - TI-Collège
  • - TI-80
  • - TI-82
  • - TI-82 Stats.fr
  • - TI-84 Pocket.fr
  • - TI-Nspire CAS
  • - TI-Nspire CX

TI-84 Pocket.fr


Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par noelthebest le Sam 21 Jan - 18:11

Ouais ben à la base c'était moi qui était censé promouvoir Espace-TI... Triste

_________________
[Vous devez être inscrit et connecté pour voir cette image]

[Vous devez être inscrit et connecté pour voir cette image]
[Vous devez être inscrit et connecté pour voir cette image]

noelthebest
Platinum 1
Platinum 1

Sexe : Masculin
Age : 19
Messages : 1969
Date d'inscription : 12/03/2011
Etudes : ENS Cachan
Points Forum : 20
Points Concours : 9
Langages :
  • - TI-Basic Z80
  • - ASM TI-83+ / TI-84+
  • - Axe Parser
Calculatrices :
  • - TI-83+.fr
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84+ SE


Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par persalteas le Dim 22 Jan - 14:12

Dur dur, la concurrence.

Alex, on te voit plus parler Nspire que 83 sur Planet TI...

Laissons Noel faire son boulot Content

Spoiler:

moi, je peux pas le faire, a force de m'entendre chanter les louanges de Matrefeytontias ils vont me regarder de travers...

_________________
[Vous devez être inscrit et connecté pour voir cette image]

persalteas
Platinum 2
Platinum 2

Sexe : Masculin
Age : 21
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :
  • - TI-Basic Z80
  • - xLib
  • - Grammer
  • - TI-Basic Nspire
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-83
  • - TI-83+
  • - TI-84+ SE
  • - TI-86
  • - TI-Nspire
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84 Pocket.fr


http://tiemulation.kegtux.org

Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par matrefeytontias le Dim 22 Jan - 15:32

Moi je dis : baston vous battez pas, de toute façon le compilo est pas prêt pour une vraie distribution. Je vous dirais quand le moment sera venu (tatatiiiin).

J'y pense, noel check tes mails, je t'ai envoyé un fond pour le site du Ti-Concours (j'ai modifié l'accueil pour afficher le fond et j'ai tout mis dans un *.zip, t'as juste à ouvrir accueil.php).

_________________
[Axe] [Vous devez être inscrit et connecté pour voir ce lien], aussi compatible 82 stats !

[Vous devez être inscrit et connecté pour voir ce lien]
[Vous devez être inscrit et connecté pour voir ce lien]

Spoiler:

matrefeytontias
Platinum 1
Platinum 1

Sexe : Masculin
Age : 19
Messages : 1383
Date d'inscription : 28/09/2011
Etudes : 1ère S SI
Points Forum : 90
Points Concours : 7
Langages :
  • - ASM TI-82 Stats / TI-83
  • - ASM TI-83+ / TI-84+
  • - Axe Parser
  • - Lua Nspire
  • - Ndless Nspire
Calculatrices :
  • - TI-83+.fr
  • - TI-Nspire CAS

TI-83+.fr


Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par persalteas le Dim 22 Jan - 16:12

Matref en mode super-héros libérateur !

(tiens, je t'ai traficoté un truc, ça devrait gérer, t'as qu'a cliquer là.... ^^ )

On attend donc la version officielle.

_________________
[Vous devez être inscrit et connecté pour voir cette image]

persalteas
Platinum 2
Platinum 2

Sexe : Masculin
Age : 21
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :
  • - TI-Basic Z80
  • - xLib
  • - Grammer
  • - TI-Basic Nspire
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-83
  • - TI-83+
  • - TI-84+ SE
  • - TI-86
  • - TI-Nspire
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84 Pocket.fr


http://tiemulation.kegtux.org

Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par matrefeytontias le Dim 22 Jan - 16:19

Alors juste, précision : comme le compilo traduit l'ASM en hexa, il avancera en même temps que le tuto (logique), mais le prochain chapitre abordera pas mal de nouveaux trucs donc mettra du temps à sortir Gni .

_________________
[Axe] [Vous devez être inscrit et connecté pour voir ce lien], aussi compatible 82 stats !

[Vous devez être inscrit et connecté pour voir ce lien]
[Vous devez être inscrit et connecté pour voir ce lien]

Spoiler:

matrefeytontias
Platinum 1
Platinum 1

Sexe : Masculin
Age : 19
Messages : 1383
Date d'inscription : 28/09/2011
Etudes : 1ère S SI
Points Forum : 90
Points Concours : 7
Langages :
  • - ASM TI-82 Stats / TI-83
  • - ASM TI-83+ / TI-84+
  • - Axe Parser
  • - Lua Nspire
  • - Ndless Nspire
Calculatrices :
  • - TI-83+.fr
  • - TI-Nspire CAS

TI-83+.fr


Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par kindermoumoute le Dim 22 Jan - 18:31

Ouch, le source fait mal à la tête... Peur
Je sais vraiment pas ce qu'il te passe par la tête quand tu fais ça :
Code:
:Repeat {S+I}={[00]}
:I++
:End
55 octets, cela revient à ça :
Code:
:Repeat {S+I}=0
:I++
:End
Déjà plus que 44 octets, puis ça :
Code:
:While {S+I}
:I++
:End
Et là 37 octets...
Sérieusement je te conseil d'organiser ton programme avant de l'écrire, juste y penser 30 secondes peux simplifier énormément ton programme, là tu arrive à la limite des 8ko alors que je suis sûr que tu peux réduire par 1,5 voir 2 la taille de ton exécutable !

Bref j'attend un source plus simplifié avec impatience. Clin Oeil

kindermoumoute
Or 4
Or 4

Sexe : Masculin
Age : 22
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-83+

TI-83+


Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par matrefeytontias le Mar 24 Jan - 17:45

J'ai "un peu" réussi à optimiser (j'ai gagné environ 1000 octets) et j'ai pu par la même occasion ajouter les ALIAS (et donc tout plein de hooks) !!!

Pour ceux qui ne programment pas en ASM, les alias sont les noms des commandes à spécifier à la place de son adresse. J'ai donc essayé de renommer certains tokens avec le nom des romcalls que je pensais les plus utiles (en ordre alphabétique) et je les détecte à l'aide du programme prgmΘALIAS (voir le screen), comme ça, pour effacer l'écran au lieu de faire :
Code:
:AsmSrc
:bcall 4540
:ret
:End

Vous ferez :

[Vous devez être inscrit et connecté pour voir cette image]

_________________
[Axe] [Vous devez être inscrit et connecté pour voir ce lien], aussi compatible 82 stats !

[Vous devez être inscrit et connecté pour voir ce lien]
[Vous devez être inscrit et connecté pour voir ce lien]

Spoiler:

matrefeytontias
Platinum 1
Platinum 1

Sexe : Masculin
Age : 19
Messages : 1383
Date d'inscription : 28/09/2011
Etudes : 1ère S SI
Points Forum : 90
Points Concours : 7
Langages :
  • - ASM TI-82 Stats / TI-83
  • - ASM TI-83+ / TI-84+
  • - Axe Parser
  • - Lua Nspire
  • - Ndless Nspire
Calculatrices :
  • - TI-83+.fr
  • - TI-Nspire CAS

TI-83+.fr


Revenir en haut Aller en bas

Re: AxeSM, un compilateur d'ASM ... en Axe ^^

Message par Contenu sponsorisé Aujourd'hui à 15:39


Contenu sponsorisé


Revenir en haut Aller en bas

Page 1 sur 3 1, 2, 3  Suivant

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum