Команды ассемблера "Тесей"

Двухоперандные команды

mov %dst, %src Пересылка
cmp %dst, %src Сравнение
add %dst, %src Сложение
sub %dst, %src Вычитание
and %dst, %src Логическое И
or %dst, %src Логическое ИЛИ
xor %dst, %src Исключающее ИЛИ

Однооперандные команды

swap %dst Обмен тетрад
neg %dst Смена знака
not %dst Инверсия всех разрядов
shl %dst Логический сдвиг влево
shr %dst Логический сдвиг вправо
shra %dst Арифметический сдвиг вправо
rlc %dst Циклический сдвиг влево
rrc %dst Циклический сдвиг вправо
adc %dst Прибавление бита переноса
sbc %dst Вычитание бита переноса
clr %dst Обнуление
inc %dst Увеличение на 1
dec %dst Уменьшение на 1

Литерные команды

movl %dst, const8 Пересылка литеры
mdah %dst, addr Загрузка старшего байта байтного адреса команд
mdal %dst, addr Загрузка младшего байта байтного адреса команд
miah %dst, addr Загрузка старшего байта словного адреса команд
mial %dst, addr Загрузка младшего байта словного адреса команд
cmpl %src, const8 Сравнение с литерой
addl %dst, const5 Сложение с литерой
subl %dst, const5 Вычитание литеры
bicl %dst, const4 Сброс разрядов
bich %dst, const4 Сброс разрядов
bisl %dst, const4 Установка разрядов
bish %dst, const4 Установка разрядов
btgl %dst, const4 Инверсия разрядов
btgh %dst, const4 Инверсия разрядов
bttl %src, const4 Проверка разрядов
btth %src, const4 Проверка разрядов

Команды работы со служебными регистрами

ldr #sreg, const8 Загрузка служебных регистров
ldah #sreg, addr Загрузка старшего байта байтного адреса команд
ldal #sreg, addr Загрузка младшего байта байтного адреса команд
liah #sreg, addr Загрузка старшего байта словного адреса команд
lial #sreg, addr Загрузка младшего байта словного адреса команд
mtpr #sreg, %src Запись в служебные регистры
mfpr %dst, #sreg Чтение служебных регистров
push #sreg Запись в стек данных
pop #sreg Чтение из стека данных

Команды работы с регистром состояния

sst const4 Установка разрядов регистра состояния
stc Установка признака С
stie Разрешение прерываний
stn Установка признака N
stz Установка признака Z
cst const4 Сброс разрядов регистра состояния
clc Сброс признака C
clie Запрет прерываний
cln Сброс признака N
clz Сброс признака Z
tof Проверка переполнения
tdc Проверка тетрадного переноса

Команды передачи управления

jmp addr10 Безусловный переход
jsr addr10 Переход к подпрограмме
jnz addr10 Переход по Z = 0 (не равно)
jne addr10 – / / –
jz addr10 Переход по Z = 1 (равно)
jeq addr10 – / / –
jns addr10 Переход по S = 0 (плюс)
js addr10 Переход по S = 1 (минус)
jnc addr10 Переход по C = 0
jae addr10 – / / –
jc addr10 Переход по C = 1
jb addr10 – / / –
ijmp Косвенный переход
ijsr Косвенный переход к подпрограмме
rts Возврат из подпрограммы
rtsc const1 Возврат из подпрограммы с битом С
rti Возврат из прерывания

Специальные команды

nop Нет операции
wait Ожидание
slp Останов
rst Сброс
sksp Прогон стека команд

 
proj/tesei/opcodes.txt · Последние изменения: 2006/08/11 08:15
 
Copyright (C) 1996-2013 Serge Vakulenko
serge@vak.ru