Особенности выполнения команд на различных моделях ЭВМ

Выполнение некоторых операций в различных моделях имеют тонкие различия, которые необходимо учитывать при программировании на языке Ассемблера. Отметим наиболее существенные.

  1. Если в двухадресной команде в обоих операндах используется один и тот же регистр, причем в приемнике используется автоинкрементный метод адресации, например (R2), (R2)+, то содержимое этого регистра модифицируется в ЭВМ «Электроника 60> после извлечения операнда-источника, в остальных моделях до извлечения операнда. Это же имеет место, если в качестве регистра используется счетчик команд (R7).
  2. Во всех моделях семейства, кроме «Электроника 60М», после выдачи команды WAIT процессор может обрабатывать только внешние прерывания. В ЭВМ «Электроника 60», «Электроника 60М» он может обрабатывать также прерывание по Т-разряду.
  3. В микроЭВМ доступ к регистрам состояния процессора производится с помощью специальных команд MTPS и MFTS. В мини-ЭВМ регистр состояния имеет фиксированные адреса в Канале и доступен со стороны Канала. В микроЭВМ «Электроника 60-1« объединены оба метода доступа, но с помощью команд MTPS и MFTS обращаются только к младшему байту РСП.
  4. В большинстве моделей команды расширенной арифметики и команды плавающей точки, как и команды базового набора, являются неделимыми, т. е. их выполнение не может быть прервано внешними прерываниями. Исключением являются команды расширенной арифметики и плавающей точки в микроЭВМ «Электроника 60М» и команды процессора плавающей точки в микроЭВМ «Электроника 60-1», выполнение которых может быть прервано.
  5. Резервные коды операций могут использоваться двумя методами: программной обработкой прерываний по вектору 10 и заданием микропрограммы, обрабатывающей резервный код, в памяти микропрограмм процессора. Однако в различных моделях ЭВМ эти подмножества резервных кодов не могут быть использованы произвольно (см. табл. 1.6).
Использование резервных кодов