Поиск по сайту:

 


По базе:  

микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Обзоры по типам > Микроконтроллеры > MAXQ

реклама

 




Мероприятия:




Доступ к стеку

Аппаратный стек используется автоматически командами CALL, RET и RETI, но также он может явно использоваться для сохранения и восстановления данных. Все данные сохраняются в виде 16 битных слов.

Команда PUSH увеличивает указатель стека SP, а затем сохраняет значение в стеке. При помещении в стек 16- битного значения сохраняются вводимые данные. Однако при помещении в стек 8- битных данных старший байт стека сохраняет содержимое префиксного регистра. Мнемоника доступа к стеку @++SP осуществляет помещение данных, находящихся по указанному адресу. Таким образом, приведенные ниже две последовательности команд эквивалентны:

  move    PFX[0], IC
  push    PSF            ; сохранение в стеке: IC:PSF
  move    PFX[0], IC
  move    @++SP, PSF     ; сохранение в стеке: IC:PSF

Команда POP извлекает из стека значение и уменьшает указатель вершины стека. Мнемоника доступа к стеку @SP-- определяет в качестве источника специфический регистр, который генерирует этот режим. Таким образом, приведенные ниже две последовательности команд эквивалентны:

   pop     PSF
   move    PSF, @SP--

Команда POPI эквивалентна команде РОР, за исключением того, что она дополнительно очищает бит INS. Таким образом, приведенные ниже две последовательности команд эквивалентны:

   popi      IP
   reti

Мнемоника @SP-- позволяет микроконтроллерам MAXQ использовать стек в качестве операнда АЛУ (например, ADD src, XOR src, и т.д.), не требуя, чтобы значение предварительно было извлечено в регистр или аккумулятор.

    add     @SP--       ; суммирование последних трех слов, помещенных в стек,
    add     @SP--       ; с аккумулятором Acc, переполнение игнорируется
    add     @SP--

Указатель вершины стека SP может быть установлен явно, однако при этом должны использоваться только те младшие биты, которые соответствуют глубине стека конкретного используемого микроконтроллера семейства MAXQ. Для микроконтроллеров MAXQ, которые имеют глубину стека 16 слов, используются только 4 младших бита.

Так как стек имеет ширину 16 бит, то в одной ячейке можно сохранять два 8- битных регистра. Это позволяет более эффективно использовать стек для сохранения и восстановления регистров в начале и конце подпрограммы.

SubOne:
    move    PFX[0], IC
    push    PSF           ; сохранение IC:PSF в стеке
    ...
    pop     GR            ; 16- битный регистр
    move    IC, GRH       ; IC был сохранен как старший байт
    move    PSF, GRL      ; PSF был сохранен как младший байт
    ret


<-- Предыдущая страница Оглавление Следующая страница -->





 
Впервые? | Реклама на сайте | О проекте | Карта портала
тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru
©1998-2023 Рынок Микроэлектроники