Ufasoft BkMacro - IDE for БК-0010.01
Руководство
Версия 2024.4
Текстовый Редактор и ассемблер для микро-компьютеров БК-0010.01 архитектуры PDP-11, на процессоре К1801ВМ1.
История
Проект был начат в 1990 г. как школьный. Из-за отсутствия у автора дисковода понадобилась IDE, так как загружать Редактор и Ассемблер по очереди с магнитофона неудобно.
В 1991-м достиг компилируемости на самом себе.
В 2023-м разработка продолжена с добавлением Макросов.
Где скачать
Бинарный файл macro.bin
Для запуска требуется конфигурация БК-0010.01 с ПЗУ Вильнюс Бейсик.
Исходники: github.com/ufasoft/bkmacro
Редактор
Клавиатурные комбинации
⇤ | Delete char |
AP2- ⇤ | Delete Line |
ШАГ | Page Up |
СБР | Page Down |
AP2-СБР | Bottom |
ВС | Start of line |
AP2-BC | End of line |
AP2-2 | Save .MAC file |
AP2-3 | Open .MAC file |
AP2-4 | Exit |
AP2-5 | Run |
AP2-7 | Compile & Save .BIN |
AP2-↑↓← → | Select |
СУ-A | Select all |
KT | Copy |
СУ-B | Paste |
СУ-U | Cut |
СУ-F | Поиск |
СУ-G | Продолжить поиск |
СТОП | Прерывание/Отмена и возврат в Редактор |
Макро-Ассемблер
BkMacro реализует подмножество языка MACRO-11.
Как руководство и справочник можно использовать оригинальную документацию MACRO-11 Language Reference Manual.
Поддерживаются директивы:
.ASCII, .ASCIZ, .BLKB, .BLKW, .BYTE, .DSABL
.ENABLE, .END, .ENDC, .ENDM, .ENDR, .ERROR, .EVEN,
.FLT2, .FLT4,
.IF, .IFF, .IFT, .IFTF, .IIF, .IRPC,
.MACRO, .MEXIT, .NCHR, .NTYPE
.ODD, .RAD50, .RADIX, .REM, .WORD
Не поддерживаются директивы:
.ASECT, .CROSS, .CSECT, .GLOBL, .IDENT, .INCLUDE, .LIBRARY, .LIMIT, .LIST, .MCALL, .MDELETE,
.NLIST, .NOCROSS, .PACKED, .PAGE, .PRINT, .PSECT, .RESTORE, .SAVE, .SBTTL, .TITLE, .WEAK
Поддерживаются операции в выражениях:
+, -, *, /, &, !, <expr>,
^B, ^C, ^D, ^F, ^O, ^R, ^X
Числовые обозначения регистров
%0..%7 эквивалентны R0..PC. Номер регистра можно вычислять, например CLR %1+N
В директивах .IF, .IIF поддерживаются виды условий:
B, NB, EQ, NE, GT, LE, LT, GE, DF, NDF, P1, P2
В директивах .ENABL, .DSABL поддерживаются флаги:
- AMA - Включение режима абсолютной адресации 37 вместо 67.
Коды ошибок
По возможности поддерживаются стандартные буквенные обозначения ошибос MACRO-11.
Дополнительные коды:
- ОШИБКА F - Не хватает памяти, буфер бинарника перекрывается с буфером текстового редактора.
Ограничения
В отличие от MACRO-11, где строки разделяются кодами CRLF, допускается только разделитель LF.
Минимальный адрес начала программы: 7708. По умолчанию начальный адрес 10008.
Для его изменения надо указать метку в директиве .END.
. = 770 START: ... .END START