Почему область памяти $ 1020 не записывается на M68HC12 со staa?
-
03-07-2019 - |
Вопрос
У меня есть следующий код 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
Таблица настроена правильно, но при 1020 Staa ничего не пишет. Зачем? Р>
Решение
Я считаю, что там есть ROM
10.3 Массив ROM
ПЗУ состоит из 28-байтового массива, сопоставленного с $ 1000 до $ 7FFF, и 32-байтового массива байтов, отображенного от $ 8000 до $ FFFF при сбросе. Бит MAPROM в регистре MISC позволяет менять местами два массива. ROMON28 и ROMON32 включают или отключают модуль ROM
Из M68HC12 таблицы данных
Не связан с StackOverflow