КОМПАС - Википедия - COMPASS

КОМПАС, КОМПвосстановить ЖОПАEmbler,[1] относится к семейству макросов языки ассемблера на Корпорация Control Data с 3000 серии, а на 60-битной CDC 6000 серии, 7600 и Cyber ​​70 и 170 серий мэйнфреймы. Хотя архитектуры сильно различаются, средства макро- и условной сборки похожи.

КОМПАС для 60-битных машин

Есть два ароматы КОМПАСА на 60-битных машинах:

КОМПАС - классический двухпроходный ассемблер с макрос и условные функции сборки, и генерирует полный список, показывающий как исходный код сборки, так и сгенерированный Машинный кодвосьмеричный ). CDC операционные системы были написаны почти полностью на ассемблере COMPASS.

Аппаратное обеспечение центрального процессора (CP или CPU) поддерживает 24 рабочих места. регистры с именами от A0 до A7, от X0 до X7 и от B0 до B7. Регистры с X0 по X7 имеют длину 60 бит и используются для хранения данных, в то время как регистры от B0 до B7 имеют длину 18 бит, и их основная цель - хранить либо адреса или использоваться как регистры индексации, за исключением того, что B0 всегда равен нулю. По соглашению о программировании B1 (или B7) часто содержит положительную единицу.

А или регистры адресов также имеют длину 18 бит. Каждый регистр A соединяется с соответствующим регистром X. Каждый раз, когда адрес устанавливается в любой из регистров от A1 до A5, данные в этой ячейке памяти (адресе) загружаются в соответствующий регистр X. Аналогичным образом, установка адреса в один из регистров A6 или A7 сохраняет данные, хранящиеся в соответствующем регистре X6 или X7, в этой ячейке памяти. Однако A0 можно использовать для хранения любого адреса, не влияя на содержимое регистра X0.

CP инструкции написаны в особенно удобной для пользователя форме: «SA1 A0 + B1» означает установить адресный регистр A1 на сумму адресного регистра A0 и индексного регистра B1. Затем аппаратное обеспечение инициирует загрузку памяти из вычисленного адреса в регистр X1.

Инструкции периферийного процессора (PP или PPU) полностью отличаются от инструкций CPU. Аппаратное обеспечение периферийного процессора проще; он имеет 18-битный A (аккумулятор регистр, 12-битный регистр адреса программы, 12-битный регистр Q (не видимый для программиста) и 22-битный регистр R (используемый для выполнения перемещения адреса во время чтения и записи команд из центральной памяти на Cyber ​​180 системы). Для сборки программ периферийного процессора не требовалось специальной проверки задания, но для выполнения такие программы требовалось установить в операционную систему с помощью специальных команд редактирования системы.

Пример кода

Этот Пример кода COMPASS отображает календарь года, заданного как параметр на Терминал. Если параметр не указан, отображается календарь текущего года.

дальнейшее чтение

  • «Программирование на языке ассемблера для управляющих данных серии 6000» Ральфа Гришмана, Algorithmics Press, 1972.[2]

Рекомендации

  1. ^ «Компас - FOLDOC - Компьютерный словарь».
  2. ^ цитируется в http://cholla.mmto.org/computers/firstcdc.html

внешняя ссылка