MACRO-10 представляет собой язык ассемблера с обширными макро объектов для DEC «s PDP-10 -Ы мэйнфреймами компьютерных систем DECsystem-10 и DECSYSTEM-20 . МАКРО-10 реализован в виде двухпроходного ассемблера .
Примеры программирования
Простая программа « Hello, world! » На ассемблере MACRO-10 для работы под TOPS-10 , адаптированная из примера из большой коллекции программ «Hello World!» На разных языках: [1]
НАЗВАНИЕ ПРИВЕТ, МИР ; 'Hello world' в MACRO-10 для TOPS-10 SEARCH UUOSYM ; Сделайте имена символов UUO доступнымиLAB: ASCIZ / Привет , мир ! / ; Строка ASCII с завершающим нулем и CRLFСТАРТ: СБРОС ; Инициализировать задание для очистки состояния выполнения OUTPUT: OUTSTR LAB ; Строка вывода, начинающаяся с LAB: MONRT. ; Вернитесь к монитору JRST OUTPUT ; Перезапустить на ВЫХОДЕ: если пользователь ПРОДОЛЖАЕТ задание КОНЕЦ НАЧАЛА ; Завершить сборку, установить начальный адрес программы
Если эта программа сохранена в файле HELLO.MAC , ее можно собрать, связать и запустить следующим образом (системная подсказка TOPS-10 находится .
в начале строк):
.COMPILE HELLO.MAC / DL IST MACRO: HELLOВЫХОД.LOAD HELLO LINK: ЗагрузкаВЫХОД.SAVE HELLO сохранено.ЗАПУСТИТЬПривет , мир !.
Файл со /DLIST
списком сборок, созданный опцией (Disk LISTing) для COMPILE
команды:
ПРИВЕТ МИР МАКРОПРОГРАММА % 53 В ( 1247 ) 17 : 29 7 - Апрель - : 9 Страница 1 ЗДРАВСТВУЛТ MAC - 7 - Апрель - : 9 17 : 29 НАЗВАНИЕ ПРИВЕТ, МИР ; 'Hello world' в MACRO-10 для TOPS-10 SEARCH UUOSYM ; Сделайте имена символов UUO доступными 000000 ' 110 145 154 154 157 LAB: 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 ' КОНЕЦ НАЧАЛА ; Завершить сборку, установить начальный адрес программы ОШИБКИ НЕ ОБНАРУЖЕНЫПРОГРАММА BREAK IS 000010 CPU TIME ИСПОЛЬЗУЕМЫЕ 58 : 25,10036 P CORE ИСПОЛЬЗУЕТСЯПРИВЕТ МИР МАКРОПРОГРАММА % 53 В ( 1247 ) 17 : 29 7 - Апрель - : 9 Страница S - 1 ЗДРАВСТВУЛТ MAC - 7 - Апрель - : 9 17 : 29 ОБОЗНАЧЕНИЕ ТАБЛИЦЫLAB 000000 ' MONRT. 047040 000012 ВЫХОД 000005 ' ВЫХОД 051140 000000 СБРОС 047000 000000 НАЧАЛО 000004 '
Дата «: 9» - это проблема 2000 года . Более сложный пример программы MACRO-10, который воспроизводит одну версию песни 99 Bottles of Beer , можно изучить на веб-сайте "99 Bottles of Beer". [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 (PDF) . Мейнард, Массачусетс: Digital Equipment Corporation. Апрель 1978 . Проверено 8 июля 2010 . CS1 maint: обескураженный параметр ( ссылка )
- Певец, Майкл (1978). Введение в программирование на языке ассемблера DECsystem-10 . Нью-Йорк: Джон Вили и сыновья. п. 145. ISBN 0-471-03458-4.
- Горин, Ральф Э (1981). Введение в программирование на языке ассемблера DECSYSTEM-20 . Бедфорд, Массачусетс: Digital Press. п. 539. ISBN. 0-932376-12-6.