2015-03-30 2 views
1

Мне нужно написать программу, которая будет выполняться от $ 100, выделить 200-байтовый массив в $ 800 и инициализировать этот массив со значениями 200, 199, ... 1.Как создать массив в сборке для 68hc11?

Мне нужно знать, как создать цикл который уменьшит массив, уменьшая значение, которое будет храниться в массиве.

Любые идеи или предложения? Я не могу найти много кода примера для этого процессора.

ORG $100 

     LDAA #200 
     STAA #$800 
     DECA 
     BNE 
+1

В сборке нет такой концепции, как массив. Покажите нам, что вы пробовали до сих пор. – m0skit0

+0

Хорошо подобен массиву? – NeuromancerNoob

+1

В сборке нет структур данных, вы должны сами написать их. Покажите нам, что вы пробовали. – m0skit0

ответ

0
Vreset    equ  $FFFE 
RAM     equ  $800 
ROM     equ  $100 

ARRAY_SIZE   equ  200 

        org  RAM 

array    rmb  ARRAY_SIZE 

        org  ROM 

Start    ldx  #array 
        ldaa  #ARRAY_SIZE 
Loop    staa  ,x 
        inx 
        deca 
        bne  Loop 

        bra  * 

        org  Vreset 
        dw  Start 
0

Если у вас есть память по адресу $ 800, просто напишите и прочитайте свои данные там, используя инструкции 68HC11. Вам не нужно объявлять массив определенным образом.

Существует только одно исключение - если ваш процессор запускает некоторую операционную систему, которая сама управляет оперативной памятью. Затем вам нужно вызвать некоторую функцию ОС, чтобы выделить нужную память. Но этот процесс не имеет ничего общего с программированием сборки. Просто прочитайте документацию вашей ОС (если есть).

 Смежные вопросы

  • Нет связанных вопросов^_^