В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > Обзоры по типам > Микроконтроллеры
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


16-разрядное Ядро ЦПУ F2MC-16LX

  1. Иерархическая структура ЦПУ
  2. Пространство памяти
  3. Карта пространства памяти
  4. Линейная адресация
  5. Банк адресных типов
  6. Многобайтовые данные в пространстве памяти
  7. Регистры
  8. Регистровый банк
  9. Префиксные коды
  10. Команды блокирования прерываний

1 Иерархическая структура ЦПУ

Ядро ЦПУ F2MC-16LX - 16-разрядное ЦПУ, разработанное для приложений, которые требуют быстродействующей оперативной обработки, например бытовое радиоэлектронное и электрическое оборудование. Система команд F2MC-16LX, разработана для применения контроллером, и позволяет быстро и эффективно осуществлять управление.

В дополнение к 16-разрядным данным, ядро ЦПУ F2MC-16LX может обрабатывать 32-разрядные данные, используя внутренний 32-разрядный аккумулятор. (32-разрядные данные могут быть обработаны некоторыми командами.) Может использоваться до 16 Мб пространства памяти, к которому можно обращаться с помощью линейного указателя или банковым методом. Система команды, основанная на архитектуре F2MC-8 A-T, была улучшена: добавлены команды, совместимые с языками высокого уровня, расширены способы адресации, улучшены команды умножения и деления, и расширена битовая обработка. Свойства ЦПУ F2MC-16LX перечислены ниже.

  • Минимальное время выполнения команды: 62.5 нс (при 4 МГц)
  • Максимальное пространство памяти: 16 Мб, к которым обращаются в линейном или банковом режиме
  • Система команд, оптимизированная для использования контроллером
    • Много типов данных: бит, байт, слово, длинное слово
    • Расширенные способы адресации: 23 типа
    • Работа с высокой точностью (длина 32-бита), основанная на 32-разрядном аккумуляторе
  • Мощные функции обработки прерываний Восемь уровней приоритета (программируемых)
  • Независимая от ЦПУ автоматическая передача До 16 каналов расширенного микропроцессорного обслуживания ввода - вывода
  • Система команд, совместимая с языком высокого уровня (C) / многозадачный режим Системный указатель стека/симметрия системы команд/команды многорегисторного циклического сдвига
  • Усовершенствованная скорость выполнения: 4-байтовая очередь

2 Пространство памяти

ЦПУ F2MC-16LX имеет 16 Мб пространство памяти. Все входные и выходные данные программы, управляемый ЦПУ F2MC-16LX размещены в этом 16 Мб пространстве памяти. ЦПУ обращается к ресурсам, указывая их адреса, используя 24-разрядную адресную шину.

На рисунке 1.2-1 показана простая связь между системой F2MC-16LX и картой памяти.

Рисунок 1.2-1. Простая связь между системой F2MC-16LX и картой памяти

Типы генерирования адреса

F2MC-16LX имеет две следующие адресации:

  • Линейная адресация
    24-разрядный адрес определён командой.
  • Банковая адресация
    Восемь старших битов адреса определены соответствующим банковым регистром, а оставшиеся 16 битов младшего разряда определены командой.

3 Карта пространства памяти

Старшая часть банка 00 дает содержимое памяти банка ПЗУ FF, чтобы сделать малую модель эффективного компилятора C. Так как 16 бит младшего разряда одинаковые, то таблица в ПЗУ может быть вызвана без того, чтобы использовать дальнюю спецификацию, при объявлении указателя.

Например, при попытке обращения по адресу 00C000H происходит обращение к величине по адресу FFC000H в ПЗУ.

Область ПЗУ в банке FF, превышает 48 Кб, и содержимое памяти не может быть показано в банке 00.

Содержимое памяти между FF4000H и FFFFFFH видимо в банке00, в то время как содержимое памяти между FF0000H и FF3FFFH видимо только в банке FF.

Рисунок 1.3-1. Карта пространства памяти.

4 Линейная адресация

Существует два типа линейной адресации:

  • 24-разрядная спецификация операнда: непосредственно определяет 24-разрядный адрес, используя операнды.
  • 32-разрядная косвенно-регистровая спецификация: косвенно определяет 24 младших бита 32-разрядной величины универсального регистра как адрес.

24-разрядная спецификация операнда

На рисунке 1.4-1 показан пример 24-разрядной спецификации операнда.

Рисунок 1.4-1. Пример линейного метода (24-разрядная спецификация регистра операнда)

Рисунок 1.4-2. Пример линейного метода (32-разрядная косвенно-регистровая спецификация)

5 Банк адресных типов

В банковом методе, 16 Мб пространство разделено на 256 64 Кб банков. Следующие пять банковых регистров используются, чтобы точно определить банки, соответствующие каждому пространству:

  • Программный банковый регистр (PCB)
  • Банковый регистр данных (DTB)
  • Банковый регистр пользовательского стека (USB)
  • Банковый регистр системного стека (SSB)
  • Дополнительный банковый регистр (ADB)

Программный банковый регистр (PCB)

64 Кб банк определённый PCB называется программным пространством (ПК). Пространство ПК содержит системы команд, векторные таблицы, и непосредственные значения данных.

Банковый регистр данных (DTB)

Банк с 64 килобайтами, точно установленный DTB назван пространством данных (DT). Пространство DT содержит читаемые / перезаписываемые данные, и регистры управления / данных для внутренних и внешних ресурсов.

Банковый регистр пользовательского стека (USB) / банковый регистр системного стека (SSB)

64 Кб банк, точно установленный USP или SSP называется пространством стека (SP) . К пространству SP обращаются, когда происходит доступ к стеку во время выполнения команд push / pop или сохранения регистра прерываний. Флаг S в регистре состояния определяет пространство стека, к которому нужно обратиться.

Дополнительный банковый регистр (ADB)

64 Кб банк, точно установленный ADB называется дополнительным пространством (AD). Пространство AD, например, содержит данные, которые не могут вписываться в пространство DT.

В таблице 1.5-1 приведены пространства, принимаемые по умолчанию, использованные при каждом способе адресации, которые предопределены, чтобы повысить эффективность команд. Чтобы использовать пространство (не по умолчанию) для режима адресации, определите префиксный код передачи в банк перед командой. Это позволит получить доступ к пространству банка, передаваемому в установленном префиксном коде.

После сброса, DTB, USB, SSB и ADB инициализированы в 00H. PCB инициализирован в значение, установленное вектором сброса. После сброса, пространства DT, SP и AD распределены в банке 00H (000000H...00FFFFH), а пространство PC распределено в банке, установленном вектором сброса.

Таблица 1.5-1. Пространство по умолчанию

Пространство по умолчанию Режим адресации
Программное пространство PC косвенно, доступ программы, ветвление
Пространство данных Использование режима адресации @RW0, @RW1,@RW4 или @RW5, @A, addr16 и dir
Пространство стека Использование режима адресации PUSHW, POPW, @RW3 или @RW7
Дополнительное пространство Использование режима адресации @RW2 и @RW6

Рисунок 1.5-1 является примером разделения пространства памяти на регистровые банки.

Рисунок 1.5-1. Физические адреса каждого пространства

6 Многобайтовые данные в пространстве памяти

Данные записаны в память с младших адресов. Поэтому, для 32-разрядного элемента данных, младшие 16 бит ставятся перед старшими 16 битами.

Если сигнал сброса приходит сразу после того, как младшие биты записаны, то старшие биты могут быть не записаны.

Рисунок 1.6-1 это диаграмма конфигурации многобайтовых данных в памяти. Младшие 8 бит элемента данных сохраняются по адресу n, затем по адресу n+1, адресу n+2 и т.д.

Рисунок 1.6-1. Пример распределения многобайтовых данных в памяти

Доступ к многобайтовым данным

Существенно, что доступ осуществляется в пределах банка. Для команды, обращающейся к многобайтовому элементу данных, адрес FFFFH, следующий за адресом 0000H из того же самого банка. Рисунок 1.6-2 - пример команды, обращающейся к многобайтовым данным.

Рисунок 1.6-1. Выполнение MOVW A, 080FFFFH

7 Регистры

Регистры F2MC-16LX можно разделить на два типа: специальные регистры в ЦПУ и регистрах общего назначения в памяти. Специальные регистры это выделенные внутренние аппаратные средства ЦПУ, и они имеют специфическое использование, определенное архитектурой ЦПУ. Регистры общего назначения совместно используют адресное пространство ЦПУ с ОЗУ. Регистры общего назначения - те же самые, что и специальные регистры, в которые они могут обращаться без использования адреса. Применение регистров общего назначения может быть определено пользователем, как обыкновенное пространство памяти.

Специальные Регистры

Ядро ЦПУ F2MC-16LX имеет следующие 13 специальных регистраторов:

  • Аккумулятор (A=AH:AL) : Два 16-битных аккумулятора (Может использоваться как одиночный 32-битный аккумулятор.)
  • Пользовательский указатель стека (USP): 16-битный указатель, указывающий область пользовательского стека
  • Системный указатель стека (SSP): 16-битный указатель, указывающий системную область стека
  • Состояние процессора (PS): 16-битный регистр, отражающий системное состояние
  • Программный счётчик (PC): 16-битный регистр, содержащий адрес программы
  • Программный банковый регистр (PCB): 8-битный регистр, указывающий пространство PC
  • Регистр банка данных (DTB): 8-битный регистр, указывающий пространство DT
  • Пользовательский стек банкового регистра (USB): 8-битный регистр, указывающий пространство пользовательского стека
  • Системный стек банкового регистра (SSB): 8-битный регистр, указывающий пространство системного стека
  • Дополнительный банковый регистр (ADB): 8-битный регистр, указывающий пространство AD
  • Регистр страницы с прямой адресацией (DPR): 8-битный регистр, указывающий страницу с прямой адресацией

Рисунок 1.7-1 - диаграмма специальных регистров.

Рисунок 1.7-1. Специальные регистры

Регистры общего назначения

F2MC-16LX регистры общего назначения расположены от адресов 000180H до 00037FH (максимальная конфигурация) оперативной памяти. Указатель банкового регистра (RP) показывает, какие из вышеупомянутых адресов в настоящее время используются как банковый регистр. Каждый банк имеет три следующих типа регистров. Эти регистры взаимосвязаны, как показано на рисунке 1.7-2.

  • R0…R7: 8-битный регистр общего назначения
  • RW0…RW7: 16-битный регистр общего назначения
  • RL0…RL3: 32-битный регистр общего назначения

Рисунок 1.7-2. Регистры общего назначения

Соотношения между старшими и младшими байтами регистра байта или слова описывается следующим образом:

RW (i+4) = R (i*2+1) *256+R (i*2) [i=0…3]

Соотношения между старшими и младшими байтами RLi и RW описывается следующим образом:

RL (i) = RW (i*2+1) *65536+RW (i*2) [i=0…3]

7.1 Аккумулятор (А)

Регистр аккумулятора (А) состоит из двух 16-битных регистров арифметических операций (AH и AL), и используется как временное хранилище результатов операций и передаваемых данных.

Регистр А состоит из двух 16-битных регистров арифметических операций (AH и AL). Регистр A используется как временное хранилище результатов операций и передаваемых данных. Во время обработки 32-битных данных AH и AL используются совместно. Только AL используется при работе со словами в режиме обработки 16-битных данных или для работы с байтами в режиме обработки 8-битных данных (см. рисунки 1.7-3 и 1.7-4). Данные, сохраненные в регистре, могут использоваться с данными в памяти или регистрах (Ri, RWi, или RLi). Тем же самым способом, как и F2MC-8L, когда слово или более короткий элемент данных перенесено в AL, предшествующий элемент данных в AL автоматически послан AH (функция сохранения данных). Функция сохранения данных и операция между AL и АН помогают улучшать эффективность обработки.

Когда байт или более короткий элемент данных перенесены к AL, данные, расширенные знаком или расширенные нулем и сохранены как 16-битный элемент данных в AL. Данные в AL могут быть обработаны как слово или как длинный байт.

Когда команда арифметического действия, работающая с байтом выполнена в AL, старшие восемь битов AL до операции проигнорируются. В результате все восемь старших битов станут нулями. Регистр A не инициализируется сбросом. Регистр имеет неопределенное значение сразу после сброса.

Рисунок 1.7-3. Передача 32-разрядных данных

Рисунок 1.7-4. Передача AL-AH

7.2 Пользовательский указатель стека (USP) и системный указатель стека (SSP)

USP и SSP - 16-разрядные регистры, которые показывают адрес памяти для сохранения и восстановления данных, когда выполняется подпрограмма или команда pop/push.

USP и SSP - 16-разрядные регистры, которые указывают адреса памяти для сохранения и восстановления данных в случае выполнения подпрограммы или команды pop/push. Регистры USP и SSP используются командами стека. Регистр USP разрещён, когда флаг S в процессорном регистре состояния - '0', а регистр SSP допускается, когда флаг S '1' (см. рисунок 1.7-5). Так как флаг S устанавливается, когда принято прерывание, значения регистра всегда сохраняются в области памяти, указанной SSP во время обработки прерывания. SSP используется для обработки стека в подпрограмме прерывания, в то время как USP используется для обработки стека вне подпрограммы прерывания. Если пространство стека не разделено, то используется только SSP.

Во время обработки стека, старшие восемь битов адреса обозначены SSB (для SSP) или USB (для USP). USP и SSP не инициализируются сбросом. Вместо этого, они имеют неопределенные значения.

Рисунок 1.7-5. Команда обработки стека и указатель стека

Примечание: Определяйте четный адрес в указателе стека всякий раз, по мере возможности.

7.3 Статус процессора (PS)

Регистр PS состоит из битов контролирующих работу ЦПУ и битов статуса ЦПУ.

прерывания (ILM). RP указывает начальный адрес банкового регистра. Младший байт регистра PS - регистр кода состояния (CCR), содержа флаги, которые будут установлены или сброшены в зависимости от результатов выполнения команды или наличия прерывания.

Рисунок 1.7-6. Структура статуса процессора (PS)

Регистр кода состояния (CCR)

Рисунок 1.7-7 - диаграмма конфигурации регистра кода состояния.

Рисунок 1.7-7. Конфигурация регистра кода состояния (CCR)

I: Флаг разрешения прерывания

Прерывания отличные от программных прерываний разрешены, когда флаг I равен '1' и замаскированы когда I '0'. Флаг I очищается сбросом.

S: Флаг стека

Когда S '0', USP разрешён как указатель обработки стека.

Когда S '1', SSP разрешён как указатель обработки стека.

Флаг S устанавливается приёмом прерывания или сбросом.

T: Флаг единичного бита

'1' устанавливается во флаге T, когда имеется, по крайней мере, одна '1' в данных, сдвинутых из переноса после выполнения команды логического/арифметического сдвига вправо. Иначе, во флаге T устанавливается '0'. Кроме того, '0' устанавливается во флаге T, когда количество сдвигов нулевое.

N: Флаг отрицания

Флаг N устанавливается, когда MSB результат операции '1', а иначе очищен.

Z: Флаг нуля

Флаг Z устанавливается, когда результата операции все '0', а иначе очищен.

V: Флаг переполнения

Флаг V устанавливается, когда происходит переполнение значения знака как результат выполнения операции, а иначе очищен.

C: Флаг переноса

Флаг C устанавливается, когда происходит перенос из MSB как результат выполнения операции, а иначе очищен.

Указатель банкового регистра (RP)

Регистр RP указывает зависимость между регистрами общего назначения F2MC-16LX и внутренних адресов ОЗУ. Определенно, регистр RP указывает первый адрес памяти банкового регистра используемого в настоящее время, в следующем выражении преобразования: [00180H + (RP) *10H] (см. рисунок 1.7-8). Регистр RP состоит из пяти битов, и могут принимать значение между 00H и 1FH. Регистровые банки могут быть распределены в памяти по адресу от 000180H до 00037H.

Даже в пределах этого диапазона, однако, регистровые банки не могут использоваться как регистры общего назначения, если банки не во внутреннем ОЗУ. Регистр RP инициализируется в состояние всех нулей сбросом. Команда может передавать восьмиразрядное непосредственное значение регистру RP; однако, только пять младших битов данных используются.

Рисунок 1.7-8. Указатель банкового регистра (RP)

Регистр маски уровня прерывания (ILM)

Регистр ILM состоит из трех битов, указывая уровень маскируемого прерывания ЦПУ. Запрос на прерывание принят только, когда уровень прерывания выше, чем обозначенное этими тремя битами. Уровень 0 - самое высокоприоритетное прерывание, а уровень 7 - самое низкоприоритетное прерывание (см. таблицу 1.7-9). Поэтому, для прерывания, которое будет принято, его значение уровня должно быть меньшее, чем текущее значение ILM. Когда прерывание принято, значение его уровня прерывания - устанавливается в ILM. Таким образом, прерывание тот же самого или низшего уровня, не может быть принято впоследствии. ILM инициализируется в состояние всех нулей при сбросе. Команда может передавать восьмиразрядное непосредственное значение регистру ILM, но только младшие три бита данных используются.

Рисунок 1.7.9 Регистр уровня прерывания (ILM)

Таблица 1.7-1. Уровни, обозначенные регистром маски уровня прерывания (ILM)

ILM2 ILM1 ILM0 Уровень величины Доступный уровень прерывания
0 0 0 0 Прерывание отключено
0 0 1 1 Только 0
0 1 0 2 Величина уровня меньше чем 1
0 1 1 3 Величина уровня меньше чем 2
1 0 0 4 Величина уровня меньше чем 3
1 0 1 5 Величина уровня меньше чем 4
1 1 0 6 Величина уровня меньше чем 5
1 1 1 7 Величина уровня меньше чем 6

7.4 Программный счётчик (PC)

Регистр PC - 16-разрядный счетчик, который указывает младшие 16 битов адреса памяти системы команд, которая будет выполнена ЦПУ. Старшие восемь битов адреса обозначены PCB. Регистр PC обновляется командой условного перехода, командой вызова подпрограммы, прерыванием, или сбросом.

Регистр PC может также использоваться как основной указатель для доступа к операнду.

Рисунок 1.7-10 показывает программный счётчик

8 Регистровый банк

Банковый регистр состоит из 8 слов. Банковый регистр можно использовать как следующие регистры общего назначения для арифметических операций: байты - регистры R0…R7, слова - регистры RW0…RW7, и длинные слова RL0…RL3. Также банковые регистры можно использовать как указатели команд.

В таблице 1.8-1 приведены функции регистров. Таблица 1.8-2 показывает соотношения между регистрами.

Таким же образом для области ОЗУ, значения банкового регистра не инициализируются сбросом. Состояние, которое было до сброса, сохраняется. Когда выключается питание, банковый регистр будет иметь неопределённое значение.

Таблица 1.8-1. Функции регистров

R0…R7 Используются как операнды команд. Примечание: R0 также используется как счётчик для циклического сдвига или нормализации команд.
RW0…RW7 Используются как указатели. Используются как операнды команд.Примечание: RW0 также используется как счётчик для команд, работающих со строкой.
RL0…RL3 Используются как длинные указатели. Используются как операнды команд.

Таблица 1.8-2. Соотношения между регистрами

  RW0 RL0
RW1
RW2 RL1
RW3
R0 RW4 RL2
R1
R2 RW5
R3
R4 RW6 RL3
R5
R6 RW7
R7

Прямой страничный регистр (DPR) <Начальное значение 01H>

DPR определяет addr8 и addr15 операндов команды в режиме прямой адресации как показано на рисунке 1.8-1. Длина DPR 8 бит, и начальное значение после сброса 01H. DPR может быть прочитан или записан с помощью команды.

Рисунок 1.8-1. Генерация физического адреса в режиме прямой адресации

  • Программный счётчик банкового регистра (DPR) <Начальное значение: Величина в векторе сброса>
  • Данные банкового регистра (DTB) <Начальное значение: 00H>
  • Пользовательский стек банкового регистра (USB) <Начальное значение: 00H>
  • Системный стек банкового регистра (SSB) <Начальное значение: 00H>
  • Дополнительные данные банкового регистра (ADB) <Начальное значение: 00H>

Каждый банковый регистр показывает банк памяти, где расположены пространства PC, DT, SP (пользователя) или AD. Все банковые регистры длиной в один байт. PCB принимает значение 00H после сброса. Другие банковые регистры (не PCB) могут быть прочитаны и записаны. PCB может быть прочитан, но не может быть записан.

PCB обновляется, когда выполняются команды ветвления, в 16 Мб пространстве, JMPP, CALLP, RETP, RETIQ или RETF, или когда возникает прерывание. Для работы с каждым регистром смотрите раздел 1.2 "Пространство памяти".

9 Префиксные коды

Размещение префиксного кода перед командой, частично изменяет действие команды. Можно использовать три типа префиксных кодов: префикс выбора банка, префикс общего банкового регистра и префикс отключения изменения флага.

Пространство памяти, используемое для доступа к данным, определяется для каждого режима адресации.

Когда перед командой размещён префикс выбора банка, пространство памяти, используемое командой для доступа к данным, может быть выбрано независимо от режима адресации.

Таблица 1.9-1 показывает префиксы выбора банка и соответствующие пространства памяти.

Таблица 1.9-1. Префикс выбора банка

Префикс выбора банка Выбранное пространство
PCB Пространство PC
DTB Пространство данных
ADB Пространство AD
SPB Пространство SSP или USP используется согласно значению флага стека.

Используйте следующие команды осторожно:

Команды, работающие со строками (MOVS, MOVSW, SCEQ, SCWEQ, FILS, FILSW)

Банковый регистр определённый операндом используется независимо от префикса.

Команды, работающие со стеком (PUSHW, POPW)

SSB или USB используются согласно флагу S независимо от префикса.

Команды доступа I/O

MOV A, io / MOV io, A /MOVX A, io / MOVW A, io /MOVW io, A / MOV io, #imm8/
    MOV io, #imm16 / MOVB A, io:bp / MOB io:bp, A /SETB io:bp / CLRB io:bp/
    BBC io:bp, rel / BBS io:bp, rel WBTC, WBTS

I/O пространство банка используется независимо от префикса.

Команды изменения флага (AND CCR, #imm8, OR CCR,#imm8)

Команды выполняются нормально, но префикс действует на следующую команду.

POPW PS

SSB или USB используются совместно с флагом S независимо от префикса. Префикс действует на следующую команду.

MOV ILM,#imm8

Команды выполняются нормально, но префикс действует на следующую команду.

RETI

SSB используется независимо от префикса.

Префикс общего банкового регистра (CMR)

Для упрощения обмена данными между многими задачами, может понадобится, чтобы доступ к одному и тому же банковому регистру был достаточно простым независимо от значения RP. Когда CMR размещён перед командой, которая обращается к банковому регистру, эта команда обращается к общему банку (банковый регистр выбран, когда RP=0) по адресу 000180H … 00018FH независимо от текущего значения RP. Используйте следующие команды осторожно:

Команды, работающие со строками (MOVS, MOVSW, SCEQ, SCWEQ, FILS, FILSW)

Если пришёл запрос прерывания во время выполнения команды, работающей со строкой, с префиксным кодом, то префиксный код становится неправильным, когда продолжается выполнение команды, работающей со строкой, после того как прерывание обработано. Таким образом, команда, работающая со строкой, будет выполнена неправильно после обработки прерывания. Не ставьте префикс перед командой, работающей со строкой, использующей CCR.

Команды изменения флага (AND CCR, #imm8, OR CCR,#imm8, POPW PS)

Команды выполняются нормально, но префикс действует на следующую команду.

MOV ILM,#imm8

Команды выполняются нормально, но префикс действует на следующую команду.

Префикс отключения изменения флага

Чтобы отключить изменения флага, используйте префиксный код отключения изменений флага (NCC). Размещение NCC перед командой отключает изменение флага, связанного с этой командой. Используйте следующие команды осторожно:

Команды, работающие со строками (MOVS, MOVSW, SCEQ, SCWEQ, FILS, FILSW)

Если пришёл запрос прерывания во время выполнения команды, работающей со строкой, с префиксным кодом, то префиксный код становится неправильным, когда продолжается выполнение команды, работающей со строкой, после того как прерывание обработано. Таким образом, команда, работающая со строкой, будет выполнена неправильно после обработки прерывания. Не ставьте префикс перед командой, работающей со строкой, использующей NCC.

Команды изменения флага (AND CCR, #imm8, OR CCR,#imm8, POPW PS)

Команды выполняются нормально, но префикс действует на следующую команду.

Команды прерываний (INT #vct8, INT9, INT addr16, INTP addr24, RETI)

CCR изменяется согласно описанию команды независимо от префикса.

JCTX @A

CCR изменяется согласно описанию команды независимо от префикса.

MOV ILM,#imm8

Команды выполняются нормально, но префикс действует на следующую команду.

10 Команды блокирования прерываний

Запросы прерываний не принимаются в следующих 10 командах:

-MOV ILM,#imm8     -PCB
    -SPB
    -OR CCR,#imm8
    -NCC
    -AND CCR,#imm8
    -ADB
    -CMR
    -POPW PS
    -DTB

Если прерывание приходит во время выполнения любой из этих 10 команд, то прерывание может быть обработано только когда выполняется какая-нибудь другая команда. Подробности смотрите на рисунке 1.10-1.

Рисунок 1.10-1. Команда отключения прерываний

Ограничения на команды отключения прерываний и префиксные коды

Когда префиксный код размещён перед командой отключения прерываний, префиксный код действует на первую команду после команды отключения прерываний. Подробности смотрите на рисунке 1.10-2.

Рисунок 1.10-2. Команды отключения прерываний и префиксные коды

Последовательные префиксные коды

Когда несколько префиксных кодов размещены последовательно, действует последний.

На рисунке ниже, несколько префиксных кодов: PCB, ADB, DTB и SPB. Подробности смотрите на рисунке 1.10-3.

  Rus 16-разрядные микроконтроллеры семейства F2MC-16LX
Rus Часто задаваемые вопросы по МК MB90FXXX, MB91FXXX
  Програмное обеспечение