Рисунок
1.5 – Блок-схема алгоритма расчета функции
ln(x)
Основной
недостаток алгоритма состоит в
длительном формировании результата с
учетом повторных вычислений. Выполним
модернизацию алгоритма и избавимся
от операции возведения в степень
xy. Система команд устанавливается
путем расстановки возле каждой вершины
ГСА мнемонического обозначения команды.
Модифицированная ГСА представлена на
рисунке 1.6.
Рисунок
1.6 – Модифицированная ГСА
Составим
таблицу команд компьютера (см. таблицу
1.4).
Таблица
1.4 – Перечень команд
| № |
Команда |
Операнды |
| 1 |
MOV |
Ri, M |
| 2 |
MUL |
Ri, Rj |
| 3 |
DIV |
Ri, Rj |
| 4 |
SUM |
Ri, Rj |
| 5 |
SUB |
Ri, Rj |
| 6 |
INC |
Ri |
| 7 |
JNZ |
метка |
| 8 |
JMP |
метка |
Расширим
систему команд за счет способов адресации
операндов: прямая, косвенная регистровая,
автоинкрементная, базово-индексная (см.
таблицу 1.5).
Таблица
1.5 – Форматы команд
| № |
Способ адресации |
Команда MOV |
| I1 |
прямая |
|
| I2 |
косвенная регистровая |
|
| I3 |
автоинкрементная |
|
| I4 |
базово-индексная |
|
| I5 |
между регистрами |
|
Продолжение
таблицы 1.5
| № |
Способ адресации |
Команда MUL |
| I6 |
прямая |
|
| I7 |
косвенная регистровая |
|
| I8 |
автоинкрементная |
|
| I9 |
базово-индексная |
|
| I10 |
между регистрами |
|
Продолжение
таблицы 1.5
| № |
Способ адресации |
Команда DIV |
| I11 |
прямая |
|
| I12 |
косвенная регистровая |
|
| I13 |
автоинкрементная |
|
| I14 |
базово-индексная |
|
| I15 |
между регистрами |
|
Продолжение
таблицы 1.5
| № |
Способ адресации |
Команда SUM |
| I16 |
прямая |
|
| I17 |
косвенная регистровая |
|
| I18 |
автоинкрементная |
|
| I19 |
базово-индексная |
|
| I20 |
между регистрами |
|
Продолжение
таблицы 1.5
| № |
Способ адресации |
Команда SUB |
| I21 |
прямая |
|
| I22 |
косвенная регистровая |
|
| I23 |
автоинкрементная |
|
| I24 |
базово-индексная |
|
| I25 |
между регистрами |
|
Продолжение
таблицы 1.5
| № |
Способ адресации |
Команда INC |
| I26 |
прямая |
|
| I27 |
косвенная регистровая |
|
| I28 |
автоинкрементная |
|
| I29 |
базово-индексная |
|
Продолжение
таблицы 1.5
| № |
Способ адресации |
Команда INC |
| I30 |
прямая |
|
| I31 |
косвенная регистровая |
|
| I32 |
автоинкрементная |
|
| I33 |
базово-индексная |
|
Продолжение
таблицы 1.5
| № |
Способ адресации |
Команда INC |
| I34 |
прямая |
|
| I35 |
косвенная регистровая |
|
| I36 |
автоинкрементная |
|
| I37 |
базово-индексная |
|
КОП
– код операции базовой команды.
mod
– модификатор адреса.
Ri
– регистр источник/приемник пересылаемого
операнда.
Rj,
Rx – регистры косвенной адресации.
Кроме
команд реализации вычислений по ГСА
ln(x), в систему команд включают команды
ввода-вывода и команды, используемые
при тестировании памяти. Определим разрядность
поля КОП:
int(log2(8
команд + 2 ввод/вывод + 1 тест)) = 4
Разрядность
поля mod равна 3, т.к. возможно 5 видов адресации.
Полная
таблица кодирования команд представлена
в таблице 1.6.
Таблица
1.6 – Полная система команд
| № |
КОП |
mod |
Тип |
Примечание |
| 1 |
2 |
3 |
4 |
5 |
| I1 |
0001 |
000 |
RS |
Команда регистр-память |
| I2 |
0001 |
001 |
RS |
Косвенно-регистровая;
в регистре Rj содержится адрес оперативной
памяти |