Меню
Главная
Случайная статья
Настройки
|
Series 16 — серия 16-битных мини-компьютеров, анонсированная в 1964 году компанией Computer Control Corporation. С 1966 года выпускались компанией Honeywell, которая купила Computer Control Corporation.
Компьютеры этой серии:
Содержание
Архитектура и ассемблер
Оригинал
Стандартный компьютер имеет 16 КБ памяти, возможно расширение до 32 КБ. Память делится на логические секторы по 512 слов.
Машина имеет следующие регистры: программный счётчик P, индексный регистр X, аккумулятор A, вспомогательный регистр B и флаговый регистр C, который используется в качестве флага переполнения. Разные версии компьютеров могут добавлять свои регистры.
Устройства подключаются к компьютеру по шине I/O. Используется 16 бит для данных, 6 для определения устройства и 4 для определения функций, которые будет выполнять устройство. Существует 6 инструкций для работы с портами ввода-вывода:
Инструкция |
Краткое описание |
Опкод |
Время выполнения
|
INA |
Чтение данных из устройства в регистр A |
54 |
1.92
|
OTA |
Запись данных в устройство из регистра A |
74 |
1.92
|
OCP |
Установка режима работы устройства |
14 |
1.92
|
SKS |
Пропуск следующей инструкции в зависимости от состояния устройства |
34 |
1.92
|
Также существуют инструкции для высокоскоростной передачи данных — DMC и DMA.
Здесь показаны основные адреса устройств:
Адрес — Устройство.
- '01 — Высокоскоростной читатель ленты.
- '02 — Высокоскоростной перфоратор.
- '03 — Строчный принтер.
- '04 — Телетайп.
- '05 — Кардридер.
- '10 … '17 — Устройства, использующие магнитную ленту.
- '20 — Псевдо-устройство для использования SMK инструкций. (таймер реального времени, например)
- '23 — PIC контроллер.
- '24 — DMA.
- '30 — Параллельные каналы ввода-вывода.
- '33 — Прерывания PIC контроллера.
- '34 — SKS/OCP.
Формат инструкции ___ ___ _______________ ___ ___________________________________
| F | T | Опкод | S | 9-битный адрес |
|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
1 2 3 6 7 8 16
F — Флаг
T — Тег
S — Сектор
Расшифровка опкода
Опкод
|
Инструкция
|
Описание
|
0000
|
Универсальная
|
0001
|
JMP
|
Безусловный переход
|
0010
|
LDA
|
[EA]->(A)
|
0011
|
ANA
|
Применить AND с A
|
0100
|
STA
|
(A)->[EA]
|
0101
|
ERA
|
Применить XOR с A
|
0111
|
SUB
|
Вычитание
|
1000
|
JST
|
Перейти и загрузить текущий адрес
|
1001
|
CAS
|
Сравнить
|
1010
|
IRS
|
Инкрементировать. Если [EA] = 0, пропустить следующую инструкцию
|
1011
|
IMA
|
Взаимная перестановка памяти и A
|
1100
|
Ввод/Вывод
|
1101
|
LDX/STX
|
T=1, [EA]->(X) / T=0 , (X)->[EA]
|
1110
|
MPY
|
Умножение
|
1111
|
DIV
|
Деление
|
Примечания
- Ceruzzi, 2003, p. 194.
Литература
|
|