Лекция: Вспомогательные таблицы

В данном разделе представлены вспомогательные таблицы (табл. 8.4—8.8) для работы с моделью учебной ЭВМ.

Таблица 8.4.Таблица команд учебной ЭВМ

 

Мл.\Ст.
NOP JMP   MOV  
IN JZ RD RD RDI
OUT JNZ WR WR  
IRET JS ADD ADD ADI
WRRB JNS SUB SUB SBI
WRSP JO MUL MUL MULI
PUSH JNO DIV DIV DIVI
POP JRNZ   IN  
RET INT El OUT  
HLT CALL DI    

Таблица 8.5.Типы адресации, их коды и обозначение

 

Обозначение Код Тип адресации Пример команды
  Прямая (регистровая) ADD 23 (ADD R3)
# Непосредственная ADD #33
@ Косвенная ADD @33

 

  Таблица 8.5(окончание)
Обозначение Код Тип адресации Пример команды
[ ] Относительная ADD [33]
@R Косвенно-регистровая ADD @R3
@R+ Индексная с постинкрементом ADD @R3+
-@R Индексная с преддекрементом ADD -@R3

В табл. 8.6 приняты следующие обозначения:

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

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

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

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

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

□ I — пятиразрядный непосредственный операнд со знаком.

Таблица 8.6. Система команд учебной ЭВМ

 

КОП Мнемокод Название Действие
NOP Пустая операция Нет
IN Ввод Асc ß IR
OUT Вывод OR ßАсc
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 Acc = 0 then PC ß CR[ADR]

 

 

    Таблица 8.6(продолжение)
коп Мнемокод Название Действие
JNZ Переход, если не 0 if Асc Ф 0 then PC ß CRfADRJ
JS Переход, если отрицательно if Асc < 0 then PC ßCR[ADR]
JNS Переход, если положительно if Acc > 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 Сложение Ace ßAcc + DD
SUB Вычитание Acc ßAcc — DD
MUL Умножение Acc ßAcc x DD
DIV Деление Acc ß Acc/DD
Нет    
El Разрешить прерывание IF ß 1
DI Запретить прерывание IFß0
MOV Пересылка Rl ß R2
RD Чтение Ace ß R*
WR Запись R* ßAcc
ADD Сложение Acc ß Acc + R*
SUB Вычитание Acc ß Acc — R*
MUL Умножение Acc ß Acc x R*
DIV Деление Acc ß Acc/R*
IN Ввод Acc ßBy(CR[ADR*])

 


 

 

                Таблица 3.7.Таблица кодов ASCII (фрагмент)
  A В С D Е F
      @ Р P         A р а Р
    ! А Q а q         Б С б с
      В R b r         В т в т
    # С S с s         Г У г У
    $ D т d t         Д ф д Ф
    % Е U е u         Е X е X
    & F V f V         Ж ц ж Ц
    i G W g w         ч ч
    ( Н X h X         и ш и ш
    ) I Y i У         й щ й Щ
А         J Z j z         к ъ к ъ
В     + > К [ к {         л ы л ы
С       < L           м ь м ь
D     = М ] m }         н э н э
Е       > N   n           щ ю Щ ю
F     / ? __ o           п я п я

 

            Таблица 8.8. Перевод НЕХ-кодов в десятичные числа
  А В С D Е F
А
В
С
D
Е ПО
F

 

 

еще рефераты
Еще работы по информатике