Jump to content

МАКРО-10

MACRO-10 — это язык ассемблера с обширными возможностями макросов для DEC PDP -10 на базе мэйнфреймов , DECsystem-10 и DECSYSTEM-20 . МАКРО-10 реализован как двухпроходный ассемблер .

Примеры программирования

[ редактировать ]

Простая программа « Привет, мир! » на ассемблере МАКРО-10 для запуска под управлением TOPS-10 , адаптированная на основе образца из большой коллекции программ «Привет, мир» на разных языках: [1]

        TITLE   HELLO WORLD
        ; 'Hello world' in MACRO-10 for TOPS-10
        SEARCH  UUOSYM          ; Make UUO symbol names available

LAB:    ASCIZ   /Hello, world!
/                               ; NUL-terminated ASCII string with CRLF

START:  RESET                   ; Initialise job to clean runtime state
OUTPUT: OUTSTR  LAB             ; Output string starting at LAB:
        MONRT.                  ; Return to monitor
        JRST    OUTPUT          ; Restart at OUTPUT: if user CONTINUEs job
        END     START           ; End assembly, set program start address

Если эта программа сохранена в файле HELLO.MAC , его можно собрать, связать и запустить следующим образом (системное приглашение TOPS-10 — это . в начале строки):

.COMPILE HELLO.MAC /DLIST
MACRO:  HELLO

EXIT

.LOAD HELLO
LINK:   Loading

EXIT

.SAVE
HELLO saved

.RUN

Hello, world!

.

Файл списка сборок, созданный /DLIST (Список дисков) в меню COMPILE команда:

HELLO WORLD     MACRO %53B(1247) 17:29  7-Apr-:9 Page 1
HELLO   MAC      7-Apr-:9 17:29

                                                TITLE   HELLO WORLD
                                                ; 'Hello world' in MACRO-10 for TOPS-10
                                                SEARCH  UUOSYM          ; Make UUO symbol names available

        000000' 110 145 154 154 157     LAB:    ASCIZ   /Hello, world!
        000001' 054 040 167 157 162
        000002' 154 144 041 015 012     /                               ; NUL-terminated ASCII string with CRLF
        000003' 000 000 000 000 000

        000004' 047 00 0 00 000000      START:  RESET                   ; Initialise job to clean runtime state
        000005' 051 03 0 00 000000'     OUTPUT: OUTSTR  LAB             ; Output string starting at LAB:
        000006' 047 01 0 00 000012              MONRT.                  ; Return to monitor
        000007' 254 00 0 00 000005'             JRST    OUTPUT          ; Restart at OUTPUT: if user CONTINUEs job
                        000004'                 END     START           ; End assembly, set program start address

NO ERRORS DETECTED

PROGRAM BREAK IS 000010
CPU TIME USED 58:25.100

36P CORE USED

HELLO WORLD     MACRO %53B(1247) 17:29  7-Apr-:9 Page S-1
HELLO   MAC      7-Apr-:9 17:29         SYMBOL TABLE

LAB             000000'
MONRT.  047040  000012
OUTPUT          000005'
OUTSTR  051140  000000
RESET   047000  000000
START           000004'

Дата «:9» — это проблема 2000 года . Более сложный пример программы MACRO-10, которая воспроизводит одну версию песни «99 бутылок пива », можно изучить на веб-сайте «99 бутылок пива». [2]

Для более крупных массивов кода большая часть кода MACRO-10 для систем TOPS-10 и TOPS-20 доступна в ленточных архивах Trailing Edge PDP-10. [3]

  1. ^ Вольфрам Рёслер, «Коллекция Hello World» . Проверено 16 ноября 2016 г.
  2. ^ "99 бутылок пива" Проверено 10 апреля 2009 г.
  3. ^ Архив программного обеспечения Trailing Edge PDP-10
[ редактировать ]
  • Справочное руководство по ассемблеру макросов DECsystem-10 (PDF) . Мейнард, Массачусетс: Корпорация цифрового оборудования. Апрель 1978 года . Проверено 8 июля 2010 г.
  • Певец, Майкл (1978). Введение в программирование на языке ассемблера DECsystem-10 . Нью-Йорк: Джон Уайли и сыновья. п. 145. ИСБН  0-471-03458-4 .
  • Горин, Ральф Э. (1981). Введение в программирование на языке ассемблера DECSYSTEM-20 . Бедфорд, Массачусетс: Digital Press. п. 539. ИСБН  0-932376-12-6 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 54f3c940c1312a9f3e89315f5b87724e__1692094740
URL1:https://arc.ask3.ru/arc/aa/54/4e/54f3c940c1312a9f3e89315f5b87724e.html
Заголовок, (Title) документа по адресу, URL1:
MACRO-10 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)