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

). 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.