МАКРО-10 - MACRO-10
МАКРО-10 является язык ассемблера с обширным макрос возможности для DEC с PDP-10 -основан Базовый компьютер системы, DECsystem-10 и ДЕКСИСТЕМА-20. МАКРО-10 реализован как двухпроходный ассемблер.
Примеры программирования
Простой "Привет, мир! "программа на ассемблере MACRO-10 для работы под ТОП-10, адаптированный из экземпляра из большой коллекции программ "Hello World" на разных языках:[1]
ЗАГЛАВИЕ ПРИВЕТ МИР ; 'Hello world' в MACRO-10 для TOPS-10 ПОИСК UUOSYM ; Сделайте имена символов UUO доступнымиЛАБОРАТОРИЯ: ASCIZ /Привет, Мир!/ ; Строка ASCII с завершающим NUL и CRLFНАЧНИТЕ: ПЕРЕЗАГРУЗИТЬ ; Инициализировать задание для очистки состояния выполненияВЫХОД: OUTSTR LAB ; Строка вывода, начинающаяся с LAB: MONRT. ; Вернуться к монитору JRST ВЫХОД ; Перезапустить на ВЫХОДЕ: если пользователь ПРОДОЛЖАЕТ задание КОНЕЦ НАЧНИТЕ ; Завершить сборку, установить начальный адрес программы
Если эта программа сохранена в файле HELLO.MAC, его можно собрать, связать и запустить следующим образом (системная подсказка TOPS-10 .
в начале строк):
.COMPILE HELLO.MAC /DLISTМАКРОС: ПРИВЕТВЫХОД.НАГРУЗКА ПРИВЕТСВЯЗЬ: ЗагрузкаВЫХОД.СПАСТИПРИВЕТ сохранен.ПРОБЕГПривет, Мир!.
Файл со списком сборок, созданный / DLIST
(Список дисков) в СОСТАВИТЬ
команда:
ПРИВЕТ МИР МАКРОС %53B(1247) 17:29 7-Апр-:9 Страница 1ПРИВЕТ MAC 7-Апр-:9 17:29 ЗАГЛАВИЕ ПРИВЕТ МИР ; 'Hello world' в MACRO-10 для TOPS-10 ПОИСК UUOSYM ; Сделайте имена символов UUO доступными 000000' 110 145 154 154 157 ЛАБОРАТОРИЯ: ASCIZ /Привет, Мир! 000001' 054 040 167 157 162 000002' 154 144 041 015 012 / ; Строка ASCII с завершающим NUL и CRLF 000003' 000 000 000 000 000 000004' 047 00 0 00 000000 НАЧНИТЕ: ПЕРЕЗАГРУЗИТЬ ; Инициализировать задание для очистки состояния выполнения 000005' 051 03 0 00 000000' ВЫХОД: OUTSTR LAB ; Строка вывода, начинающаяся с LAB: 000006' 047 01 0 00 000012 MONRT. ; Вернуться к монитору 000007' 254 00 0 00 000005' JRST ВЫХОД ; Перезапустить на ВЫХОДЕ: если пользователь ПРОДОЛЖАЕТ задание 000004' КОНЕЦ НАЧНИТЕ ; Завершить сборку, установить начальный адрес программыНЕТ ОШИБКИ ОБНАРУЖЕНПРОГРАММА ПЕРЕМЕНА ЯВЛЯЕТСЯ 000010ЦПУ ВРЕМЯ ИСПОЛЬЗОВАЛ 58:25.10036п ОСНОВНОЙ ИСПОЛЬЗОВАЛПРИВЕТ МИР МАКРОС %53B(1247) 17:29 7-Апр-:9 Страница S-1ПРИВЕТ MAC 7-Апр-:9 17:29 СИМВОЛ СТОЛLAB 000000'MONRT. 047040 000012ВЫХОД 000005'OUTSTR 051140 000000ПЕРЕЗАГРУЗИТЬ 047000 000000НАЧНИТЕ 000004'
Дата ": 9" - это Проблема 2000 года. Более сложный пример программы MACRO-10, который отображает одну версию 99 бутылок пива песню можно посмотреть на сайте "99 бутылок пива".[2]
Для больших массивов кода большая часть кода MACRO-10 для систем TOPS-10 и TOPS-20 доступна в ленточных архивах Trailing Edge PDP-10.[3]
Рекомендации
- ^ Вольфрам Рёслер,"Коллекция Hello World". Проверено 16 ноября, 2016.
- ^ «99 бутылок пива» Проверено 10 апреля 2009 г.
- ^ Архив программного обеспечения Trailing Edge PDP-10
внешняя ссылка
- Справочное руководство DECsystem-10 Macro Assembler (PDF). Мейнард, Массачусетс: Digital Equipment Corporation. Апрель 1978 г.. Получено 2010-07-08.
- Певец, Майкл (1978). Введение в программирование на языке ассемблера DECsystem-10. Нью-Йорк: Джон Вили и сыновья. п. 145. ISBN 0-471-03458-4.
- Горин, Ральф Э (1981). Введение в программирование на языке ассемблера DECSYSTEM-20. Бедфорд, Массачусетс: Digital Press. п. 539. ISBN 0-932376-12-6.