Индексная адресация с постинкрементом
Индексная адресация с постинкрементом
Команды индексной, без смещения, адресации с постинкрементом являются двухбайтовыми командами, адресующими операнд и, затем, инкрементирующими индексный регистр (H:X). Регистр X содержит младший байт условного адреса операнда; регистр H содержит старший байт. Сумма является условным адресом операнда. Этот режим адресации обычно используется при табличном поиске.
В таблице 11 перечислены команды индексной адресации с постинкрементом.
Примечание: Выполнение команды индексной адресации с постинкрементом инкрементирует H, если инкремент происходит при нахождении X в состоянии $FF.
Индексная адресация с 8-разрядным смещением и постинкрементом
Команды индексной адресации с 8-разрядным смещением и постинкрементом являются трехбайтовыми командами, обеспечивающими обращение к операндам, находящимся по различным адресам, и, затем, инкрементирующими индексный регистр (H:X). Регистр X содержит младший байт условного адреса операнда; регистр H содержит старший байт. Сумма является условным адресом операнда. Как и режим индексной адресации без смещения этот режим адресации обычно используется для табличного поиска.
В таблице 11 перечислены команды индексной адресации с постинкрементом.
Примечание: Выполнение команды индексной адресации с 8-разрядным смещением и постинкрементом инкрементирует H, если инкремент происходит при нахождении X в состоянии $FF.
В приводимом ниже примере для иллюстрации двух различных режимов индексной индексации с постинкрементом используется команда CBEQ (сравнить и перейти, если равно).
Машинный код Метка Операция Операнд Комментарий
A6FF LDA #$FF ; A = $FF
B710 STA $10 ; Ячейка $10 = $FF
4E1060 MOV $10, $60 ; Ячейка $60 = $FF
5F CLRX ; Очистка X
* Сравнивается содержимое A с содержимым ячейки, адресованной H:X, и если они равны, то выполняется переход к TAG.
7102 LOOP CBEQ X+, TAG ; Без смещения
20FC BRA LOOP ; Проверка следующей ячейки
5F TAG CLRX ; Очистка X
*Сравнивается содержимое A с содержимым ячейки адресованной H:X + $50 и , если они равны, выполняется
* переход к TG1.
615002 LOOP2 CBEQ $50, X+, TG1 ; 8-разрядное смещение
20FB BRA LOOP2 ; Проверка следующей ячейки
20FE TG1 BRA TG1 ; Конец
Таблица 11. Команды индексной с постинкрементом и индексной с 8-разрядным смещением и постинкрементом адресации
Мнемоника |
Команда |
CBEQ |
Сравнить и перейти, если равно, индексация H:X (Compare and Branch if Equal, Indexed (H:X)) |
CBEQ |
Сравнить и перейти, если равно, индексация H:X с 8-разрядным смещением (Compare and Branch if Equal, Indexed (H:X), 8-Bit Offset) |
MOV |
Переместить индексированный операнд в прямоадресуемую ячейку памяти (Move Indexed Operand to Direct Memory Location) |
MOV |
Переместить прямоадресуемый операнд в индексированную ячейку памяти (Move Direct Memory Operand to Indexed Memory Location) |
|