Pregunta

Tengo el siguiente código ASM:

    org $1000             ;Table Origin is at $1000
fcb $02,$04,$06,$08   ; values of table from $1001 - $1004
fcb <*>a,<*>c,<*>e,$10   ; values of table from $1005 - $1009


        org $400          ; Program Start
        lds #$4000        ; Set Stack Pointer at value (#) $4000
        ldy #$1000        ; Set Index Y at $1000
        ldaa #$04         ; Load Accumulator a with value $04
loop    staa $20,y        ; Store value of Accumulator a at y = $1000 {DOESNT WORK} 
        staa $21,y        ; Store value of Accumulator a at y = $1021 {DOESNT WORK}
        iny               ; increment y (at this point $1020 and $1021 are still ff)
        iny               ; increment y (at this point $1020 and $1021 are still ff)
        deca              ; decrement a
        bne loop          ; loop until a = 0
hold    bra hold          ; end of program
        end

La tabla está configurada correctamente pero la estación no escribe nada en 1020. ¿Por qué?

¿Fue útil?

Solución

Creo que hay ROM allí

  

10.3 ROM Array

     

La ROM está hecha de una matriz de bytes de 28 K asignada de $ 1000 a $ 7FFF y   de una matriz de bytes de 32 K asignada de $ 8000 a $ FFFF en el reinicio. los   El bit MAPROM en el registro MISC permite el intercambio de las dos matrices.   ROMON28 y ROMON32 habilitan o inhabilitan el módulo ROM

De la M68HC12 hoja de datos

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top