Warum ist Speicherbereich 1020 $ unwriteable auf M68HC12 mit staa?
-
03-07-2019 - |
Frage
Ich habe folgenden asm-Code:
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
Die Tabelle ist richtig eingestellt, aber die staa schreibt nichts bei 1020 auf. Warum?
Lösung
Ich glaube, es gibt dort ROM
10,3 ROM Array
Der ROM besteht aus einem 28K Byte-Array von $ 1000 bis $ 7FFF gemacht und ein 32 K-Byte-Array von $ 8000 bis $ FFFF bei Reset abgebildet. Das MAPROM Bit im MISC-Register ermöglicht die Vertauschung der beiden Arrays. ROMON28 und ROMON32 aktivieren oder den ROM-Modul deaktivieren
Von der M68HC12 Datenblatt
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow