[an error occurred while processing this directive] [an error occurred while processing this directive]
Спасибо, только что-то с трудом понимаю ... те есть вопросы.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Sergey Smirnow 08 февраля 2002 г. 14:44
В ответ на: Именно последовательное чтение (привожу ещё раз) (+) отправлено Peet_on_B3 08 февраля 2002 г. 10:30

Я так понял что всё что идёт до DEMO_FILE это шапка данного массива, после команды MOVWF PCL, начинается непосредственно массив значений который хранится в файле DEMO.LPC (в каком формате этот файл).

При инициализации заносить физический адрес метки DEMO_FILE надо в PLAY_PAGE и DEMO_FILE (ст. и мл. байты соответственно) ? Может стоит в таком случае "жёстко" привязать шапку командой ORG или оставить данные инструкции как есть в тексте - надеюсь копмилятор их сам обработает(адрес метки разделит и подставит). В принципе разберусь.

Теперь по самой шапке, то что работаем с счётчиком команд это ясно(ложим туда двух байтный адрес ячейки массива) но за счёт чего вылетаем потом из массива обратно - извиняюсь не понимаю точнее кто retlw делает - там же голый массив с константами а не командами.

Потом если после 256 байт надо будет дальше грести (PCLATH уже разный будет) то как нам поможет:

MOVLW H'02'; - 2 это pclath вызвавшей процедуры, иначе вернётесь чёрте-куда:)) MOVWF PCLATH

Если мы уже и так улетели как только изменили PCLATH для доступа к очередной константе из таблицы ?

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru