home   contents  previous      next        up

Команды транспьютера

Код программы для RISC процессора T805 состоит из последовательности однобайтовых команд. Каждая однобайтовая команда разбита на две 4-разрядные части. Старшие четыре разряда содержат код операции, а младшие - четыре бита данных, помещаемых в младшие 4-е разряда регистра операнда Oreg перед исполнением операции. Содержимое этого регистра служит операндом унарных операций. Все однобайтовые команды, кроме операций префиксации, очищают регистр Oreg после завершения операции.

Четыре разряда кода операции задают 16 базовых операций, из которых 13 кодируют наиболее важные и часто используемые операции такие, как переход по адресу, вызов процедуры, сравнение с константой, загрузка/сохранение машинных слов, указателей. Оставшиеся операции pfix, nfix, opr позволяют задать операнд любого размера и произвольное число команд вне зависимости от размера машинного слова и изменения кодировки других команд. Базовые операции pfix(Префиксация), nfix(Отрицательная префиксация) используются для того, чтобы увеличить длину операнда до размера машинного слова. Команда pfix помещает свои четыре разряда данных в регистр операнда Oreg, а затем сдвигает содержимое регистра на четыре разряда влево. Команда nfix выполняется аналогично, но перед сдвигом содержимое регистра операнда заменяется его дополнением до единицы. Однократное применение команд префиксации позволяет задать значение в диапазоне: -256 . . 256. Последовательное применение этих команд расширяет операнд до размера регистра операнда. Последняя из базовых команд операция opr указывает, что ее операнд (в регистре Oreg) является кодом операции над значениями арифметического стека, которую необходимо выполнить. Однобайтовый вариант этой команды кодирует 16 наиболее часто используемых операций. Для реже используемых операций применяется одна команда префиксации. При последовательном применении команд префиксации количество кодов операций, ограничено лишь размером машинного слова.


home   contents  previous      next        up