* 1)Инициализация регистров данных порта A и порта B на странице 0:
*
Метка Операция Операнд Комментарий
PORTA EQU $0000 ; Регистр данных порта a
PORTB EQU $0001 ; Регистр данных порта b
*
MOV #$AA, PORTA ; Сохранение $AA в порте a
MOV #$55, PORTB ; Сохранение $55 в порте b
*
ORG $6E00 ; Адресное пространство ROM/EPROM
DELAY LDA #N ; Установка константы задержки
LOOPY DBNZ COUNT, LOOPY ; Внутренние циклы (5x256 циклов)
DBNZA LOOPY ; Внешние циклы (3 цикла)
*
*
*
* 2) Перемещение REG1 в REG2, если REG1 положителен; очистка REG2
Метка Операция Операнд Комментарий
REG1 EQU $0010
REG2 EQU $0011
*
MOV REG1, REG2
BMI NEG
CLR REG2
*
NEG EQU *
*
*
*
* 3) Перемещение данных таблицы, расположенной в любом месте памяти, в ячейку страницы 0
*
Метка Операция Операнд Комментарий
SPIOUT EQU $0012
*
ORG $50 ; Адресное пространство RAM
TABLE_PTR RMB 2 ; Сохранение указателя таблицы
*
ORG $6E00 ; Адресное пространство ROM/EPROM
LDHX TABLE_PTR ; Восстановление указателя таблицы
MOV X+, SPIOUT ; Перемещение данных
*
* Примечание: X+ является 16-разрадным инкрементом регистра H:X
* Примечание: Инкремент выполняется после завершения операции перемещения
*
STHX TABLE_PTR ; Сохранение модифицированного указателя
*
|