2009-03-06 12 views
6

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 $0a,$0c,$0e,$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 mesa está puesta adecuadamente, aunque el staa escribe nada en 1020 en. ¿Por qué?

+0

Upvote para ir por encima de mi cabeza. :-) –

+0

¿tal vez si los comento? – kthakore

+0

no podría doler ... –

Respuesta

6

Creo que hay ROM no

10,3 matriz ROM

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

Desde el M68HC12 datasheet

+0

¡Tienes razón! Excepto que el Área ROM es de $ 1000- $ 2000. Gracias – kthakore

Cuestiones relacionadas