Электроника Д3-28: различия между версиями
[непроверенная версия] | [отпатрулированная версия] |
Спасено источников — 1, отмечено мёртвыми — 0. Сообщить об ошибке. См. FAQ.) #IABot (v2.0 |
Д.Ильин (обсуждение | вклад) дополнение, уточнение, викификация, оформление, стилевые правки |
||
Строка 1: | Строка 1: | ||
[[Файл:Электроника Д3-28.JPG|thumb|300px|Электроника Д3-28]] |
[[Файл:Электроника Д3-28.JPG|thumb|300px|Электроника Д3-28]] |
||
''' |
'''Электро́ника Д3-28''' — специализированное настольное управляющее и вычислительное устройство, занимающее промежуточное положение между [[Персональный компьютер|персональными компьютерами]] и [[Программируемый калькулятор|программируемыми калькуляторами]]. |
||
Создана на основе машины 15ВСМ5, |
Создана на основе машины 15ВСМ5, у которой прототипом являлся программируемый калькулятор [[Wang Laboratories|Wang]] 700<ref>{{cite web |
||
|author = Rick Bensene |
|author = Rick Bensene |
||
|date = 2008-09-03 |
|date = 2008-09-03 |
||
Строка 14: | Строка 14: | ||
|archivedate = 2010-08-03 |
|archivedate = 2010-08-03 |
||
|deadlink = yes |
|deadlink = yes |
||
}}</ref>.Имеет встроенную клавиатуру (цифровые и функциональные клавиши), двухстрочный дисплей на [[Семисегментный индикатор|семисегментных индикаторах]] (12 цифр мантиссы, две цифры степени и два индикатора знака в каждой строке) и накопитель на стандартных аудиокассетах. |
}}</ref>. Имеет встроенную клавиатуру (цифровые и функциональные клавиши), двухстрочный дисплей на [[Семисегментный индикатор|семисегментных индикаторах]] (12 цифр мантиссы, две цифры степени и два индикатора знака в каждой строке) и накопитель на магнитной ленте (НМЛ) в стандартных [[Компакт-кассета|аудиокассетах]]. |
||
Также оснащается интерфейсами [[ИРПР]] и [[ИРПС]] (в виде согласующего устройства ПЭЛ2.240.001), к которым обычно подключался принтер и алфавитно-цифровой терминал (как правило, [[15ИЭ-00-013]]). |
|||
Также оснащается интерфейсами [[ИРПР]] и [[ИРПС]] (в виде согласующего устройства ПЭЛ2.240.001), к которым обычно подключался принтер и алфавитно-цифровой терминал (как правило, модели [[15ИЭ-00-013]]). |
|||
== Варианты исполнения == |
== Варианты исполнения == |
||
Первые |
Первые серии Д3-28 имели [[Микрокод|микропрограммное]] обеспечение, находящееся в [[Постоянное запоминающее устройство|постоянных запоминающих устройствах]] (ПЗУ) на вручную прошиваемой тонким проводом матрице из ферритовых разборных П-образных сердечниках из магнитомягкого феррита). В последующих сериях ПЗУ выполнялось на интегральных микросхемах. |
||
В некоторых тестовых экземплярах ПЗУ с микропрограммами устанавливались в панельки; существовали специальные прошивки для использования машин в составе специализированных вычислительных комплексов. |
|||
В некоторых тестовых экземплярах машин ПЗУ с микропрограммами устанавливались в панельки; существовали специальные прошивки этих ПЗУ для использования устройств в составе специализированных вычислительных комплексов. |
|||
В процессе производства Д3-28 внутренняя архитектура и программное обеспечение совершенствовалось с добавлением новых команд. Поколения Д3-28 (в соответствии с инструкцией по эксплуатации) делятся на «выпущенные до октября 1979 года», после этой даты и «после 1983 года». |
В процессе производства Д3-28 внутренняя архитектура и программное обеспечение совершенствовалось с добавлением новых команд. Поколения Д3-28 (в соответствии с инструкцией по эксплуатации) делятся на «выпущенные до октября 1979 года», после этой даты и «после 1983 года». |
||
=== Д3-28 16К (15ВМ16) === |
=== Д3-28 16К (15ВМ16) === |
||
16 килобайт ОЗУ (микросхемы в первых выпусках — [[К565РУ1]], в последующих — [[К565РУ3]] и [[К565РУ6]]) |
16 килобайт ОЗУ (микросхемы в первых выпусках — [[К565РУ1]], в последующих — [[К565РУ3]] и [[К565РУ6]]). |
||
Внешне отличалась также красным цветом индикаторов и закрывающего их оргстекла (последующие модели — оранжевые цифры под зелёным стеклом). |
|||
Внешне отличалась также красным цветом свечения индикаторов и цветом закрывающей их пластины из оргстекла. Ппоследующие модели имели оранжевый цвет цифр под зелёным светофильтром. |
|||
=== Д3-28 32К (15ВМ32) === |
=== Д3-28 32К (15ВМ32) === |
||
Наиболее |
Наиболее массовый вариант исполненя{{Нет АИ|15|12|2016}}. Оснащена 32 килобайтами ОЗУ, выполненной на микросхемах 565РУ6. |
||
=== Д3-28 128К (15ВМ128) === |
=== Д3-28 128К (15ВМ128) === |
||
Оснащена 128 килобайтами ОЗУ, выполненной на микросхемах 565РУ5. |
|||
128 килобайт ОЗУ (микросхемы 565РУ5) |
|||
В зависимости от исполнения ( |
В зависимости от исполнения (кодировались цифрами ххх в обозначении 15ВМ128-xxx) Д3-28 имела возможность подключения к фотосчитывающим устройствам (СП-3 и FS-1501), ленточным перфораторам (ПЛ-150М), печатающим устройствам (например, Consul 256, Consul 260), специальные блоки для подключения мониторов типа 15ИЭ-00-013, а также возможность подключения удаленных устройств дистанционного управления Д3-28. Подключение печатающего устройства машинок Consul и монитора превращала Д3-28 в персональный компьютер. |
||
Возможность загрузки и автоматического запуска программы через интерфейс при включении машины. |
|||
Имелась возможность загрузки и автоматического запуска программы через интерфейс при включении машины. |
|||
== Архитектура и система команд == |
|||
== Архитектура и система команд == |
|||
У Электроники Д3-28 с объёмом ОЗУ 32К |
|||
Команды машинно-ориентированного языка Д3-28 кодируются двумя или четырьмя шестнадцатеричными цифрами: |
|||
на основе КОИ-7 (набор2) c командами на русском языке: |
|||
=== Система команд === |
|||
== На основе КОИ-7 Н2 в виде русскоязычных команд и машинного 4-значного шестнадцатеричного кода для электроники ЭВМ ДЗ-28 == |
|||
У Электроники Д3-28 с объёмом ОЗУ 32 К, команды машинно-ориентированного языка Д3-28 кодируются двумя или четырьмя шестнадцатеричными цифрами. |
|||
Набор команд на основе КОИ-7 (набор 2) в виде русскоязычных команд и машинного 4-значного шестнадцатеричного кода для электроники ЭВМ ДЗ-28 приведён в таблице. Строки в таблице — старшие 4 бита кода, столбцы — младшие биты. |
|||
{| {{chset-tableformat}} |
{| {{chset-tableformat}} |
||
|- |
|- |
||
Строка 202: | Строка 203: | ||
|} |
|} |
||
'''Пояснения к таблице''' |
|||
* ПУС (NUL) — пусто, НЗ (SON) — начало заголовка, НТ (STX) — начало текста, КТ (ETX) — конец текста, КП (EOT) — конец передачи, КТМ (ENQ) — кто там?, НЕТ (NAK) —отрицание |
|||
* отрицательный ответ |
* ПУС (NUL) — пусто; НЗ (SON) — начало заголовка; НТ (STX) — начало текста; КТ (ETX) — конец текста; КП (EOT) — конец передачи; КТМ (ENQ) — кто там?; НЕТ (NAK) — отрицание, отрицательный ответ; СИН (SIN) — синхронизация; КБ (ETB) — конец блока данных; ЗБ (DEL) — забой; АН (CAN) — аннулирование; КН (EM) — конец магнитного носителя; ЗМ (SUB) — замена, позволяет заменить символ; ВХ (S1) — вход, работа с одной половиной таблицы; ВЫХ (S0) — выход, работа с символами. |
||
'''Для облегчения восприятия команд используется мнемокод в ассемблерном виде:''' |
|||
* ABGE |
* ABGE — прибавление единицы и ветвление, если больше или равно; |
||
* ADD |
* ADD — сложение; |
||
* AND |
* AND — логическое умножение; |
||
* ANS |
* ANS — анализ; |
||
* GO |
* GO — пуск; |
||
* LOAD |
* LOAD — загрузка; |
||
* LOADP |
* LOADP — считывание с МЛ; |
||
* DIV |
* DIV — деление; |
||
* SUB |
* SUB — вычитание; |
||
* RTSI |
* RTSI — псевдовозврат из подпрограммы; |
||
* INP |
* INP — ввод; |
||
* SOB |
* SOB — вычитание единицы и условный переход; |
||
* MARK |
* MARK — метка; |
||
* MUL |
* MUL — умножение; |
||
* BBIS |
* BBIS — переход, если бит установлен (=1); |
||
* WAIT |
* WAIT — ожидание; |
||
* SWA |
* SWA — обмен; |
||
* CLR |
* CLR — очистка регистра (обнуление); |
||
* NEG |
* NEG — отрицание; |
||
* INT |
* INT — целое; |
||
* VER |
* VER — контроль; |
||
* DIG |
* DIG — цифра (десятичная); |
||
* SQR |
* SQR — квадратный корень; |
||
* INV |
* INV — обратная величина; |
||
* JMM |
* JMM — передача управления на метку; |
||
* XOR |
* XOR — '''исключающее или'''; |
||
* BMER |
* BMER — переход, если машинная ошибка; |
||
* BEV |
* BEV — переход, если чётно; |
||
* BBIC |
* BBIC — переход, если бит очищен (=0); |
||
* BEQ |
* BEQ — переход, если равно; |
||
* E |
* E — экспонента, (показатель степени); |
||
* BLT |
* BLT — переход, если меньше чем; |
||
* OR |
* OR — логическое сложение; |
||
* BKEY |
* BKEY — переход, если нажата клавиша; |
||
* BGE |
* BGE — переход, если больше или равно; |
||
* BHIS |
* BHIS — переход, если больше или тождественно; |
||
* MOV |
* MOV — пересылка; |
||
* CAP |
* CAP — преобразование декартовых координат в полярные координаты; |
||
* PRINT |
* PRINT — вывод на печать; |
||
* POC |
* POC — преобразование полярных координат в декартовы координаты; |
||
* SAVE |
* SAVE — запись; |
||
* OUT |
* OUT — вывод; |
||
* ATOI |
* ATOI — преобразование в целочисленное; |
||
* POINT |
* POINT — точка; |
||
* CMD |
* CMD — команда; |
||
* DEG |
* DEG — градус; |
||
* COM |
* COM — инвертирование знака; |
||
* BR — безусловный переход; |
|||
* BR — ветвление безусловное |
|||
* RTII |
* RTII — псевдовозврат из прерывания; |
||
* BSA |
* BSA — ветвление или тождество; |
||
* RTS |
* RTS — возврат из подпрограммы; |
||
* RES |
* RES — остаток; |
||
* QRT |
* QRT — квадрат; |
||
* BPER |
* BPER — переход, если программная ошибка; |
||
* BNE |
* BNE — переход, если не равно; |
||
* BPL |
* BPL — переход, если плюс; |
||
* BMI |
* BMI — переход, если минус; |
||
* END |
* END — конец. |
||
=== Работа с клавиатуры Д3-28 === |
=== Работа с клавиатуры Д3-28 === |
||
Возможна работа в одном из 4-х режимов: Включение режимов Р*, В*, ПВ*, П* производится нажатием клавиши и индицируется свечением расположенного рядом с ней индикатора. |
|||
* Р* является основным, производится выполнение всех программ и команд записанных в ОЗУ вводимых с клавиатуры Д3-28, с НМЛ. |
* Р* является основным, производится выполнение всех программ и команд записанных в ОЗУ вводимых с клавиатуры Д3-28, с НМЛ. |
||
* В* Ввод программ в ОЗУ проверка и изменение текстов программ, команда не выполняется, а только записывается в ОЗУ в шестнадцатеричном виде по адресу, индицируемому в регистре Y. |
* В* Ввод программ в ОЗУ проверка и изменение текстов программ, команда не выполняется, а только записывается в ОЗУ в шестнадцатеричном виде по адресу, индицируемому в регистре Y. |
||
* ПВ* Печать и ввод |
* ПВ* Печать и ввод. |
||
* П* Печать. |
|||
{| class="wikitable" |
{| class="wikitable" |
||
Строка 288: | Строка 290: | ||
=== Организация памяти === |
=== Организация памяти === |
||
* В Д3-28 ОЗУ условно разделено на две зоны: рабочая и служебная. Ячейки служебной зоны именуются регистрами. |
* В Д3-28 ОЗУ условно разделено на две зоны: рабочая и служебная. Ячейки служебной зоны именуются регистрами. |
||
* Рабочая зона 32- |
* Рабочая зона машин с 32-килобайтами ОЗУ занимает адреса с 0.00.00.00 (00000 дес.) по 7.14.15.15 (в 16-ричном виде 0x7EFF или 32511 десятичном виде), в этой зоне размещаются данные и программы пользователя. |
||
* Служебная зона занимает последние 256 байтов ОЗУ с 7.15.00.00 (32512 дес.) по 7.15.15.15 (32767 дес). В некоторых регистрах хранится информация для нормальной работы Д3-28, часть свободных может быть использована для команд. |
* Служебная зона занимает последние 256 байтов ОЗУ с 7.15.00.00 (32512 дес.) по 7.15.15.15 (32767 дес). В некоторых регистрах хранится информация для нормальной работы Д3-28, часть свободных ячеек может быть использована для хранения команд. |
||
* Структура служебной зоны ОЗУ: с адреса 7.15.00.00 по 7.15.01.15 расположены шестнадцать двухбайтовых регистров R00,RO1…R15, каждый R-регистр состоит из двух байтов ОЗУ с соседними адресами, байт с меньшим адресом является старшим. Регистры R08…R15 состоят из шестнадцати однобайтных регистров S00…S15. |
* Структура служебной зоны ОЗУ: с адреса 7.15.00.00 по 7.15.01.15 расположены шестнадцать двухбайтовых регистров R00, RO1…R15, каждый R-регистр состоит из двух байтов ОЗУ с соседними адресами, байт с меньшим адресом является старшим. Регистры R08…R15 состоят из шестнадцати однобайтных регистров S00…S15. |
||
* Четыре регистра R04,R05,R06,R07 образуют восьмибайтный регистр RR, который используется в командах 12 06 (MOV X,RR) и 12 07 (MOV RR,X). |
* Четыре регистра R04, R05, R06, R07 образуют восьмибайтный регистр RR, который используется в командах с кодами 12 06 (MOV X,RR) и 12 07 (MOV RR,X). |
||
Вся память адресуется независимо двумя основными способами: |
Вся память адресуется независимо двумя основными способами: |
||
* Для команд работы с числами с плавающей запятой память представляет |
* Для команд работы с числами с плавающей запятой память представляет собой набор последовательно расположенных 16-байтовых чисел (12 байт — десятичная мантисса, 2 бита — знак числа и знак порядка, три тетрады — три десятичных цифры показателя степени). Адресом ячейки служит условный номер такого числа от 0 до (размер памяти /16). |
||
* Плавающие числа хранятся в двух разных форматах. В одном, когда адресом был номер ячейки, число занимает или старшие, или младшие полубайты в 16 байтах, расположенных подряд и выровненных на адрес, кратный 16. В другом число занимает целиком 8 байтов в памяти подряд. При этом разрядность и прочие характеристики чисел совпадают. Первая форма была унаследована от калькулятора и допускала только команды с прямой адресацией (0-255, поскольку адрес был байтовый), вторая — только команды с косвенной адресацией, |
* Плавающие числа хранятся в двух разных форматах. В одном, когда адресом был номер ячейки, число занимает или старшие, или младшие полубайты в 16 байтах, расположенных подряд и выровненных на адрес, кратный 16. В другом число занимает целиком 8 байтов в памяти подряд. При этом разрядность и прочие характеристики чисел совпадают. Первая форма была унаследована от калькулятора и допускала только команды с прямой адресацией (0-255, поскольку адрес был байтовый), вторая — только команды с косвенной адресацией, но при этом адресуется вся память. |
||
* Для команд целочисленной арифметики и |
* Для команд целочисленной арифметики и логических операций с байтами, 16-ти и 32-битными словами адресом служит физический адрес первого, самого старшего байта слова. |
||
* Порядок следования байтов в словах — от старшего к младшему. |
* Порядок следования байтов в словах — от старшего к младшему. |
||
* |
* Структура переходов — эклектичная{{прояснить}}. Для безусловного перехода или перехода к подпрограмме используется не менее 4 способов: по поиску «метки» в теле программы (последовательности байт 04 08 + <метка>), последовательным просмотром (прослеживается явное наследие калькулятора), с относительной адресацией — в пределах 256 байт от команды перехода, и по адресу в регистре — по таблице переходов. |
||
В 128-килобайтной версии применяется страничная организация памяти с мгновенно переключаемыми (по изменению состояния |
В 128-килобайтной версии машины применяется страничная организация памяти с мгновенно переключаемыми (по изменению состояния управляющих ячеек памяти) страницами размером по 16 килобайт каждая. Адресное пространство без применения механизма переключений страниц составляет 32 килобайта. |
||
=== Регистры и индикаторы === |
=== Регистры и индикаторы === |
||
Регистры адресовались как ячейки памяти по некоторым фиксированным адресам. |
Регистры адресовались как ячейки памяти по некоторым фиксированным адресам. |
||
При этом регистры X и Y арифметики плавающей запятой отображаются на индикаторах. |
При этом регистры X и Y арифметики с плавающей запятой непрерывно отображаются на 2 индикаторах. |
||
В режиме останова большинство клавиш на |
В режиме останова основной программы большинство клавиш на клавиатуре предназначалось для арифметических и функциональных действий с числами в регистрах X и Y. |
||
При работе программы на индикаторах отображались состояния регистров X и Y, однако существовало несколько команд, позволявших изменить способ отображения соответствующей им области памяти на один из нескольких служебных. |
При работе основной программы на индикаторах отображались состояния регистров X и Y, однако существовало несколько команд, позволявших изменить способ отображения соответствующей им области памяти на один из нескольких служебных регистров. |
||
При отладке и запуске пошагового исполнения на индикаторах отображались адрес исполняемой команды, код и три |
При отладке и запуске пошагового исполнения отлаживаемой программы на индикаторах отображались адрес исполняемой команды, код операции и три следующих в памяти байта команд. |
||
Регистры работы с байтами, 16-разрядными словами было по 16, при этом 16 байтовых регистров физически совпадали с первыми восемью 16-битовыми регистрами. |
|||
=== Сообщения об ошибках ЭВМ Д3-28 === |
|||
{| class="wikitable" |
|||
!Код |
|||
!Тип ошибки |
|||
!Код |
|||
!Тип ошибки |
|||
|- |
|||
|0 |
|||
|Переполнение памяти, отведённой пользователю |
|||
|26 |
|||
|Недопустимый оператор DATA |
|||
|- |
|||
|1 |
|||
|Недопустимый оператор |
|||
|27 |
|||
|Неправильный формат команд CMD |
|||
|- |
|||
|2 |
|||
|Переполнение строки ввода |
|||
|30 |
|||
|Неправильный формат в операторе FOR…NEXT |
|||
|- |
|||
|3 |
|||
|Недопустимый ограничитель в строке |
|||
|31 |
|||
|Отсутствие NEXT |
|||
|- |
|||
|4 |
|||
|Недопустимый номер строки |
|||
|32 |
|||
|Отсутствие FOR |
|||
|- |
|||
|5 |
|||
|Несоответствие кавычек в предложении |
|||
|33 |
|||
|Переполнение стека FOR…NEXT |
|||
|- |
|||
|6 |
|||
|Отсутствие открывающей скобки перед аргументом функции |
|||
|34 |
|||
|Нулевой шаг FOR |
|||
|- |
|||
|7 |
|||
|Недопустимый оператор LET |
|||
|35 |
|||
|Неверный формат оператора PRINT |
|||
|- |
|||
|10 |
|||
|Неправильная запись индексов |
|||
|36 |
|||
|Неверно задан формат печати |
|||
|- |
|||
|11 |
|||
|Неправильная размерность индекса |
|||
|37 |
|||
|Недопустимое выражение в операторе TAB |
|||
|- |
|||
|12 |
|||
|Несоответствие скобок в выражении |
|||
|38 |
|||
|Отсутствие открывающей записи в магнитной ленте (МЛ) |
|||
|- |
|||
|13 |
|||
|Недопустимый элемент выражения |
|||
|43 |
|||
|Нет строки для перехода по операторам GOSUB или GOTO |
|||
|- |
|||
|14 |
|||
|Функция пользователя не определена |
|||
|44 |
|||
|Нет внешней подпрограммы с указанным именем |
|||
|- |
|||
|15 |
|||
|Неправильное имя переменной |
|||
|50 |
|||
|Неправильное предложение с оператором обслуживания МЛ |
|||
|- |
|||
|20 |
|||
|Неправильная операция отношения |
|||
|52 |
|||
|Сбой структуры файла |
|||
|- |
|||
|21 |
|||
|Недопустимый оператор IF |
|||
|53 |
|||
|Отсутствие в запоминающем устройстве массива при приёме с МЛ |
|||
|- |
|||
|22 |
|||
|Недопустимый оператор COM или DIM |
|||
|54 |
|||
|Не считан очередной блок данных с МЛ в ОЗУ |
|||
|- |
|||
|23 |
|||
|Недостаточно места для массива DIM |
|||
|55 |
|||
|Считанный блок не помещается в ОЗУ |
|||
|- |
|||
|24 |
|||
|Неправильный оператор DEF |
|||
|123 |
|||
|Несуществующая переменная |
|||
|- |
|||
|25 |
|||
|Нет данных для оператора READ |
|||
|128 |
|||
|Некорректная операция в процессе вычисления |
|||
|- |
|||
|} |
|||
=== Порты ввода-вывода === |
=== Порты ввода-вывода === |
||
Машина стандартно имела устройство чтения/записи на магнитной ленте. |
Машина стандартно имела устройство чтения/записи на магнитной ленте компактной кассеты, применяемой в бытовых магнитофонах. |
||
Интерфейс ввода-вывода позволял подключать перфоратор и считыватель с перфоленты, |
|||
а также привод гибких восьмидюймовых дисков |
|||
Интерфейс ввода-вывода позволял подключать перфоратор и считыватель с перфоленты, а также дисковод гибких восьмидюймовых дисков. |
|||
=== Сообщения об ошибках ЭВМ Д3-28 === |
|||
0 — переполнение памяти, отведённой пользователю |
|||
1 — недопустимый оператор |
|||
2 — переполнение строки ввода |
|||
3 — недопустимый ограничитель в строке |
|||
4 — недопустимый номер строки |
|||
5 — несоответствие кавычек в предложении |
|||
6 — отсутствие открывающей скобки перед аргументом функции |
|||
7 — недопустимый оператор LET |
|||
10 — неправильная запись индексов |
|||
11 — неправильная размерность индекса |
|||
12 — несоответствие скобок в выражении |
|||
13 — недопустимый элемент выражения |
|||
14 — функция пользователя не определена |
|||
15 — неправильное имя переменной |
|||
20 — неправильная операция отношения |
|||
21 — недопустимый оператор IF |
|||
22 — недопустимый оператор COM или DIM |
|||
23 — недостаточно места для массива DIM |
|||
24 — неправильный оператор DEF |
|||
25 — нет данных для оператора READ |
|||
26 — недопустимый оператор DATA |
|||
27 — неправильный формат команд CMD |
|||
30 — неправильный формат в операторе FOR-NEXT |
|||
31 — отсутствие NEXT |
|||
32 — не было FOR |
|||
33 — переполнение стека FOR-NEXT |
|||
34 — нулевой шаг FOR |
|||
35 — неверный формат оператора PRINT |
|||
36 — неверно задан формат печати |
|||
37 — недопустимое выражение в операторе TAB |
|||
38 — отсутствие открывающей записи в МЛ |
|||
43 — нет строки для перехода по операторам GOSUB или GOTO |
|||
44 — нет внешней подпрограммы с указанным именем |
|||
50 — неправильное предложение с оператором обслуживания МЛ |
|||
52 — сбой структуры файла |
|||
53 — отсутствие в запоминающем устройстве массива при приёме с МЛ |
|||
54 — не считан очередной блок данных с МЛ в ОЗУ |
|||
55 — считанный блок не помещается в ОЗУ |
|||
123 — несуществующая переменная |
|||
128 — некорректная операция в процессе вычисления |
|||
== Сетевая структура == |
== Сетевая структура == |
||
Была разработана и реализована спецификация локальной сети размером до 255 устройств (машин или внешних устройств, например |
Была разработана и реализована спецификация локальной сети размером до 255 устройств (машин или внешних устройств, например, принтеров) построенная на параллельном интерфейсе ИРПР. Топология сети — общая шина. Число соединительных проводников в кабеле — 34. Например, в компьютерном зале [[МФТИ]] соединялось от 5 до 18 машин. |
||
== Программное обеспечение == |
== Программное обеспечение == |
||
=== Бейсик === |
=== Бейсик === |
||
На ЭВМ Электроника Д3-28 реализован |
На ЭВМ Электроника Д3-28 реализован интерпретатор языка [[Бейсик]] (вариант 3А). Примечателен тем, что позволял сразу после загрузки интерпретатора, загрузить расширения интерпретатора в машинном коде с НМЛ. Расширения вызывались через оператор CALL по номеру пакета расширений. Данные расширения позволяли компенсировать ограниченность языка, существовали расширения для работы со строками, для плотной упаковки целочисленных данных, многочисленные расширения для работы с периферийным оборудованием. Исходно, язык Бейсик 3А поддерживал только вещественные числа. |
||
=== «Тужилкинский Бейсик» === |
=== «Тужилкинский Бейсик» === |
||
Назван по фамилии автора — Владимира Алексеевича Тужилкина, распространён был, главным образом, в МФТИ, где и был написан. Достоинства — |
Назван по фамилии автора — Владимира Алексеевича Тужилкина, распространён был, главным образом, в МФТИ, где и был написан интерпретатор. Достоинства — бо́льшая функциональность и меньший объём занимаемой памяти, чем у «официальной» версии (8 кбайт против 10,5 кбайт). Недостаток — интерпретатор был рассчитан на нестандартное подключение дисплея 15ИЭ-00-013, что ограничивало его более широкое распространение. Использовал формат хранения программ и данных, также несовместимый с исходной версией, однако, благодаря доступу большого количества студентов МФТИ к этим машинам, объём «софта», написанного под этот диалект, далеко превышает объём других программ для Д3-28. |
||
=== FORTRAN-5M === |
=== FORTRAN-5M === |
||
Самоназвание, выводилось после успешного запуска комплекса. Работал только на системах с |
Самоназвание, выводилось после успешного запуска комплекса. Работал только на системах с 128 кБ памяти. Происхождение компилятора неизвестно. Компилятор диалекта Фортрана, редко применяемый на подобных машинах, давал быстродействие, сопоставимое с программой, изначально написанной в машинных кодах. Скопмпилированную программу можно было записать на кассету и использовать независимо от загруженного компилятора. Во время компиляции этот компилятор иногда уничтожал исходный код программы (вероятно, в случае большого её объёма), но позволял корректно сохранить исполняемый модуль. Позволял вставлять фрагменты в машинных кодах. Возможно, он был основой или ранней версией ОС ВТ-МХТИ. |
||
=== ОС ВТ-МХТИ === |
=== ОС ВТ-МХТИ === |
||
В [[РХТУ|Московском химико-технологическом институте им. Д.И. |
В [[РХТУ|Московском химико-технологическом институте им. Д. И. Менделеева]] была создана [[операционная система]], называвшаяся по названию института — ОС ВТ-МХТИ. Разработчиком этой системы был Владимир Калинкин. В систему входил интерпретатор-компилятор собственного [[язык программирования|языка программирования]] ВТ-МХТИ, работавший на порядок быстрее штатного «Бейсика» и ряд системных [[утилита|утилит]]. Генерация системы производилась с кассеты-генератора (по аналогии с [[ЕС ЭВМ|ЕС-1022]]), сгенерированная система записывалась на вторую кассету. |
||
https://web.archive.org/web/20160804174037/http://www.phantom.sannata.ru/forum/index.php?t=&p=153740#pp153740#pp153740 |
|||
http://www.chemport.ru/forum/viewtopic.php?f=1&t=5597&start=60#p596777 |
|||
Особенностью языка программирования ВТ-МХТИ являлось использование как англоязычного, так и русскоязычного набора [[Оператор (программирование)|операторов]] и наличие интерактивного ввода (что-то типа [[Т9]] на современных [[смартфон]]ах). Сейчас в сети сложно найти описание ОС ВТ-МХТИ, но существует много [[пользователь|пользователей]], вспоминающих про эту систему: [https://web.archive.org/web/20160804174037/http://www.phantom.sannata.ru/forum/index.php?t=&p=153740#pp153740#pp153740 1], [http://www.chemport.ru/forum/viewtopic.php?f=1&t=5597&start=60#p596777 2], [http://forum.vingrad.ru/topic-57314/view-all.html# 3]. |
|||
http://forum.vingrad.ru/topic-57314/view-all.html# |
|||
== См. также == |
== См. также == |
||
* [[Электроника 15ВСМ-5]] — устройство, внешне и по основным органам управления, устройствам и логической организации памяти очень похожее на Д3-28, |
* [[Электроника 15ВСМ-5]] — устройство, внешне и по основным органам управления, устройствам и логической организации памяти очень похожее на Д3-28, но имевшее только 1 килобайт ОЗУ на ферритовых кольцах, 256 слов ПЗУ микропрограмм, исполненном в виде ферритового ПЗУ. |
||
== Примечания == |
== Примечания == |
Версия от 03:04, 3 мая 2020
Электро́ника Д3-28 — специализированное настольное управляющее и вычислительное устройство, занимающее промежуточное положение между персональными компьютерами и программируемыми калькуляторами.
Создана на основе машины 15ВСМ5, у которой прототипом являлся программируемый калькулятор Wang 700[1]. Имеет встроенную клавиатуру (цифровые и функциональные клавиши), двухстрочный дисплей на семисегментных индикаторах (12 цифр мантиссы, две цифры степени и два индикатора знака в каждой строке) и накопитель на магнитной ленте (НМЛ) в стандартных аудиокассетах.
Также оснащается интерфейсами ИРПР и ИРПС (в виде согласующего устройства ПЭЛ2.240.001), к которым обычно подключался принтер и алфавитно-цифровой терминал (как правило, модели 15ИЭ-00-013).
Варианты исполнения
Первые серии Д3-28 имели микропрограммное обеспечение, находящееся в постоянных запоминающих устройствах (ПЗУ) на вручную прошиваемой тонким проводом матрице из ферритовых разборных П-образных сердечниках из магнитомягкого феррита). В последующих сериях ПЗУ выполнялось на интегральных микросхемах.
В некоторых тестовых экземплярах машин ПЗУ с микропрограммами устанавливались в панельки; существовали специальные прошивки этих ПЗУ для использования устройств в составе специализированных вычислительных комплексов.
В процессе производства Д3-28 внутренняя архитектура и программное обеспечение совершенствовалось с добавлением новых команд. Поколения Д3-28 (в соответствии с инструкцией по эксплуатации) делятся на «выпущенные до октября 1979 года», после этой даты и «после 1983 года».
Д3-28 16К (15ВМ16)
16 килобайт ОЗУ (микросхемы в первых выпусках — К565РУ1, в последующих — К565РУ3 и К565РУ6).
Внешне отличалась также красным цветом свечения индикаторов и цветом закрывающей их пластины из оргстекла. Ппоследующие модели имели оранжевый цвет цифр под зелёным светофильтром.
Д3-28 32К (15ВМ32)
Наиболее массовый вариант исполненя[источник не указан 2933 дня]. Оснащена 32 килобайтами ОЗУ, выполненной на микросхемах 565РУ6.
Д3-28 128К (15ВМ128)
Оснащена 128 килобайтами ОЗУ, выполненной на микросхемах 565РУ5.
В зависимости от исполнения (кодировались цифрами ххх в обозначении 15ВМ128-xxx) Д3-28 имела возможность подключения к фотосчитывающим устройствам (СП-3 и FS-1501), ленточным перфораторам (ПЛ-150М), печатающим устройствам (например, Consul 256, Consul 260), специальные блоки для подключения мониторов типа 15ИЭ-00-013, а также возможность подключения удаленных устройств дистанционного управления Д3-28. Подключение печатающего устройства машинок Consul и монитора превращала Д3-28 в персональный компьютер.
Имелась возможность загрузки и автоматического запуска программы через интерфейс при включении машины.
Архитектура и система команд
Система команд
У Электроники Д3-28 с объёмом ОЗУ 32 К, команды машинно-ориентированного языка Д3-28 кодируются двумя или четырьмя шестнадцатеричными цифрами.
Набор команд на основе КОИ-7 (набор 2) в виде русскоязычных команд и машинного 4-значного шестнадцатеричного кода для электроники ЭВМ ДЗ-28 приведён в таблице. Строки в таблице — старшие 4 бита кода, столбцы — младшие биты.
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0. |
ПУС 00 00 |
НЗ 00 01 |
НТ 00 02 |
КТ 00 03 |
КП 00 04 |
КТМ 00 05 |
ДА 00 06 |
ЗВ 00 07 |
ВШ 00 08 |
ГТ 00 09 |
ПС 00 10 |
ВТ 00 11 |
ПФ 00 12 |
ВК 00 13 |
ВЫХ 00 14 |
ВХ 00 15 |
1. |
АР1 01 00 |
(СУ1) 01 01 |
(СУ2) 01 02 |
(СУ3) 01 03 |
СТП 01 04 |
НЕТ 01 05 |
СИН 01 06 |
КБ 01 07 |
АН 01 08 |
КН 01 09 |
ЗМ 01 10 |
АР2 01 11 |
РФ 01 12 |
РГ 01 13 |
РЗ 01 14 |
РЭ 01 15 |
2. |
ПРОБЕЛ 02 00 |
! 02 01 |
” 02 02 |
# 02 03 |
¤ 02 04 |
% 02 05 |
& 02 06 |
′ 02 07 |
( 02 08 |
) 02 09 |
* 02 10 |
+ 02 11 |
’ 02 12 |
- 02 13 |
. 02 14 |
/ 02 15 |
3. |
0 03 00 |
1 03 01 |
2 03 02 |
3 03 03 |
4 03 04 |
5 03 05 |
6 03 06 |
7 03 07 |
8 03 08 |
9 03 09 |
: 03 10 |
; 03 11 |
< 03 12 |
{{{2}}} 03 13 |
> 03 14 |
? 03 15 |
4. |
@ 04 00 |
A 04 01 |
B 04 02 |
C 04 03 |
D 04 04 |
E 04 05 |
F 04 06 |
G 04 07 |
H 04 08 |
I 04 09 |
J 04 10 |
K 04 11 |
L 04 12 |
M 04 13 |
N 04 14 |
O 04 15 |
5. |
P 05 00 |
Q 05 01 |
R 05 02 |
S 05 03 |
T 05 04 |
U 05 05 |
V 05 06 |
W 05 07 |
X 05 08 |
Y 05 09 |
Z 05 10 |
[ 05 11 |
\ 05 12 |
] 05 13 |
¬ 05 14 |
_ 05 15 |
6. |
Ю 06 00 |
А 06 01 |
Б 06 02 |
Ц 06 03 |
Д 06 04 |
Е 06 05 |
Ф 06 06 |
Г 06 07 |
Х 06 08 |
И 06 09 |
Й 06 10 |
К 06 11 |
Л 06 12 |
М 06 13 |
Н 06 14 |
О 06 15 |
7. |
П 07 00 |
Я 07 01 |
Р 07 02 |
С 07 03 |
Т 07 04 |
У 07 05 |
Ж 07 06 |
В 07 07 |
Ь 07 08 |
Ы 07 09 |
З 07 10 |
Ш 07 11 |
Э 07 12 |
Щ 07 13 |
Ч 07 14 |
ЗБ 07 15 |
Пояснения к таблице
- ПУС (NUL) — пусто; НЗ (SON) — начало заголовка; НТ (STX) — начало текста; КТ (ETX) — конец текста; КП (EOT) — конец передачи; КТМ (ENQ) — кто там?; НЕТ (NAK) — отрицание, отрицательный ответ; СИН (SIN) — синхронизация; КБ (ETB) — конец блока данных; ЗБ (DEL) — забой; АН (CAN) — аннулирование; КН (EM) — конец магнитного носителя; ЗМ (SUB) — замена, позволяет заменить символ; ВХ (S1) — вход, работа с одной половиной таблицы; ВЫХ (S0) — выход, работа с символами.
Для облегчения восприятия команд используется мнемокод в ассемблерном виде:
- ABGE — прибавление единицы и ветвление, если больше или равно;
- ADD — сложение;
- AND — логическое умножение;
- ANS — анализ;
- GO — пуск;
- LOAD — загрузка;
- LOADP — считывание с МЛ;
- DIV — деление;
- SUB — вычитание;
- RTSI — псевдовозврат из подпрограммы;
- INP — ввод;
- SOB — вычитание единицы и условный переход;
- MARK — метка;
- MUL — умножение;
- BBIS — переход, если бит установлен (=1);
- WAIT — ожидание;
- SWA — обмен;
- CLR — очистка регистра (обнуление);
- NEG — отрицание;
- INT — целое;
- VER — контроль;
- DIG — цифра (десятичная);
- SQR — квадратный корень;
- INV — обратная величина;
- JMM — передача управления на метку;
- XOR — исключающее или;
- BMER — переход, если машинная ошибка;
- BEV — переход, если чётно;
- BBIC — переход, если бит очищен (=0);
- BEQ — переход, если равно;
- E — экспонента, (показатель степени);
- BLT — переход, если меньше чем;
- OR — логическое сложение;
- BKEY — переход, если нажата клавиша;
- BGE — переход, если больше или равно;
- BHIS — переход, если больше или тождественно;
- MOV — пересылка;
- CAP — преобразование декартовых координат в полярные координаты;
- PRINT — вывод на печать;
- POC — преобразование полярных координат в декартовы координаты;
- SAVE — запись;
- OUT — вывод;
- ATOI — преобразование в целочисленное;
- POINT — точка;
- CMD — команда;
- DEG — градус;
- COM — инвертирование знака;
- BR — безусловный переход;
- RTII — псевдовозврат из прерывания;
- BSA — ветвление или тождество;
- RTS — возврат из подпрограммы;
- RES — остаток;
- QRT — квадрат;
- BPER — переход, если программная ошибка;
- BNE — переход, если не равно;
- BPL — переход, если плюс;
- BMI — переход, если минус;
- END — конец.
Работа с клавиатуры Д3-28
Возможна работа в одном из 4-х режимов: Включение режимов Р*, В*, ПВ*, П* производится нажатием клавиши и индицируется свечением расположенного рядом с ней индикатора.
- Р* является основным, производится выполнение всех программ и команд записанных в ОЗУ вводимых с клавиатуры Д3-28, с НМЛ.
- В* Ввод программ в ОЗУ проверка и изменение текстов программ, команда не выполняется, а только записывается в ОЗУ в шестнадцатеричном виде по адресу, индицируемому в регистре Y.
- ПВ* Печать и ввод.
- П* Печать.
Символ на клавише | Название команды | Мнемокод | Код команды |
---|---|---|---|
М | Метка | MARK | 04 08 |
СЛ | Считывание с МЛ | LOADP | 05 13 |
S | Пуск | GO | 05 14 |
ВП | Вызов из памяти | MOV C,X | 04 05 |
ЗП | Запись в память | MOV X,C | 04 04 |
Организация памяти
- В Д3-28 ОЗУ условно разделено на две зоны: рабочая и служебная. Ячейки служебной зоны именуются регистрами.
- Рабочая зона машин с 32-килобайтами ОЗУ занимает адреса с 0.00.00.00 (00000 дес.) по 7.14.15.15 (в 16-ричном виде 0x7EFF или 32511 десятичном виде), в этой зоне размещаются данные и программы пользователя.
- Служебная зона занимает последние 256 байтов ОЗУ с 7.15.00.00 (32512 дес.) по 7.15.15.15 (32767 дес). В некоторых регистрах хранится информация для нормальной работы Д3-28, часть свободных ячеек может быть использована для хранения команд.
- Структура служебной зоны ОЗУ: с адреса 7.15.00.00 по 7.15.01.15 расположены шестнадцать двухбайтовых регистров R00, RO1…R15, каждый R-регистр состоит из двух байтов ОЗУ с соседними адресами, байт с меньшим адресом является старшим. Регистры R08…R15 состоят из шестнадцати однобайтных регистров S00…S15.
- Четыре регистра R04, R05, R06, R07 образуют восьмибайтный регистр RR, который используется в командах с кодами 12 06 (MOV X,RR) и 12 07 (MOV RR,X).
Вся память адресуется независимо двумя основными способами:
- Для команд работы с числами с плавающей запятой память представляет собой набор последовательно расположенных 16-байтовых чисел (12 байт — десятичная мантисса, 2 бита — знак числа и знак порядка, три тетрады — три десятичных цифры показателя степени). Адресом ячейки служит условный номер такого числа от 0 до (размер памяти /16).
- Плавающие числа хранятся в двух разных форматах. В одном, когда адресом был номер ячейки, число занимает или старшие, или младшие полубайты в 16 байтах, расположенных подряд и выровненных на адрес, кратный 16. В другом число занимает целиком 8 байтов в памяти подряд. При этом разрядность и прочие характеристики чисел совпадают. Первая форма была унаследована от калькулятора и допускала только команды с прямой адресацией (0-255, поскольку адрес был байтовый), вторая — только команды с косвенной адресацией, но при этом адресуется вся память.
- Для команд целочисленной арифметики и логических операций с байтами, 16-ти и 32-битными словами адресом служит физический адрес первого, самого старшего байта слова.
- Порядок следования байтов в словах — от старшего к младшему.
- Структура переходов — эклектичная[прояснить]. Для безусловного перехода или перехода к подпрограмме используется не менее 4 способов: по поиску «метки» в теле программы (последовательности байт 04 08 + <метка>), последовательным просмотром (прослеживается явное наследие калькулятора), с относительной адресацией — в пределах 256 байт от команды перехода, и по адресу в регистре — по таблице переходов.
В 128-килобайтной версии машины применяется страничная организация памяти с мгновенно переключаемыми (по изменению состояния управляющих ячеек памяти) страницами размером по 16 килобайт каждая. Адресное пространство без применения механизма переключений страниц составляет 32 килобайта.
Регистры и индикаторы
Регистры адресовались как ячейки памяти по некоторым фиксированным адресам. При этом регистры X и Y арифметики с плавающей запятой непрерывно отображаются на 2 индикаторах.
В режиме останова основной программы большинство клавиш на клавиатуре предназначалось для арифметических и функциональных действий с числами в регистрах X и Y.
При работе основной программы на индикаторах отображались состояния регистров X и Y, однако существовало несколько команд, позволявших изменить способ отображения соответствующей им области памяти на один из нескольких служебных регистров.
При отладке и запуске пошагового исполнения отлаживаемой программы на индикаторах отображались адрес исполняемой команды, код операции и три следующих в памяти байта команд.
Регистры работы с байтами, 16-разрядными словами было по 16, при этом 16 байтовых регистров физически совпадали с первыми восемью 16-битовыми регистрами.
Сообщения об ошибках ЭВМ Д3-28
Код | Тип ошибки | Код | Тип ошибки |
---|---|---|---|
0 | Переполнение памяти, отведённой пользователю | 26 | Недопустимый оператор DATA |
1 | Недопустимый оператор | 27 | Неправильный формат команд CMD |
2 | Переполнение строки ввода | 30 | Неправильный формат в операторе FOR…NEXT |
3 | Недопустимый ограничитель в строке | 31 | Отсутствие NEXT |
4 | Недопустимый номер строки | 32 | Отсутствие FOR |
5 | Несоответствие кавычек в предложении | 33 | Переполнение стека FOR…NEXT |
6 | Отсутствие открывающей скобки перед аргументом функции | 34 | Нулевой шаг FOR |
7 | Недопустимый оператор LET | 35 | Неверный формат оператора PRINT |
10 | Неправильная запись индексов | 36 | Неверно задан формат печати |
11 | Неправильная размерность индекса | 37 | Недопустимое выражение в операторе TAB |
12 | Несоответствие скобок в выражении | 38 | Отсутствие открывающей записи в магнитной ленте (МЛ) |
13 | Недопустимый элемент выражения | 43 | Нет строки для перехода по операторам GOSUB или GOTO |
14 | Функция пользователя не определена | 44 | Нет внешней подпрограммы с указанным именем |
15 | Неправильное имя переменной | 50 | Неправильное предложение с оператором обслуживания МЛ |
20 | Неправильная операция отношения | 52 | Сбой структуры файла |
21 | Недопустимый оператор IF | 53 | Отсутствие в запоминающем устройстве массива при приёме с МЛ |
22 | Недопустимый оператор COM или DIM | 54 | Не считан очередной блок данных с МЛ в ОЗУ |
23 | Недостаточно места для массива DIM | 55 | Считанный блок не помещается в ОЗУ |
24 | Неправильный оператор DEF | 123 | Несуществующая переменная |
25 | Нет данных для оператора READ | 128 | Некорректная операция в процессе вычисления |
Порты ввода-вывода
Машина стандартно имела устройство чтения/записи на магнитной ленте компактной кассеты, применяемой в бытовых магнитофонах.
Интерфейс ввода-вывода позволял подключать перфоратор и считыватель с перфоленты, а также дисковод гибких восьмидюймовых дисков.
Сетевая структура
Была разработана и реализована спецификация локальной сети размером до 255 устройств (машин или внешних устройств, например, принтеров) построенная на параллельном интерфейсе ИРПР. Топология сети — общая шина. Число соединительных проводников в кабеле — 34. Например, в компьютерном зале МФТИ соединялось от 5 до 18 машин.
Программное обеспечение
Бейсик
На ЭВМ Электроника Д3-28 реализован интерпретатор языка Бейсик (вариант 3А). Примечателен тем, что позволял сразу после загрузки интерпретатора, загрузить расширения интерпретатора в машинном коде с НМЛ. Расширения вызывались через оператор CALL по номеру пакета расширений. Данные расширения позволяли компенсировать ограниченность языка, существовали расширения для работы со строками, для плотной упаковки целочисленных данных, многочисленные расширения для работы с периферийным оборудованием. Исходно, язык Бейсик 3А поддерживал только вещественные числа.
«Тужилкинский Бейсик»
Назван по фамилии автора — Владимира Алексеевича Тужилкина, распространён был, главным образом, в МФТИ, где и был написан интерпретатор. Достоинства — бо́льшая функциональность и меньший объём занимаемой памяти, чем у «официальной» версии (8 кбайт против 10,5 кбайт). Недостаток — интерпретатор был рассчитан на нестандартное подключение дисплея 15ИЭ-00-013, что ограничивало его более широкое распространение. Использовал формат хранения программ и данных, также несовместимый с исходной версией, однако, благодаря доступу большого количества студентов МФТИ к этим машинам, объём «софта», написанного под этот диалект, далеко превышает объём других программ для Д3-28.
FORTRAN-5M
Самоназвание, выводилось после успешного запуска комплекса. Работал только на системах с 128 кБ памяти. Происхождение компилятора неизвестно. Компилятор диалекта Фортрана, редко применяемый на подобных машинах, давал быстродействие, сопоставимое с программой, изначально написанной в машинных кодах. Скопмпилированную программу можно было записать на кассету и использовать независимо от загруженного компилятора. Во время компиляции этот компилятор иногда уничтожал исходный код программы (вероятно, в случае большого её объёма), но позволял корректно сохранить исполняемый модуль. Позволял вставлять фрагменты в машинных кодах. Возможно, он был основой или ранней версией ОС ВТ-МХТИ.
ОС ВТ-МХТИ
В Московском химико-технологическом институте им. Д. И. Менделеева была создана операционная система, называвшаяся по названию института — ОС ВТ-МХТИ. Разработчиком этой системы был Владимир Калинкин. В систему входил интерпретатор-компилятор собственного языка программирования ВТ-МХТИ, работавший на порядок быстрее штатного «Бейсика» и ряд системных утилит. Генерация системы производилась с кассеты-генератора (по аналогии с ЕС-1022), сгенерированная система записывалась на вторую кассету.
Особенностью языка программирования ВТ-МХТИ являлось использование как англоязычного, так и русскоязычного набора операторов и наличие интерактивного ввода (что-то типа Т9 на современных смартфонах). Сейчас в сети сложно найти описание ОС ВТ-МХТИ, но существует много пользователей, вспоминающих про эту систему: 1, 2, 3.
См. также
- Электроника 15ВСМ-5 — устройство, внешне и по основным органам управления, устройствам и логической организации памяти очень похожее на Д3-28, но имевшее только 1 килобайт ОЗУ на ферритовых кольцах, 256 слов ПЗУ микропрограмм, исполненном в виде ферритового ПЗУ.
Примечания
- ↑ Rick Bensene. Wang 720C Advanced Programming Calculator (англ.). The Old Calculator Web Museum (3 сентября 2008). Дата обращения: 12 сентября 2010. Архивировано из оригинала 3 августа 2010 года.
Ссылки
- Фотогалерея: Сергей Фролов. Электроника Д3-28 15ВМ128-019 . Коллекция советской цифровой электроники Сергея Фролова (28 августа 2010). Дата обращения: 12 сентября 2010. Архивировано из оригинала 18 августа 2011 года.
Для улучшения этой статьи желательно:
|