Найти в Дзене

Основные принципы

В отличии от всех традиционных понятий о процессорах, где используется восьмеричное или шестнадцатеричное внутреннее представление кода операций, здесь будет использоваться только Двоично-Десятичный Код (BCD), что требует использования особенного Дешифратора Команд, построенного на соответствующей комбинаторике. Имена регистров должны однозначно ложиться на кодирование машинного кода. Поэтому, используем четыре группы Регистров Общего Назначения (РОН) с непосредственной адресацией машинным кодом: Так как для выполнения вычислительных действий необходимо использование не менее двух операндов Арифметико-Логического Устройства (АЛУ), выделяем особую группу машинного кода под определение состава операндов: Перед указанием любой операции АЛУ, следует определить не только конкретный состав операндов, но и указать конкретный Регистр-Приёмник результата. Когда состав операндов определён и указан Регистр-Приёмник результата, в байте кодирования операции АЛУ указывается конкретный индекс регистр
Оглавление

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

Кодирование регистров

Имена регистров должны однозначно ложиться на кодирование машинного кода. Поэтому, используем четыре группы Регистров Общего Назначения (РОН) с непосредственной адресацией машинным кодом:

  1. Код A0…A9 - Регистры A₀…₉
  2. Код B0…B9 - Регистры B₀…₉
  3. Код C0…C9 - Регистры C₀…₉
  4. Код D0…D9 - Регистры D₀…₉

Кодирование операндов

Так как для выполнения вычислительных действий необходимо использование не менее двух операндов Арифметико-Логического Устройства (АЛУ), выделяем особую группу машинного кода под определение состава операндов:

  • Код AA…AD - Операнды «A,A» / «A,B» / «A,C» / «A,D»
  • Код BA…BD - Операнды «B,A» / «B,B» / «B,C» / «B,D»
  • Код CA…CD - Операнды «C,A» / «C,B» / «C,C» / «C,D»
  • Код DA…DD - Операнды «D,A» / «D,B» / «D,C» / «D,D»

Порядок определения

Перед указанием любой операции АЛУ, следует определить не только конкретный состав операндов, но и указать конкретный Регистр-Приёмник результата.

  • Комбинация «AB A1» - Операнды «A1,B», где «A1» - Регистр-Приёмник
  • Комбинация «BC B2» - Операнды «B2,C», где «B2» - Регистр-Приёмник
  • Комбинация «CD C3» - Операнды «C3,D», где «C3» - Регистр-Приёмник
  • Комбинация «DA D4» - Операнды «D4,A», где «D4» - Регистр-Приёмник

Кодирование операции АЛУ

Когда состав операндов определён и указан Регистр-Приёмник результата, в байте кодирования операции АЛУ указывается конкретный индекс регистра второго операнда и имя самой операции:

  • Комбинация «AB A1 2E» - Операнды «A1,B2» в инструкции «EOR A1,B2»
  • Комбинация «BC B2 3D» - Операнды «B2,C3» в инструкции «DIS B2,C3»
  • Комбинация «CD C3 4C» - Операнды «C3,D4» в инструкции «CON C3,D4»
  • Комбинация «DA D4 5B» - Операнды «D4,A5» в инструкции «SUB D4,A5»
  • Комбинация «CB C5 6A» - Операнды «C5,B6» в инструкции «ADD C5,B6»
  • Комбинация «BA B6 7F» - Операнды «B6,A7» в инструкции «FOR B6,A7»

Таким образом, можно закодировать компактнее несколько действий:

  • Комбинация «AB A1 2E 3D» - Инструкции «EOR A1,B2» и «DIS A1,B3»
  • Комбинация «BC B2 3D 4C» - Инструкции «DIS B2,C3» и «CON B2,C4»
  • Комбинация «CD C3 4C 5B» - Инструкции «CON C3,D4» и «SUB C3,D5»
  • Комбинация «BA B4 5F 6D 7A» - «FOR B4,A5» + «DIS B4,A6» + «ADD B4,A7»