1

Voila, je veux creer une variable TIOS, mais je ne connais pas le nom d'avance. Il faudra donc peut etre que je modifie une variable crée dans TIOS. Seulement voila : quand j'essaaye de modifier une variable crée dans TIOS , soit rien ne se passe, soit j'obtiens un "protected memory violation"

Quelqu'un peux m'expliquer pourquoi, ou me donner une source où il a reussi à modifier une variable TIOS ?
Le gentil timide du 64

2

à tous les coups, c parce que tu utilises des chaines de caracteres au format C std pour le nom du symbol.
il faut utiliser le format de string pour la VAT de TI : http://tigcc.ticalc.org/doc/vat.html#SYMSTR

3

PS : attention c une macro pas une fonction !

faudra donc que tu t'en codes une.

=> tu te reserves un buffer qq part de 1+8+1 chars, tu mets le premier char à NULL, et tu recopies le nom dans la suite du buffer.
et finalement tu passes l'adresse du NULL de la fin à la fonction de la VAT du TIOS ( genre &buffer[index_dernier_null] )

4

zut, je croyais que gt dans la section C.
enfin ça ne change rien au pb

5

Voilà le format à appliquer en assembleur:
 dc.b 0,'varname'
var: dc.b 0
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

6

non c'est pas ca le pb
en effet moi je fait :

link a6,#20
pea -20(a6)
pea var
jsr StrToTokN
movea.l a0,a4
lea 8(a7),a7
unlk a6

var: dc.b 'toto'

et a0 est un SYM_STR sur la chaine 'toto' !

Non le problème ne vient pas du SYM_STR
Le gentil timide du 64

7

Si, tu appelles StrToTokN sur une chaîne qui n'est pas une chaîne C valide. Il manque le dc.b 0 à la fin.
Et puis il n'y a aucune raison d'appeler StrToTokN sur une chaîne constante.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité