вторник, 24 сентября 2013 г.

0x04. STM8 - режимы адресации

мой основной проект - http://kystari.ru/
Ядро STM8 поддерживает 18 различных режимов адресации которые можно разделить на 8 основных групп:
врожденная (inherent) - NOP
непосредственная (immediate) - LD A,#$55
прямая (direct) - LD A,$55
индексная (index) - LD A,($55,X)
индексная стековая (SP index) -  LD A,($55,SP)
косвенная (indirect) - LD A,([$55],X)
относительная (relative) - JRNE loop
битовые операции (bit operation) - BSET byte,#5
  Для минимизации длины инструкций, большинство режимов адресации можно сгруппировать в 3 группы: расширенный режим, "длинный" и "короткий". 
    Расширенный (extended) режим адресации "e" - позволяет обратиться к любому байту из всего 16-мегабайтного пространства, платой за это является большая длина команды по сравнению с "длинным" и "коротким" режимами адресации. Кроме того, количество инструкций с данным типом адресации ограничено ( это инструкции CALLF, RETF, JPF и LDF).
     "Длинный" (long) режим  адресации "w" - наиболее удобный вариант адресации для работы в одной и той же секции, оптимизирован для работы с первыми 64-килобайтами адресного пространства (0x000000 - 0x00FFFF) с полным набором инструкций, однако длина команд больше, чем при "коротком" режиме адресации.
     "Короткий" (short) режим адресации "b" - обеспечивает доступ только к нулевой странице памяти (0x000000 - 0x0000FF), длина инструкций минимальна.
      В таблице ниже - обзор режимов адресации из programming manual.

   Полный список команд, поддерживающих каждый тип адресации можно найти  в programming manual начиная с таблицы 18.Там же - подробное описание всех команд. 
   

Комментариев нет:

Отправить комментарий