Форматы команд

Большинство команд учебной микроЭВМ являются одноадресными или безадресными длиной в 1 машинное слово ( 6 десятичных разрядов). Исключение составляют двухсловные команды с непосредственной адресацией и команда MOV , являющаяся двухадресной.

В форматах команд выделяются три поля :

· КОП - тип операции разряды [ 0, 1];

· тип адресации операнда ( ТА) – разряд [ 2] в одном случае он определяет номер регистра;

· прямой или косвенный адрес памяти, номер регистра или адрес перехода, используются разряды [3-5].

Полный список форматов команд приведен на рис. 2.1, где приняты следующие обозначения: КОП – тип операции, ADR – адрес операнда в памяти, ADC– адрес перехода, I – непосредственный операнд, R, R1, R2 – номер регистра, ТА– тип адресации ( табл. 2.2), Х – разряд не используется.

 

Разряды кода команды

№ формата 0 1 3 4 5 6 11
КОП Х Х Х Х  
КОП ТА АДР  
КОП ТА Х Х R  
3 a КОП ТА Х R1R2  
КОП Х Х Х Х I
КОП Х ADC  
5a КОП R ADC  

 

Рис 2.1. Форматы команд учебной ЭВМ

 

При обращении к табл. 2.3, в которой дается система команд ЭВМ, используются следующие обозначения:

DD – данные, формируемые командой в качестве (второго) операнда: прямо или косвенно адресуемая ячейка памяти или трехразрядный непо­средственный операнд;

R* – содержимое регистра или косвенно адресуемая через регистр ячейка памяти;

ADR* – два младших разряда ADR поля регистра CR;

V – адрес памяти, соответствующий вектору прерывания;

М(*) – ячейка памяти, прямо или косвенно адресуемая в команде;

I –пятиразрядный непосредственный операнд со знаком;

IR, OR – двухразрядный десятичный адрес входного и выходного регистра внешнего устройства (ВУ);

Асс – аккумулятор.

 

Таблица 2.3

Система команд учебной ЭВМ

 

КОП Мнемокод Название Действие
NOP Пустая операция Нет
IN Ввод Асс IR
OUT Вывод OR Асс
IRET Возврат из прерывания FLAGS.PC M(SP); INC (SP)
WRRB Загрузка RB RB CR[ADR]
WRSP Загрузка SP SP CR[ADR]
PUSH Поместить в стек DEC (SP); M(SP) R
POP Извлечь из стека R M(SP); INC(SP)
RET Возврат PC M(SP); INC(SP)
HLT Стоп Конец командных циклов
JMP Безусловный переход PC CR[ADR]
JZ Переход, если 0 if Acс = 0 then PC CR[ADR]
JNZ Переход, если не 0 if Асс 0 then PC CR[ADR]
JS Переход, если отрицательно if Асс 0 then PC CR[ADR]
JNS Переход, если положительно if Acс > 0 then PC CR[ADR]
JO Переход, если переполнение if Acc > 99999 then PC CR[ADR]
JNO Переход, если нет переполнения if |Acc| 99999 then PC CR[ADR]
JRNZ Цикл DEC (R); if R > 0 then PC CR[ADR]
INT Программное прерывание DEC (SP); M(SP) FLAGS.PC; PC M(V)
CALL Вызов подпрограммы DEC (SP); M(SP) PC; PC CR(ADR)
Нет    
RD Чтение Acc DD
WR Запись M(*) Acc
ADD Сложение Acc Acc + DD
SUB Вычитание Acc Acc - DD
MUL Умножение Acc Acc x DD
DIV Деление Acc Acc/DD
Нет    
EI Разрешить прерывание IF 1
DI Запретить прерывание IF 0
MOV Пересылка Rl R2
RD Чтение Acc R*
WR Запись R* Acc
ADD Сложение Acc Acc + R*
SUB Вычитание Acc Acc - R*
MUL Умножение Acc Acc x R*
DIV Деление Acс Acc/R*
IN Ввод Acс BУ(CR[ADR*])
OUT Вывод BУ(CR[ADR*]) Асc
Нет    
Нет    
RDI Чтение Асc I
Нет    
ADI Сложение Асc Асc + I
SBI Вычитание Асc Асc -I
MULI Умножение Асc Асc х I
DIVI Деление Асc Асс/I
         

 








Дата добавления: 2015-04-07; просмотров: 1169;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.