ST6 и ST7 - ST6 and ST7
Было предложено, чтобы эта статья была расколоть в статьи под названием STMicroelectronics ST6 и STMicroelectronics ST7. (Обсуждать) (Октябрь 2017 г.) |
В ST6 и ST7 8-битные микроконтроллер продуктовые линейки из STMicroelectronics. Они обычно используются в небольших встроенных приложениях, таких как стиральные машины.
Хотя они используют похожие периферийные устройства и продаются как часть той же линейки продуктов,[1][2] на самом деле две архитектуры совершенно разные.
Оба имеют 8-битный аккумулятор используется для большинства операций, плюс два 8-битных индексных регистра (X и Y), используемых для адресации памяти. Также оба имеют 8-битные инструкции, за которыми следуют до 2 байтов операндов, и оба поддерживают управление отдельными битами памяти и их ветвление.
На этом сходство заканчивается.
ST6 - это Гарвардская архитектура с 8-битным (256 байт) адресным пространством данных и отдельным 12-битным (4096 байт) программным пространством. Операнды всегда имеют длину 1 байт, а некоторые инструкции поддерживают два операнда, например «немедленно переместить 8-битный адрес в 8-битный адрес памяти». Вызов подпрограмм выполняется с использованием отдельного аппаратного стека. Регистры данных (но не счетчик программ или флаги) отображаются в памяти.
ST6's режимы адресации ограничены непосредственным 8-битным абсолютным адресом памяти и регистровыми косвенными режимами (X) и (Y).
ST7 - это фон Неймана архитектура с одним 16-битным (64 КБ) адресным пространством. Первые 256 байт ОЗУ ( нулевая страница ) обладают дополнительной гибкостью. Нет инструкций с двумя операндами, кроме «тестового бита и ветвления». Его регистры не отображаются в памяти, и он использует ОЗУ общего назначения (плюс указатель стека register) для вызовов подпрограмм.
ST7 поддерживает широкий спектр режимов адресации, включая базовый + индекс и двойную косвенную адресацию.
Архитектура ST6
ST6 имеет 64 байта баран и 4096 байт программы ПЗУ. К большим суммам обращаются смена банка нижний 2К раздел ПЗУ.
Адресное пространство RAM составляет 256 байтов, разделенных следующим образом:
- 0–63: не реализовано
- 64–127: Окно с возможностью переключения между банком и программным ПЗУ и данными EPROM.
- 128–191: ОЗУ общего назначения
- 192–255: Периферийные регистры управления (порты GPIO, таймеры и т. Д.) аккумулятор отображается по адресу 255, но чаще адресуется неявно.
В адресное пространство не отображаются 12-разрядный счетчик программ и связанный с ним аппаратный стек (четыре или шесть уровней в глубину, в зависимости от модели). Бита состояния всего два (нести и нуль ), и они разбиты на банки в зависимости от режима процессора, с отдельными битами состояния для нормального, прерывания и немаскируемое прерывание операция.
Первые четыре ячейки ОЗУ общего назначения также известны как регистры X, Y, V и W, и некоторые инструкции могут обращаться к ним с помощью специальных режимов короткой адресации. Регистры X и Y служат индексными регистрами и могут использовать режимы косвенной адресации. (ИКС)
и (Y)
.
Набор команд состоит из одного байта кода операции, за которым следуют до двух однобайтовых операндов. Набор инструкций можно резюмировать следующим образом:
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Би 2 | b3 | Мнемонический | C | Z | Описание |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
компенсировать | opc | 0 | — | — | Условные переходы (5-битные относительно ПК) | ||||||||
компенсировать | 0 | 0 | 0 | — | — | JRNZ адрес | Перейти на ПК + simm5, если Z == 0 | ||||||
компенсировать | 1 | 0 | 0 | — | — | JRZ адрес | Перейти на ПК + simm5, если Z == 1 | ||||||
компенсировать | 0 | 1 | 0 | — | — | JRNC адрес | Перейти на ПК + simm5, если C == 0 | ||||||
компенсировать | 1 | 1 | 0 | — | — | JRC адрес | Перейти к ПК + simm5, если C == 1 | ||||||
imm4 | c | 0 | 0 | 1 | imm8 | — | Безусловные переходы (12-битный абсолютный) | ||||||
imm4 | 0 | 0 | 0 | 1 | imm8 | — | ВЫЗОВ imm12 | Нажмите ПК, перейдите к 12-битному адресу | |||||
imm4 | 1 | 0 | 0 | 1 | imm8 | — | JP imm12 | Перейти к 12-битному адресу | |||||
— | 0 | 0 | 1 | 0 | 1 | — | — | (зарезервированный) | |||||
рег | c | 1 | c | 1 | 0 | 1 | — | — | Регистрируйте операции (по X, Y, V или W) | ||||
рег | 0 | 1 | 0 | 1 | 0 | 1 | — | — | INC рег | Z | Регистр приращения. Z установлен, C - нет. | ||
рег | 1 | 1 | 0 | 1 | 0 | 1 | — | — | LD A,рег | Z | A: = {X, Y, V или W} | ||
рег | 0 | 1 | 1 | 1 | 0 | 1 | — | — | DEC рег | Z | Регистр декремента. Z установлен, C - нет. | ||
рег | 1 | 1 | 1 | 1 | 0 | 1 | — | — | LD рег, А | Z | {X, Y, V или W}: = A | ||
код операции | 0 | 1 | 1 | 0 | 1 | — | — | Разные операции | |||||
0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | адрес | imm8 | Адрес LDI, imm8 | Установить RAM на 8-битное немедленное значение | ||
1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | — | — | (зарезервированный) | |||
0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | — | — | РЕТИ | Вернуться из прерывания. Поп-ПК, восстановить флаги. | ||
1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | — | — | RET | Возврат из подпрограммы. Извлечь ПК из аппаратного стека. | ||
0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | — | — | COM | Z | C | Аккумулятор дополнения: A: = ~ A. C установлен на предыдущий msbit. |
1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | — | — | RLC A | C | А: = А + А + С | |
0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | — | — | СТОП | Остановить процессор, часы, большинство периферийных устройств до следующего прерывания | ||
1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | — | — | ЖДАТЬ | Остановить процессор до следующего прерывания; часы продолжают | ||
кусочек | opc | 0 | 1 | 1 | адрес | ? | Битовые операции | ||||||
кусочек | 0 | 0 | 0 | 1 | 1 | src | simm8 | JRR кусочек,src,адрес | C | Перейти к ПК + simm8, если исходный бит сброшен (очищен) | |||
кусочек | 1 | 0 | 0 | 1 | 1 | src | simm8 | JRS кусочек,src,адрес | C | Перейдите к PC + simm8, если установлен бит источника. C - это копия проверенного бита. | |||
кусочек | 0 | 1 | 0 | 1 | 1 | dst | — | ВИЭ кусочек,dst | Сбросить (установить в 0) данный бит | ||||
кусочек | 1 | 1 | 0 | 1 | 1 | dst | — | НАБОР кусочек,dst | Установить (в 1) данный бит | ||||
код операции | данные | 1 | 1 | 1 | ? | — | ALU операции с ОЗУ или немедленные | ||||||
код операции | 0 | 0 | 1 | 1 | 1 | — | — | (ИКС) | Операнд (X) | ||||
код операции | 0 | 1 | 1 | 1 | 1 | — | — | (Y) | Операнд (Y) | ||||
код операции | 1 | 0 | 1 | 1 | 1 | imm8 | — | imm8 | Операнд является 8-битным немедленным (только источник) | ||||
код операции | 1 | 1 | 1 | 1 | 1 | адрес | — | адрес | Операнд - 8-битный адрес RAM | ||||
0 | 0 | 0 | src | 1 | 1 | 1 | ? | — | LD A,src | Z | А: = src | ||
1 | 0 | 0 | dst | 1 | 1 | 1 | ? | — | LD dst, А | Z | dst : = A (немедленно запрещено) | ||
0 | 1 | 0 | src | 1 | 1 | 1 | ? | — | ДОБАВИТЬ,src | Z | C | А: = А + src | |
1 | 1 | 0 | src | 1 | 1 | 1 | ? | — | SUB A,src | Z | C | А: = А - src | |
0 | 0 | 1 | src | 1 | 1 | 1 | ? | — | CP A,src | Z | C | А - src | |
1 | 0 | 1 | src | 1 | 1 | 1 | ? | — | И А,src | Z | A: = A & src | ||
0 | 1 | 1 | dst | 1 | 1 | 1 | ? | — | INC dst | Z | dst := dst + 1 (немедленно запрещено) | ||
1 | 1 | 1 | dst | 1 | 1 | 1 | ? | — | DEC dst | Z | dst := dst − 1 (немедленно запрещено) |
Архитектура ST7
ST7 имеет шесть регистров: аккумулятор, индексные регистры X и Y, указатель стека, счетчик программ и регистр кода условия. Кроме того, двойная косвенная адресация позволяет нулевой странице ОЗУ служить дополнительными регистрами. Необычная, но полезная функция заключается в том, что прерывание помещает в стек четыре из этих регистров (A и X, а также обычные PC и CC), а возврат по прерыванию восстанавливает их.
Инструкции ALU делятся на две категории: с двумя операндами и с одним операндом.
Команды с двумя операндами используют аккумулятор в качестве первого источника. В режиме адресации указывается второй источник, который может быть:
- 8-битный немедленный
- 8-битный абсолютный адрес
- 16-битный абсолютный адрес
- Проиндексировано (X)
- Индексированный плюс 8-битное смещение (адрес 8, X)
- Индексированный плюс 16-битное смещение (адрес16, X)
Назначением обычно является аккумулятор, но несколько инструкций изменяют второй источник. (Прямые операнды в таких случаях запрещены.)
Инструкции с одним операндом используют указанный операнд как для источника, так и для назначения. Операнд может быть:
- Аккумулятор A
- Регистр X
- 8-битный абсолютный адрес
- Проиндексировано (X)
- Индексированный плюс 8-битное смещение (адрес 8, X)
Регистр плюс смещение вычисляет полную сумму, поэтому 8-битная форма может адресовать память до 255 + 255 = 510.
В дополнение к вышесказанному, есть три байта префикса, которые могут быть добавлены к любой инструкции, для которой они имеют смысл:
- PDY (0x90) изменяет все ссылки на регистр X на Y. Это позволяет использовать режимы адресации (Y), (address8, Y) и (address16, Y). Это также влияет на неявные операнды, поэтому команда «загрузить X» становится «загрузить Y». Следствием этого является то, что нагрузка X может использовать только режимы адресации относительно X, а нагрузка Y может использовать только режимы адресации относительно Y.
- PIX (0x92) добавляет к инструкции шаг косвенного обращения. 8- или 16-разрядный адрес, следующий за байтом кода операции, заменяется 8-разрядным адресом ячейки памяти, которая содержит 8- или 16-разрядный адрес (последний в прямой порядок байтов порядок). Затем он может быть проиндексирован регистром X как обычно. Это позволяет использовать режимы адресации (address8), (address16), ([address8], X) и ([address8.w], X).
- PIY (0x91) сочетает в себе вышеуказанные эффекты. Это позволяет использовать режимы адресации ([address8], Y) и ([address8.w], Y). (Его также можно использовать с другими режимами как часть инструкций «загрузить Y» и «сохранить Y».)
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Би 2 | b3 | Мнемонический | Описание |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 0 | c | кусочек | v | адрес | ? | Битовые операции | |||
0 | 0 | 0 | 0 | кусочек | 0 | адрес 8 | soff8 | BTJT адрес 8,#кусочек,метка | Перейти к ПК + soff8, если исходный бит истинен (установлен) | ||
0 | 0 | 0 | 0 | кусочек | 1 | адрес 8 | soff8 | BTJF адрес 8,#кусочек,метка | Перейти к ПК + soff8, если исходный бит ложный (очистить) | ||
0 | 0 | 0 | 1 | кусочек | 0 | адрес 8 | — | BSET адрес 8,#кусочек | Установить указанный бит в 1 | ||
0 | 0 | 0 | 1 | кусочек | 1 | адрес 8 | — | BRES адрес 8,#кусочек | Сбросить (сбросить) указанный бит на 0 | ||
0 | 0 | 1 | 0 | условие | soff8 | — | Условные переходы (8-битное относительное смещение) | ||||
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | soff8 | — | JRA метка | Всегда переходить (истина) |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | soff8 | — | JRF метка | Ветвь никогда (ложь) |
0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | soff8 | — | JRUGT метка | Перейти, если без знака больше, чем (C = 0 и Z = 0) |
0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | soff8 | — | JRULE метка | Переход, если без знака меньше или равно (C = 1 или Z = 1) |
0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | soff8 | — | JRNC метка | Переход, если нет переноса (C = 0) |
0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | soff8 | — | JRC метка | Переход при переносе (C = 1) |
0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | soff8 | — | JRNE метка | Перейти, если не равно (Z = 0) |
0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | soff8 | — | JREQ метка | Перейти, если равно (Z = 1) |
0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | soff8 | — | JRNH метка | Ветвь, если не полуперенос (H = 0) |
0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | soff8 | — | JRH метка | Разветвляется, если переносится наполовину (H = 1) |
0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | soff8 | — | JRPL метка | Перейти, если плюс (N = 0) |
0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | soff8 | — | JRMI метка | Переход, если минус (N = 1) |
0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | soff8 | — | JRNM метка | Перейти, если нет маски прерывания (M = 0) |
0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | soff8 | — | JRM метка | Переход, если прерывания замаскированы (M = 1) |
0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | soff8 | — | JRIL метка | Переход, если линия прерывания низкая |
0 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | soff8 | — | JRIH метка | Переход, если линия прерывания высока |
0 | Режим | код операции | ? | — | Инструкции с одним операндом | ||||||
0 | 0 | 1 | 1 | код операции | адрес 8 | — | OP адрес 8 | 8-битный абсолютный адрес | |||
0 | 1 | 0 | 0 | код операции | — | — | OP A | Аккумулятор | |||
0 | 1 | 0 | 1 | код операции | — | — | OP X | Регистр X (регистр Y с префиксом) | |||
0 | 1 | 1 | 0 | код операции | адрес 8 | — | OP (адрес8, X) | 8-битный адрес плюс X | |||
0 | 1 | 1 | 1 | код операции | — | — | OP (X) | Проиндексировано без смещения | |||
0 | Режим | 0 | 0 | 0 | 0 | ? | — | NEG операнд | Отрицание с дополнением до двух | ||
0 | Режим | 0 | 0 | 0 | 1 | ? | — | (зарезервированный) | |||
0 | Режим | 0 | 0 | 1 | 0 | ? | — | (зарезервированный) | |||
0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | — | — | MUL X, A | X: A: = X × A. (MUL Y, A с префиксом) |
0 | Режим | 0 | 0 | 1 | 1 | ? | — | CPL операнд | Дополнение, логическое НЕ | ||
0 | Режим | 0 | 1 | 0 | 0 | ? | — | SRL операнд | Сдвиг вправо логичный. Мсбит очищен, лсбит нести. | ||
0 | Режим | 0 | 1 | 0 | 1 | ? | — | (зарезервированный) | |||
0 | Режим | 0 | 1 | 1 | 0 | ? | — | RRC операнд | Повернуть вправо через перенос, (операнд: C): = (C: операнд) | ||
0 | Режим | 0 | 1 | 1 | 1 | ? | — | SRA операнд | Сдвиг вправо в арифметике. Мсбит сохранился, лебит возить. | ||
0 | Режим | 1 | 0 | 0 | 0 | ? | — | SLL операнд | Сдвиг влево. Мсбит везти. | ||
0 | Режим | 1 | 0 | 0 | 1 | ? | — | RLC операнд | Поверните влево через перенос. | ||
0 | Режим | 1 | 0 | 1 | 0 | ? | — | DEC операнд | Декремент. (N и Z установлены, перенос не затронут) | ||
0 | Режим | 1 | 0 | 1 | 1 | ? | — | (зарезервированный) | |||
0 | Режим | 1 | 1 | 0 | 0 | ? | — | INC операнд | Приращение. (N и Z установлены, перенос не затронут) | ||
0 | Режим | 1 | 1 | 0 | 1 | ? | — | TNZ операнд | Тест ненулевой. Установите N и Z на основе операнда. | ||
0 | Режим | 1 | 1 | 1 | 0 | ? | — | ЗАМЕНА операнд | Поменять местами половинки операнда (4-битный поворот). | ||
0 | Режим | 1 | 1 | 1 | 1 | ? | — | CLR операнд | Установите операнд на 0. N и Z устанавливают на фиксированные значения. Операнд. | ||
1 | 0 | 0 | код операции | — | — | Разные инструкции. Ни один из них не устанавливает коды условий неявно. | |||||
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | — | — | IRET | Возврат из прерывания (pop CC, A, X, PC) |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | — | — | RET | Возврат из подпрограммы (поп-ПК) |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | — | — | ЛОВУШКА | Прерывание с прерыванием |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | — | — | (зарезервированный) | |
1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | — | — | POP A | Извлечь из стека |
1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | — | — | POP X | Извлечь X из стека |
1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | — | — | POP CC | Извлечь коды условий из стека |
1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | — | — | (зарезервированный) | |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | — | — | НАЖАТЬ А | Поместить A в стек |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | — | — | НАЖАТЬ X | Поместить X в стек |
1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | — | — | НАЖАТЬ CC | Помещать коды условий в стек |
1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | — | — | (зарезервированный) | |
1 | 0 | 0 | 0 | 1 | 1 | 0 | — | — | — | (зарезервированный) | |
1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | — | — | HALT | Остановить процессор и часы |
1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | — | — | WFI | Дождитесь прерывания, останавливая процессор, но не часы |
1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | — | — | PDY | Префикс инструкции; поменяйте местами X и Y в следующей инструкции |
1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | — | — | PIY | Префикс инструкции; PDY плюс PIX |
1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | — | — | PIX | Префикс инструкции; использовать 8-битную косвенную память для операнда |
1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | — | — | LD X, Y | X: = Y. С PDY выполняет "LD Y, X". |
1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | — | — | LD S, X | S: = X. Загрузить указатель стека. |
1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | — | — | ЛД С, А | S: = A. Загрузить указатель стека. |
1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | — | — | LD X, S | X: = S. |
1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | — | — | LD X, A | X: = A. |
1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | — | — | RCF | Сбросить (сбросить) флаг переноса |
1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | — | — | SCF | Установить флаг переноса |
1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | — | — | RIM | Сбросить маску прерывания (разрешить прерывания) |
1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | — | — | SIM | Установить маску прерывания (отключить прерывания) |
1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | — | — | RSP | Сбросить указатель стека (наверх ОЗУ) |
1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | — | — | NOP | Нет операции. (= LD A, A) |
1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | — | — | LD A, S | А: = S |
1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | — | — | LD A, X | A: = X. |
1 | Режим | код операции | ценить | ? | Инструкции с двумя операндами A: = операнд операции | ||||||
1 | 0 | 1 | 0 | код операции | imm8 | — | OP #imm8 | 8-битный непосредственный операнд (запрещено как пункт назначения) | |||
1 | 0 | 1 | 1 | код операции | адрес 8 | — | OP адрес 8 | 8-битный абсолютный адрес | |||
1 | 1 | 0 | 0 | код операции | адрес | addrlo | OP адрес16 | 16-битный абсолютный адрес | |||
1 | 1 | 0 | 1 | код операции | адрес | addrlo | OP (адрес16,ИКС) | Индексируется с 16-битным смещением | |||
1 | 1 | 1 | 0 | код операции | адрес 8 | — | OP (адрес 8,ИКС) | Индексируется с 8-битным смещением | |||
1 | 1 | 1 | 1 | код операции | — | — | OP (X) | Проиндексировано без смещения | |||
1 | Режим | 0 | 0 | 0 | 0 | ценить | ? | SUB A,операнд | A: = A - операнд | ||
1 | Режим | 0 | 0 | 0 | 1 | ценить | ? | CP A,операнд | Сравнить A - операнд | ||
1 | Режим | 0 | 0 | 1 | 0 | ценить | ? | SBC A,операнд | Вычесть с заимствованием A: = A - операнд - C | ||
1 | Режим | 0 | 0 | 1 | 1 | ценить | ? | CP X,операнд | Сравнить X - операнд | ||
1 | Режим | 0 | 1 | 0 | 0 | ценить | ? | И А,операнд | A: = A & операнд, побитовое и | ||
1 | Режим | 0 | 1 | 0 | 1 | ценить | ? | BCP A,операнд | Побитовый тест A и операнд | ||
1 | Режим | 0 | 1 | 1 | 0 | ценить | ? | LD A,операнд | Загрузить A: = операнд | ||
1 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | imm8 | — | (зарезервировано, = LD # imm8, A) | |
1 | Режим | 0 | 1 | 1 | 1 | ценить | ? | LD операнд, А | Операнд сохранения: = A | ||
1 | Режим | 1 | 0 | 0 | 0 | ценить | ? | XOR A,операнд | A: = A ^ операнд, исключающее ИЛИ | ||
1 | Режим | 1 | 0 | 0 | 1 | ценить | ? | АЦП А,операнд | A: = A + операнд + C, сложить с переносом | ||
1 | Режим | 1 | 0 | 1 | 0 | ценить | ? | ИЛИ А,операнд | A: = A | операнд, включительно или | ||
1 | Режим | 1 | 0 | 1 | 1 | ценить | ? | ДОБАВИТЬ X,операнд | A: = A + операнд | ||
1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | imm8 | Икс | (зарезервировано, = JP # imm8) | |
1 | Режим | 1 | 1 | 0 | 0 | ценить | ? | JP операнд | ПК: = операнд, безусловный переход | ||
1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | soff8 | — | CALLR метка | НАЖАТЬ ПК, ПК: = ПК + операнд |
1 | Режим | 1 | 1 | 0 | 1 | ценить | ? | ВЫЗОВ операнд | Нажмите ПК, ПК: = операнд | ||
1 | Режим | 1 | 1 | 1 | 0 | ценить | ? | LD X,операнд | Загрузить X: = операнд | ||
1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | imm8 | — | (зарезервировано, = LD # imm8, X) | |
1 | Режим | 1 | 1 | 1 | 1 | ценить | ? | LD операнд,ИКС | Операнд сохранения: = X |
Рекомендации
- ^ Даташит: ST62T00C / T01C с 1998 г.
- ^ "Каталог микроконтроллеров / микропроцессоров EDN 2006 года, 8-битные микропроцессоры, отсортированные по архитектуре набора команд" (PDF). п. 26. 100616 edn.com
- ^ "Руководство по программированию семейства ST6" (PDF). Редакция 2.0. STMicroelectronics. Октябрь 2004. с. 42. Получено 2017-02-28.
- ^ "Руководство по программированию семейства ST7" (PDF). Редакция 2. STMicroelectronics. Ноябрь 2005 г.. Получено 2017-02-28.