2009-03-06 18 views
6

J'ai le code asm suivant:

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 

Le tableau est réglé correctement mais le Staa rien écrit à 1020 sur. Pourquoi?

+0

Upvote pour aller au-dessus de ma tête. :-) –

+0

peut-être si je les commente? – kthakore

+0

il ne pouvait pas blesser .... –

Répondre

6

Je crois qu'il ya ROM il

10,3 ROM Tableau

Le ROM est constitué d'un tableau d'octets 28K cartographié de 1000 $ à $ 7FFF et d'un tableau 32 K octets cartographié de 8000 $ à $ FFFF à la réinitialisation. Le bit MAPROM dans le registre MISC permet l'échange des deux matrices. ROMON28 et ROMON32 activer ou désactiver le module ROM

De l'M68HC12 datasheet

+0

Vous avez raison !!! Sauf la zone ROM est de 1000 $ - 2000 $. Je vous remercie – kthakore