1

[TI 83+]

Salut.

Bon, je viens ici en tout dernier recours, c'que j'arrive pas : RST, d'après
le manuel utilisateur du Z80, ça:
=> pose le PC courant sur la pile
=> modifie le PC avec l'opérande, ça savoir si l'opérande est 0x00,
alors ce sera 0b000, si 0x08 alors 0b001, ...

jusque là, pas de problème, une instruction comme une autre...
et puis dans la manuel développeur de la ti83+ :

rst rBR_CALL
DW label

le rst rBR_CALL, soit RST 0x28, pas de problème : on jump à un endroit en
mémoire en page 0 et c bon...
mais le dw label ??

On pourrait m'expliquer à quoi il sert, ceux qui savent ?

Merci d'av ;-)

a++
j.

2

Je sais pas si t'auras bcp de réponses, presque tout le monde fait du 68k.

3

as-tu deja regardé ds ttes les docs sur le z80 dispos sur le net?
avatar
"Je respecte profondément Iggy Pop et Neil Young pour le fait qu'ils n'ont jamais cédé aux compromis et que leur musique a toujours été sauvage. Tout cela n'a rien à voir avec ces Guns N' Roses et autres Metallica qui devraient tous êtres pendus par les couilles, voire castrés... En fait, on devrait leur injecter du silicone dans la poitrine et les envoyer dans un bordel nippon tenu par la mafia locale."

-Kurt Cobain-
(1967-1994)

J'avais une vie... maintenant, j'ai une TI-89.

4

Merci qd même, je vais tenter de me débrouiller autrement alors... je pensais n'utiliser que les docs officielles, mais s'ils voulaient expliquer un peu aussi !

Regardez par exemple les headers des applications flash ti 83+ : PAS UNE SEUL explication du contenu du header !!!!...

:-((((

Enfin, merci quand même... :-)

a++
j.

5

Je suppose que la routine en 0x28 va regarder ce qu'il y a à l'adresse de retour (ici le label) et faire quelque chose avec ce qu'elle trouve.
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

CmpXchg a écrit :
[TI 83+]

Salut.

Bon, je viens ici en tout dernier recours, c'que j'arrive pas : RST, d'après
le manuel utilisateur du Z80, ça:
=> pose le PC courant sur la pile
=> modifie le PC avec l'opérande, ça savoir si l'opérande est 0x00,
alors ce sera 0b000, si 0x08 alors 0b001, ...

jusque là, pas de problème, une instruction comme une autre...
et puis dans la manuel développeur de la ti83+ :

rst rBR_CALL
DW label

le rst rBR_CALL, soit RST 0x28, pas de problème : on jump à un endroit en
mémoire en page 0 et c bon...
mais le dw label ??

On pourrait m'expliquer à quoi il sert, ceux qui savent ?

Merci d'av ;-)

a++ j.



Sur TI-83+, tu ne peux pas faire de ROM CALLs avec un simple CALL, (tu peux utiliser, enfin, tu dois utiliser l'instruction CALL pour des appels à des sous-routines dans ton programme, du moment que c'est pas dans la ROM c'est bon). C'est du à certaines particularités de cette calculatrice (ne me demande pas les détails, j'en sais rien, faudrai que je cherche smile ). Regarde des sources pour de programmes 83+ ION, tu verra que pour les ROM CALLs, il faut utiliser :

#define bcall(xxxx) rst 28h .dw xxxx

le .dw xxxx correspond à ton .dw label, c'est tout simplement l'adresse de ta ROM CALL.
C'est la convention pour faire un appel en ROM sur 83+.
Si tu veux mieux comprendre, débugge l'éxecution d'un programme qui fait un appel de ce type, tu verra que la code de la ROM utiliser le WORD xxxx (ou label) qui se trouve juste apres le RST 28h.
[ Come take us out of here / take us anywhere... oh yeah ]

7

Salut !
Alors déjà, je te remercie pour tes explications.

Donc en fait, comme l'ancien PC est sur la stack, la rom call va l'utiliser pour aller prendre mon dw, puis incrémenter de 2 mon pc puis le reposer sur la pile, c'est ça ?
Enfin c'est la seule explication logique que je vois...

Donc admettons, disons que ça ne remet pas en cause mes données sur le RST, alors ça résoud mon problème.

Sincèrement, merci !! :-)))

a++
j.