1

Yep,

Comme le dit le titre j'ai un problème lors de la création d'une AppVar pour mon programme. Après une petite recherche sur WikiTI, voilà ce qu'on me dit :

ld hl,appvarName
RST rMov9ToOP1
ld hl,10
B_CALL CreateAppVar

appvarName: db AppVarObj,"VARNAME",0


Déjà je croit que le 'RST rMov9ToOP1' est égal à un 'bcall(_Mov9ToOP1)' et que ça doit mettre le contenu d'hl dans op1. Mais dans les deux cas ça ne marche pas (même en remettant le contenu d'op1 à zéro avant d'essayer de la créer sad)...

Ensuite, c'est bien la longueur du nom de l'AppVar qu'il faut mettre dans hl ? Si c'est ça j'ai pas compris pourquoi je doit mettre 10 dans hl si le nom ne fait que 9 octets (en comptant le 0).

2

Nan c'est la taille de la variable qu'il faut mettre dans HL :

(83psysroutines.pdf) (p356) :

Inputs :
Registers :
HL = size of AppVar to create in bytes
Flags :
none
Other :
OP1= name of the AppVar to create


Ensuite "RST rMov9ToOP1" c'est bien "bcall(_Mov9ToOP1)" et ça met bien le contenu de HL dans OP1

L'exemple qu'ils donnent dans le "manuel officiel" (http://education.ti.com/guidebooks/sdk/83p/83psysroutines.pdf)
c'est :
LD HL,DOGname
RST rMOV9ToOP1          ;OP1=name
LD HL,50
B_CALL  CreateAppVar ;if returns then variable created

DOGname:       DB     AppVarObj,'DOG',0
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic

3

(Nan mais j'avais déjà essayer avec ça et ça ne marche toujours pas...)

Ouaip sinon je me disait bien que ça ne pouvait pas être la taille du nom.

edit : Erf je viens de trouver le bug, j'avais un flag de désactivé quand j'appelai la rom call, du coup ça faisait n'importe quoi cheeky

4

Dsl, j'y connais rien, mais faudrait regarder dans la source de Celtic2 qui a cette fonction... (sur unitedti.org)