π
<-

[ASM] Variable ASM/Ti-Basic

Assembleur, Axe, C/C++, ICE...

[ASM] Variable ASM/Ti-Basic

Unread postby guilhem prevot » 26 Nov 2015, 19:38

Bonjour à tous,

J'ai commencé l'assembleur il y a un certain temps mais j'ai beaucoup de mal avec les variables, j'ai beau avoir relu une dizaine de fois le tuto pas moyen de comprendre la totalité. J'arrive à m'en sortir quelque peu mais quelque choses m'embête depuis un certain temps, j'aimerai pouvoir modifier la valeur d'une variable dans mon programme ASM puis en sortir et pouvoir réutiliser la variable modifiée en TI-Basic (Par exemple réussir à modifié les variables A,B,C,D,... du Ti-Basic mais à partir d'un programme en ASM)

Si certains on des idées je suis preneur, merci à tous ceux qui auront lu :)
User avatar
guilhem prevot
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 66.7%
 
Posts: 8
Joined: 26 Nov 2015, 19:12
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: [ASM] Variable ASM/Ti-Basic

Unread postby critor » 26 Nov 2015, 20:16

Salut !

Quelle calculatrice as-tu ?

Une idée est d'utiliser la routine _ChkFindSym.
Elle recherche en mémoire la variable dont le nom est dans OP1, et enregistre dans DE l'adresse des données correspondantes.
http://wikiti.brandonw.net/index.php?ti ... CALLs:42F1

Il te suffit ensuite de lire/modifier à partir de cette adresse, en suivant la documentation du format de variable :
http://merthsoft.com/linkguide/ti83+/indexex3.html
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 54.4%
 
Posts: 42483
Images: 17331
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: [ASM] Variable ASM/Ti-Basic

Unread postby guilhem prevot » 26 Nov 2015, 21:38

Bonsoir,

J'ai une TI83+, si j'ai bien compris ton idée je ne peux récupérer l'information que dans un sens basic vers ASM mais c'est le contraire que je veux faire. Mais je vais quand même étudier ton idée voir si cela peut m'apporter autre chose, merci à toi.
Après avoir lu tes liens, je pense avoir compris, il faudrait mettre une variable Basic (genre A,B,...) dans OP1, la modifié puis on peut la réutiliser ensuite modifiée ? A ce moment comment met-on dans une variable dans OP1 ?
User avatar
guilhem prevot
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 66.7%
 
Posts: 8
Joined: 26 Nov 2015, 19:12
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: [ASM] Variable ASM/Ti-Basic

Unread postby critor » 26 Nov 2015, 23:52

guilhem prevot wrote:J'ai une TI83+, si j'ai bien compris ton idée je ne peux récupérer l'information que dans un sens basic vers ASM mais c'est le contraire que je veux faire


Je ne comprends pas.

Tu as dit vouloir modifier une variable en Asm.
C'est bien ce que j'expose dans le post ci-dessus.

En sortie du programme Asm, les programmes Basic auront donc accès à la variable modifiée.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 54.4%
 
Posts: 42483
Images: 17331
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: [ASM] Variable ASM/Ti-Basic

Unread postby guilhem prevot » 27 Nov 2015, 14:46

D'accord, mais j'ai une autre petite question, pourrais-tu me présenter rapidement comment faire avec OP1? (Prendre la variable, la modifier et la réutiliser ensuite). Merci de ton aide
User avatar
guilhem prevot
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 66.7%
 
Posts: 8
Joined: 26 Nov 2015, 19:12
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: [ASM] Variable ASM/Ti-Basic

Unread postby critor » 27 Nov 2015, 15:20

Ben écoute, ça dépend de ce que tu veux faire, je ne sais même pas où est-ce que tu coinces.

Et je ne vois pas quoi te dire concernant la réutilisation de la variable... tu la réutilises totalement normalement ?

Pourquoi tenir d'ailleurs à modifier ta variable en asm ?

Voici une base de code pour récupérer l'accès en lecture au contenu d'une variable d'application "TEST" (AppVar) :
Code: Select all
   ld hl,LoadString   ; on met dans HL le type (1 octet) + nom de variable (maximum, 8 octets)
   CALL _Mov9ToOP1      ; on copie les 9 premiers octets de HL dans OP1
   CALL _ChkFindSym           ; récupère dans DE le pointeur de données de la variable décrite dans OP1
   jp c,LError      ; variable non trouvée
   call _ChkInRam   ; la variable est-elle en RAM ?
   ex hl,de      ; échange DE et HL (le pointeur de données est donc par la suite dans HL)
   jr z,Goto1      ; la variable est en RAM -> on saute la gestion de la mémoire d'archive
   ld bc,18      ; la variable est en archive
   add hl,bc      ; -> on saute les 18 octets de header
Goto1:
   ld bc,2
   add hl,bc      ; saute les deux premiers octets contenant la taille des données
   ...         ; tu lis et écris ici tout ce que tu veux dans HL, à incrémenter à chaque fois
   ret         ; fin de routine
Error:
   ld hl,0
LoadString:
   DB 15h,"TEST",0   ; type + nom de la variable
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 54.4%
 
Posts: 42483
Images: 17331
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: [ASM] Variable ASM/Ti-Basic

Unread postby guilhem prevot » 27 Nov 2015, 19:32

Enfaite j'ai un programme qui sert de launcher à des programmes en Basic, or le Basic est trop lent pour avoir une launcher fluide, donc je passe par un launcher en ASM qui lorsque l'on appuierait sur Entrer, il nous lance le programme Basic voulu. Je cherche donc à modifier une variable pour savoir quel programme lancer à la sortie du programme ASM.
Donc je me disais qu'il était surement possible de modifier les variables de bases de la calculatrice en ASM pour la réutiliser simplement en Basic.
User avatar
guilhem prevot
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 66.7%
 
Posts: 8
Joined: 26 Nov 2015, 19:12
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: [ASM] Variable ASM/Ti-Basic

Unread postby critor » 27 Nov 2015, 19:53

Ok. Ben c'est possible, oui - c'est bien le but du code ci-dessus. :)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 54.4%
 
Posts: 42483
Images: 17331
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: [ASM] Variable ASM/Ti-Basic

Unread postby guilhem prevot » 27 Nov 2015, 19:55

(Je vais encore t'embêter un peu ^^) J'ai bien compris comment modifié la variable, tout ça tout ça mais par contre pour lire une AppVar en Basic je suis complètement perdu même après des recherches sur le web :/
Last edited by guilhem prevot on 27 Nov 2015, 19:59, edited 2 times in total.
User avatar
guilhem prevot
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 66.7%
 
Posts: 8
Joined: 26 Nov 2015, 19:12
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: [ASM] Variable ASM/Ti-Basic

Unread postby critor » 27 Nov 2015, 19:57

Ah non mais le code précédent était un exemple.
Tu remplaces l'AppVar par un réel donc
Juste à changer en dernière ligne le nom (donc A par exemple), ainsi que le type de variable (le 15 signifiant AppVar).
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 54.4%
 
Posts: 42483
Images: 17331
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Next

Return to Langages alternatifs

Who is online

Users browsing this forum: ClaudeBot [spider] and 9 guests

-
Search
-
Social TI-Planet
-
Featured topics
Ndless for CX 4.5.5 / CX II 6.2.0
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2078 utilisateurs:
>2045 invités
>27 membres
>6 robots
Record simultané (sur 6 mois):
32248 utilisateurs (le 01/09/2025)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)