Краткий перечень команд БЭСМ-6
Краткий перечень команд БЭСМ-6
Формат командного слова
БЭСМ-6 имеет одноадресную систему команд с фиксированной длинной машинного слова. В одном 50-ти разрядном машинном слове содержится две одноадресные команды по 24-бита каждая. 50-й и 49-й разряды слова - контрольные, относящиеся к “левой” и “правой” команде. 50-й и 49-й разряды содержат признак “команды/данные”. Если происходит чтение данных из области где находится код программы происходит прерывание “по контролю данных/команд”.
Команды состоят из номера индекс-регистра, кода операции и кода адреса.
Выделяют два типа команд:
- с коротким 12-ти разрядным адресом
- с полным 15-ти разрядным адресом
Команды первого типа (20-й бит “0”)
Формат команды:
| i | “0” | КоП | Короткий адрес |
|---|---|---|---|
| 24 21 | 20 | 19 13 | 12 1 |
19-й разряд имеет особое значение:
- Если 19-й разряд == 0, то адрес дополняется кодом “000” в 15-13 разрядах, а затем выполняется модификация адреса.
- Если 19-й разряд == 1, то адрес дополняется кодом “111” в 15-13 разрядах, а затем выполняется модификация адреса.
| КоП | Команда | БЕМШ | Madlen | Описание | Группа |
|---|---|---|---|---|---|
| 000 | зч (зп) | зп | atx | запись числа | - |
| 001 | зм | зпм | stx | запись магазинная | Л |
| 002 | э002 | рег | mod | обращение к спец. регистрам | Л,П |
| 003 | см | счм | xts | считывание магазинное | Л |
| 004 | ас | сл | a+x | арифметическое сложение | С |
| 005 | ав | вч | a-x | арифметическое вычитание | С |
| 006 | ов | вчоб | x-a | обратное вычитание | С |
| 007 | мв | вчаб | amx | вычитание модулей | С |
| 010 | сч | сч | xta | считывание числа | Л |
| 011 | лу | и | aax | логическое умножение | Л |
| 012 | ср (лв) | нтж | aex | сравнение | Л |
| 013 | цс | слц | arx | циклическое сложение | У |
| 014 | из | знак | avx | изменение знака | С |
| 015 | лс | или | aox | логическое сложение | Л |
| 016 | ад | дел | a/x | арифметическое деление | У |
| 017 | ау | умн | a*x | арифметическое умножение | У |
| 020 | сб | сбр | apx | сборка | Л |
| 021 | рб | рзб | aux | разборка | Л |
| 022 | вч | чед | acx | выдача числа единиц | Л |
| 023 | вн | нед | anx | выдача номера старшей единицы | Л |
| 024 | сп | слп | e+x | сложение порядков | У |
| 025 | вп | вчп | e-x | вычитание порядков | У |
| 026 | ск | сд | asx | сдвиг по коду | Л |
| 027 | рк | рж | xtr | установка режима по коду | С,У,Л |
| 030 | вр | счрж | rte | выдача режима | - |
| 031 | мр | счмр | yta | выдача младших разрядов | - |
| 033 | э033 | увв | ext | управление вводом-выводом | П |
| 034 | кс | слпа | e+n | коррекция порядков сложением | У |
| 035 | кв | вчпа | e-n | коррекция порядков вычитанием | У |
| 036 | сд | сда | asn | сдвиг по адресу | Л |
| 037 | ра | ржа | ntr | установка режима по адресу | С,У,Л |
| 040 | уи | уи | ati | установка индекс-регистра | - |
| 041 | ум | уим | sti | установка магазинная | Л |
| 042 | ви | счи | ita | выдача индекс-регистра | Л |
| 043 | вм | счим | its | выдача магазинная | Л |
| 044 | пи | уии | mtj | передача индекс-регистра | - |
| 045 | си | сли | j+m | сложение индекс-регистров | - |
| 046 | э046 | экстракоды | - | ||
| 047 | - | ||||
| 050 | - | ||||
| 051 | - | ||||
| 052 | - | ||||
| 053 | - | ||||
| 054 | - | ||||
| 055 | - | ||||
| 056 | - | ||||
| 057 | - | ||||
| 060 | - | ||||
| 061 | - | ||||
| 062 | - | ||||
| 063 | - | ||||
| 064 | - | ||||
| 065 | - | ||||
| 066 | - | ||||
| 067 | - | ||||
| 070 | - | ||||
| 071 | - | ||||
| 072 | - | ||||
| 073 | - | ||||
| 074 | - | ||||
| 075 | - | ||||
| 076 | - | ||||
| 077 | - |
Команды второго типа (20 бит “1”)
Формат команды:
| i | “1” | КоП | Полный адрес |
|---|---|---|---|
| 24 21 | 20 | 19 16 | 15 1 |
| КоП | Команда | БЕМШ | Madlen | Описание | Группа |
|---|---|---|---|---|---|
| 20 | э20 | экстракоды | |||
| 21 | э21 | ||||
| 22 | иа | мода | utc | изменение по адресу | - |
| 23 | ик | мод | wtc | изменение по коду | - |
| 24 | па | уиа | vtm | передача адреса в индекс-регистр | - |
| 25 | са | слиа | utm | сложение адреса с индекс-регистром | - |
| 26 | у0 | по | uza | условный переход по 0 | - |
| 27 | у1 | пе | uia | условный переход по 1 | - |
| 30 | пб | пб | uj | безусловный переход | - |
| 31 | пв | пв | vjm | переход с возвратом | - |
| 32 | э32 | выпр | ij | выход из прерывания | П |
| 33 | э33 | стоп | 33 | останов процессора | - |
| 34 | и0 | пио | vzm | условный переход по ИР=0 | - |
| 35 | и1 | пино | vim | условный переход по ИР/=0 | - |
| 36 | э36 | тоже что и э34 | |||
| 37 | кц | цикл | vlm | конец цикла | - |