Почему область памяти $ 1020 не записывается на M68HC12 со staa?

StackOverflow https://stackoverflow.com/questions/620206

Вопрос

У меня есть следующий код 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 таблицы данных

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top