9305_АникинаАА. Курсовая работа по дисциплине архитектура эвм вариант 3 студентка группы 9305 Аникина Анна Проверил
Скачать 0.6 Mb.
|
|
№ | Мнемоника | Название | Содержание | Флаги | Код | Форматы команд | ||||||||||||||||||||||||||||
Z | C | S | O | I | T | | ||||||||||||||||||||||||||||
Арифметические операции с целыми числами | ||||||||||||||||||||||||||||||||||
1 | ADD | Сложение | R1<-R1+R2 | + | + | + | + | - | - | 0000001 | 1.1 | |||||||||||||||||||||||
2 | ADDC | Сложение с учетом переноса | R1<-R1+R2+C | + | + | + | + | - | - | 0000010 | 1.1 | |||||||||||||||||||||||
3 | SUB | Вычитание | R1<-R1-R2 | + | + | + | + | - | - | 0000011 | 1.1 | |||||||||||||||||||||||
4 | SUBC | Вычитание с учетом переноса | R1<-R1-R2-C | + | + | + | + | - | - | 0000100 | 1.1 | |||||||||||||||||||||||
5 | MUL | Умножение без знака | R2,R1<-R1*R2 | + | + | - | - | - | - | 0000101 | 1.1* | |||||||||||||||||||||||
6 | DIV | Деление без знака | R2,R1<-R1\R2 | + | + | - | - | - | - | 0000110 | 1.1* | |||||||||||||||||||||||
7 | CP | Сравнение | R1-R2 | + | + | + | - | - | - | 0000111 | 1.1 | |||||||||||||||||||||||
Арифметические операции с числами с плавающей точкой | | |||||||||||||||||||||||||||||||||
8 | FADD | Сложение | F1<-F1+F2 | + | - | + | + | - | - | 1000001 | 1.1 | |||||||||||||||||||||||
9 | FSUB | Вычитание | F1<-F1-F2 | + | - | + | + | - | - | 1000010 | 1.1 | |||||||||||||||||||||||
10 | FMUL | Умножение | F1<-F1*F2 | + | - | + | + | - | - | 1000011 | 1.1 | |||||||||||||||||||||||
12 | FDIV | Деление | F1<-F1/F2 | + | - | + | + | - | - | 1000100 | 1.1 | |||||||||||||||||||||||
Логические операции | | |||||||||||||||||||||||||||||||||
13 | AND | Поразрядное «И» | R1<-R1&R2 | + | - | + | - | - | - | 0001000 | 1.1 | |||||||||||||||||||||||
14 | OR | Поразрядное «ИЛИ» | R1<-R1|R2 | + | - | + | - | - | - | 0001001 | 1.1 | |||||||||||||||||||||||
15 | XOR | Поразрядное «Исключающее ИЛИ» | R1<-R1xorR2 | + | - | + | - | - | - | 0001010 | 1.1 | |||||||||||||||||||||||
16 | CPL | Инверсия | R1<-R1 | + | - | + | - | - | - | 0001011 | 1.3 | |||||||||||||||||||||||
17 | SLL | Логический сдвиг влево | | + | + | + | - | - | - | 0001100 | 1.3 | |||||||||||||||||||||||
18 | SRL | Логический сдвиг вправо | | + | + | + | - | - | - | 0001101 | 1.3 | |||||||||||||||||||||||
19 | SRA | Арифметический сдвиг вправо | | + | + | + | - | - | - | 0001110 | 1.3 | |||||||||||||||||||||||
Переходы | | |||||||||||||||||||||||||||||||||
20 | JMP | Безусловный переход | PC<= | - | - | - | - | - | - | 0001111 | 1.4 | |||||||||||||||||||||||
21 | JZ | Переход по нулю | if (R1 = 0) PC <- else PC <- PC + 1 | - | - | - | - | - | - | 0010000 | 2.2 | |||||||||||||||||||||||
22 | JNZ | Переход не по нулю | if (R1 != 0) PC <- else PC <- PC + 1 | - | - | - | - | - | - | 0010001 | 2.2 | |||||||||||||||||||||||
23 | JO | Переход по переполнению | if (O = 1) PC <- else PC <- PC + 1 | - | - | - | - | - | - | 0010010 | 2.2 | |||||||||||||||||||||||
24 | JNO | Переход не по переполнению | if (O= 0) PC <- else PC <- PC + 1 | - | - | - | - | - | - | 0010011 | 2.2 | |||||||||||||||||||||||
25 | JC | Переход по переносу | if (C = 1) PC <- PC + K else PC <- PC + 1 | - | - | - | - | - | - | 0010100 | 2.2 | |||||||||||||||||||||||
26 | JNC | Переход не по переносу | if (C = 0) PC <- PC + K else PC <- PC + 1 | - | - | - | - | - | - | 0010101 | 2.2 | |||||||||||||||||||||||
27 | JE | Переход, если равны | if (R1 = R2) PC <- PC + 1 | - | - | - | - | - | - | 0010110 | 2.1 | |||||||||||||||||||||||
28 | JNE | Переход, если не равны | if (R1 != R2) PC <- PC + 1 | - | - | - | - | - | - | 0010111 | 2.1 | |||||||||||||||||||||||
Команды работы с памятью | | |||||||||||||||||||||||||||||||||
29 | LDDW | Загрузка двойного слова | R1<- | + | - | + | - | - | - | 0011000 | 1.4 | |||||||||||||||||||||||
30 | LDW | Загрузка слова | R1<- | + | - | + | - | - | - | 0011001 | 1.4 | |||||||||||||||||||||||
31 | LDB | Загрузка байта | R1<- | + | - | + | - | - | - | 0011010 | 1.4 | |||||||||||||||||||||||
32 | STDW | Запись двойного слова | R1<- | - | - | - | - | - | - | 0011011 | 1.4 | |||||||||||||||||||||||
33 | STW | Запись слова | R1<- | - | - | - | - | - | - | 0011100 | 1.4 | |||||||||||||||||||||||
34 | STB | Запись байта | R1<- | - | - | - | - | - | - | 0011101 | 1.4 | |||||||||||||||||||||||
Специальные | | |||||||||||||||||||||||||||||||||
35 | MOV | Запись в регистр значения | R1<=R2 | + | - | + | - | - | - | 0011110 | 1.4 | |||||||||||||||||||||||
36 | SFLG | Запись регистра флагов | R1<=F1 | | | | | | | 0011111 | 1.4 | |||||||||||||||||||||||
37 | LFLG | Загрузка регистра флагов | F1<=R1 | | | | | | | 0100000 | 1.4 | |||||||||||||||||||||||
38 | NOP | Нет операции | PC<=PC+1 | - | - | - | - | - | - | 0100001 | 1.2 | |||||||||||||||||||||||
39 | CALL | Вызов подпрограммы | <=R3 | | | | | | | 0100010 | 1.4 | |||||||||||||||||||||||
40 | RET | Возврат из подпрограммы | | | | | | | | 0100011 | 1.4 | |||||||||||||||||||||||
41 | IN | Ввод из порта | R2<= | | | | | | | 0100100 | 1.4 | |||||||||||||||||||||||
42 | OUT | Вывод в порт | | | | | | | | 0100101 | 1.4 | |||||||||||||||||||||||
43 | INT | Вызов прерывания | <=R3 F1<=R4 | - | - | - | - | - | + | 0100110 | 1.4 | |||||||||||||||||||||||
45 | RETI | Возврат из прерывания | | | | | | | | 0100111 | 1.4 | |||||||||||||||||||||||
46 | WAIT | Ожидать завершения вычисления сопроцессора | | | | | | | | 0101000 | 1.4 |
Пояснения к таблице
1.1* - при умножении и делении результат записывается не только в содержимое регистра R1, но и в содержимое регистра R2
Пояснения к командам
IN R2, R1 – прочитать из порта R1 в регистр R2.
OUT R1, R2 – записать в порт R1 значение регистра R2.
Команды сопроцессора
Все команды сопроцессора делятся на группы:
Команды записи и чтения в регистры сопроцессора.
Арифметические команды с плавающей точкой.
сложение, вычитание, умножение, деление
Графические команды
Сопроцессор следит за операциями, поступающими на процессор, и если операция не предназначена сопроцессору, то он её игнорирует, иначе операция исполняется. Результат вместе с исключениями синхронно передается в центральный процессор.
Сопроцессор может генерировать исключения:
Переполнение
Деление на ноль
Неверная операция