I-разрешение прерывания
IR-запрет прерывания
PE-потеря точности
UE-денормализация
OE-переполние
ZE-деление на ноль
IE-недействительный операнд.
3 CR- регистр управления. С его помощью происходит управление арифметическими операциями происходящими в сопроцессоре
IC – тип арифметики: 0- афинная
1- проекционная
Афинная – обычная арифметика и ±¥
Прекционная только ±¥
RC-режим округления
00- к ближнему целому
01- к -¥
10- к +¥
11- к 0
PC-способ выдачи информации
00-80-разрядов
01- 32 - разряда
10- 64-разряда
Masks- позволяет маскировать прерывания.
4 ER- регистр ошибок в него записывается КОП, адрес команды и операции, которые вызвали ошибки.
11. Система команд процессора и сопроцессора
№ | Name | Содержание | Функция | Флаги | Код | |||||||||
Z | C | S | O | I | T | U | ||||||||
Обращение к памяти по чтению и записи | ||||||||||||||
1. 1 | RDB | Чтение байта | R0<= <R1>+R2 | - | - | - | - | - | - | - | 000000 | |||
2. | RDHW | Чтение полуслова | R0<= <R1>+R2 | - | - | - | - | - | - | - | 000001 | |||
3. | RDW | Чтение слова | R0<= <R1>+R2 | - | - | - | - | - | - | - | 000010 | |||
4. | WRB | Запись байта | <R0>=> <R1>+R2 | - | - | - | - | - | - | - | 000011 | |||
5. | WRHW | Запись полуслова | <R0>= ><R1>+R2 | - | - | - | - | - | - | - | 000100 | |||
6. | WRW | Запись слова | <R0>=> <R1>+R2 | - | - | - | - | - | - | - | 000101 | |||
7. | IN | Чтение из порта | R0<=порт<R1> | - | - | - | - | - | - | - | 000110 | |||
8. | OUT | Запись в порт | R0=>порт<R1> | - | - | - | - | - | - | - | 000111 | |||
9. | MOV | Обмен RG<>RG | <R0><=<R1> | - | - | - | - | - | - | - | 001000 | |||
10. | MOVI | Занос в регистр значения | <R0><= R2 | - | - | - | - | - | - | - | 001001 | |||
Арифметические операции с ФТ | ||||||||||||||
11. | ADD | Сложение | <R0><= <R1>+<R2> | + | + | + | + | - | - | - | 001100 | |||
12. | SUB | Вычитание | <R0><= <R1>-<R2> | + | + | + | + | - | - | - | 001101 | |||
13. | MUL | Умножение | <R0><= <R1>*<R2> | + | + | + | + | - | - | - | 001110 | |||
14. | DIV | Деление | <R0><= <R1>/<R2> | + | + | + | + | - | - | - | 001111 | |||
15. | ADDI | Сложение с неп оп. | <R0><= <R1>+R2 | + | + | + | + | - | - | - | 010000 | |||
16. | SUBI | Выч. с неп оп. | <R0><= <R1>-R2 | + | + | + | + | - | - | - | 010001 | |||
17. | MULI | Умн/ с неп оп. | <R0><= <R1>*R2 | + | + | + | + | - | - | - | 010010 | |||
18. | DIVI | Деление с неп оп. | <R0><= <R1>/R2 | + | + | + | + | - | - | - | 010011 | |||
Логические оперции с ФТ | ||||||||||||||
19. | AND | «И» | <R0><= <R1>&<R2> | + | - | + | - | - | - | - | 010100 | |||
20. | OR | «ИЛИ» | <R0><= <R1>v<R2> | + | - | + | - | - | - | - | 010101 | |||
21. | XOR | Искл «ИЛИ» | <R0><= <R1>+<R2> | + | - | + | - | - | - | - | 010110 | |||
22. | NOT | «НЕ» | <R0><= ~<R1> | + | - | + | - | - | - | - | 010111 | |||
23. | RCL | Циклический сдвиг влево | - | + | - | + | - | - | - | 011000 | ||||
24. | RCR | Циклический сдвиг вправо | - | + | - | + | - | - | - | 011001 | ||||
Команды переходов и прерываний | ||||||||||||||
25. | CLI | Очистить флаг разрешения прерываний | 0 | 011010 | ||||||||||
26. | INT | Вызов прерывания | <R7><=PC<R6><=flags | + | + | + | + | + | + | + | 011100 | |||
27. | IRET | Возврат из прерывания | <PC><=R7flags<=R6 | - | - | - | - | - | - | - | 011101 | |||
28. | CALL | Вызов подпрограммы | <R7><=PCPC<=<R1>+R2 | - | - | - | - | - | - | - | 011110 | |||
29. | RET | Возврат из подпрограммы | <PC><=R7 | - | - | - | - | - | - | - | 011111 | |||
30. | JMP | Безусловный переход | PC<=<R1>+R2 | - | - | - | - | - | - | - | 100000 | |||
31. | JZ | Переход по нулю | PC<=<R1>+R2 | + | - | - | - | - | - | - | 100001 | |||
32. | JNZ | Переход не по нулю | PC<=<R1>+R2 | + | - | - | - | - | - | - | 100010 | |||
33. | JO | Переход по переполнению | PC<=<R1>+R2 | - | - | - | + | - | - | - | 100011 | |||
34. | JNO | Переход по не переполнению | PC<=<R1>+R2 | - | - | - | + | - | - | - | 100100 | |||
35. | JC | Переход по переносу | PC<=<R1>+R2 | - | + | - | - | - | - | - | 100101 | |||
36. | JNC | Переход не по переносу | PC<=<R1>+R2 | - | + | - | - | - | - | - | 100110 | |||
37. | JS | Переход переход по меньше нуля | PC<=<R1>+R2 | - | - | + | - | - | - | - | 100111 | |||
38. | JNS | Переход переход по не меньше нуля | PC<=<R1>+R2 | - | - | + | - | - | - | - | 101000 | |||
Специальные операции | ||||||||||||||
39. | RFL | Чтение флагов | R1<=Flags | - | - | - | - | - | - | - | 101001 | |||
40. | WFL | Запись флагов | <R1>=>Flags | + | + | + | + | + | + | + | 101010 | |||
41. | RTLBR | Чтение TLBP | R1<=TLB | - | - | - | - | - | - | - | 101011 | |||
42. | WTLBR | Запись TLBP | <R1>=>TLB | - | - | - | - | - | - | - | 101100 | |||
43. | RISR | Чтение TINT | R1<=TINT | - | - | - | - | - | - | - | 101101 | |||
44. | WISR | Запись TINT | <R1>=>TINT | - | - | - | - | - | - | - | 101110 | |||
45. | RBVA | Чтение BVA | <R0><=BVA | - | - | - | - | - | - | - | 110011 | |||
46. | RFE | Возврат в пользователя | - | - | - | - | - | - | 0 | 101111 | ||||
47. | SCALL | Переход в супервизора | - | - | - | - | - | - | 1 | 110000 | ||||
48. | HALT | Ожидание прерывания | - | - | - | - | 1 | - | - | 110001 | ||||
49. | NOP | Нет операции | PC<=<PC>+1 | - | - | - | - | - | - | - | 110010 | |||
Арифметические операции с ПТ | ||||||||||||||
50. | FADD | Сложение | <F0><= <F1>+<F2> | + | + | + | + | - | - | - | 111000 | |||
51. | FSUB | Вычитание | <F0><= <F1>-<F2> | + | + | + | + | - | - | - | 111001 | |||
52. | FMUL | Умножение | <F0><= <F1>*<F2> | + | + | + | + | - | - | - | 111010 | |||
53. | FDIV | Деление | <F0><= <F1>/<F2> | + | + | + | + | - | - | - | 111011 | |||
54. | FMOV | Обмен RG<>RG | F0<=<F1> | - | - | - | - | - | - | - | 111100 | |||
55. | FRDW | Чтение | <F0><= <R1>+R2 | - | - | - | - | - | - | - | 111101 | |||
56. | FWRW | Запись | <F0><= <R1>+R2 | - | - | - | - | - | - | - | 111110 | |||
57. | MFC | Преобр ПТ-ФТ | <R0><= <F1> | + | + | + | + | - | - | - | 111111 | |||
58. | MCF | Преобр ФТ-ПТ | <R0>=> <F1> | + | - | + | + | - | - | - | 111111 |
1 Обращение к памяти по чтению и записи.
С помощью этих команд можно заносить данные и регистров в память и читать их оттуда.
2 Арифметические и логические операции с ФТ
Позволяют производить известные операции с числами с ФТ, которые хранятся в регистрах или с непосредственными операндами
3 Специальные операции.
Позволяют работать с системными регистрами, заносить туда информацию и считывать ее от туда. Команды с 40 по 46 возможны только в режиме супервизора. В пользовательском режиме они недоступны.
4 Арифметические операции с ПТ
Известные операции аналогичные с ФТ, плюс операции сдвигов влево и вправо.
12. Структура внешних выводов процессора
Процессор имеет совмещенную шину адреса и данных (AD). Сигнал ALE используется для фиксации адреса на внешнем регистре-защелке. Пара сигналов HLD и HLDA используется для реализации механизма захвата шины. Сигнал INT является сигналом запроса прерывания. Сигнал NMI – запрос немаскируемого прерывания.
Линии RD(чтение), WR(запись), IN(ввод), OUT(вывод), задают выполняемую на шине операцию.
Сигналы CC0, CC1, Wait используются для взаимодействия с сопроцессором. Линии CC0, CC1 служат для синхронизации работы с мат сопроцессором.