Page 1 of 1

Z80 (TI-83+) cesse de fonctionner sur CALL

Unread postPosted: 01 Nov 2024, 07:42
by michaeltovar
Bonjour,
Chaque fois que j'assemble une application pour la calculatrice TI-83+ (processeur Z80), elle s'arrête à CALL. Voici un exemple ("Bonjour") — il démarre très bien, mais la calculatrice se bloque à l'instruction CALL. Tout ce que je mets avant CALL fonctionne très bien, et tout ce que je mets après ne fonctionne pas. Il s'agit d'un démontage du code, pour afficher des adresses plutôt que des étiquettes. Je l'ai "retouché" pour montrer les lignes de base de données où elles se situent, afin de faciliter la lecture.

Je n'ai jamais eu ce problème pour écrire des "programmes" d'assemblage (qui sont chargés dans la RAM). Les seuls problèmes que je connais avec l'exécution des "applications" (qui sont conservées dans Flash ROM) sont qu'elles ne peuvent pas être auto-modifiables et que, parce que la pagination est nécessaire, l'accès aux données sur une page séparée n'est pas possible. Ceci n'est pas auto-modifiable et ne comporte qu'une seule page... Qu'ai-je fait de mal ?

Code: Select all
0080 218900        LD   HL, 0089h
0083 cd9900        CALL 0099h        ;                      --- App stops here
0086 c38f00        JP   008fh
0089 48656c6c6f00  DB   "Hello", 0
008f fd360500      LD   (IY+05h), 0
0093 ef            RST  28h          ; B_CALL (
0094 364c          DB   4C36h        ;   _ReloadAppEntryVecs)
0096 ef            RST  28h          ; B_CALL (
0097 2740          DB   4027h        ;   _JForceCmdNoChar)  --- App should end here
0099 7e            LD   A, (HL)      ;                      --- Call goes to here
009a ef            RST  28h          ; B_CALL (
009b 0445          DB   4504h        ;   _PutC)
009d fe00          CP   0
009f c8            RET  Z
00a0 23            INC  HL
00a1 18f6          JR   0099h

Re: Z80 (TI-83+) cesse de fonctionner sur CALL

Unread postPosted: 01 Nov 2024, 08:40
by cadichon
Es-tu sûr de bien écrire en asm z80 ?
Je n'y connaît pratiquement rien, mais tu as ici une table d'instructions en z80:https://clrhome.org/table/