Pregunta

Cada vez que ensamblar una aplicación para la TI-83 + calculadora (procesador Z80), que deja de funcionar en CALL. Aquí hay un ejemplo ( "Hola") - que comienza a funcionar muy bien, pero la calculadora se congela a la instrucción CALL. Cualquier cosa que puse antes de la llamada funciona muy bien, y todo lo que puse después no se ejecuta. Se trata de un desmontaje del código, para mostrar direcciones en lugar de etiquetas. He "tocado arriba" para mostrar las líneas de base de datos donde los caída en, para hacer más fácil la lectura.

Nunca he tenido este problema montaje escribir "programas" (que se carga en la RAM). Los únicos problemas que yo sepa con el funcionamiento de "aplicaciones" (que se mantienen en la memoria Flash ROM) son que no pueden ser auto-modificación, y que debido a la paginación es necesario, acceder a los datos en una página separada no es posible. Esto no es auto-modificable y sólo tiene una página ... ¿Qué he hecho mal?

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
¿Fue útil?

Solución

Al parecer, que está ensamblando a la dirección 0080h. Esto no puede ser correcto porque el rango de dirección 0000h - 3FFFh está bloqueado en ROM página 0. De hecho, según este ejemplo, que se monten a 4000h. Por lo que su problema es que su llamada está saltando en el firmware, no una parte de su aplicación.

scroll top