АССЕМБЛЕРЫ ДЛЯ БК0010 (11М)
4
0
+44
 Введение.

Данное описание рассчитано на программистов, знакомых с ассемблером и со средой типа TURBO6M, поэтому в нем указаны только основные характеристики системы и её отличия от TURBO6M.
 Состав системы.
Система MICRO+ состоит из файлов:
    - MICRO+ ассемблерная система включающая: монитор, ассемблер и редактор текста.
    - LINK+ редактор связей.
К сожалению автору не удалось создать единый файл для работы как на БК-010, так и на БК-011(М), поэтому существует два файла для БК-010 с расширением .B10 и два файла для БК-011(М) с расширением .B11.
 MICRO+. Технические характеристики.
Система предназначена для работы на БК-010 с дополнительным ОЗУ 16кб или на БК-011(М).
  • Ассемблер: Адрес начала (запуска,теплого старта) = 1000, Длина= 23000
  • Текст: БК010 (Адрес=140000, Длина= 20000), БК010(M) ( Адрес страница 3, Длина= 40000)
  • Буфер кода: Адрес=24000, Длина= 14000

Длина 14000 относится к выполняемым модулям, если вы создаете модуль командой CO или CL, то возможная длина будет 24000 для БК-0010 и 34000 для БК-0011(М).
На БК-011(М) MICRO+ использует страницу 3 для текста и страницу 6 для таблицы меток и буфера кода.
 MICRO+. Монитор.
  • RS - перезапуск системы.
  • MO - выход в монитор БК-0010.
  • LO - загрузка текста.
  • LF - дозагрузка текста.
  • ST - запись всего текста.
  • SF - запись текста от начала до курсора.
  • ST - запись текста от курсора до конца.
  • SC - вход в редактор текста.
  • RU - запуск программы.
  • CL - создание объектного модуля.
  • CO - создание загрузочного модуля.
  • SA - запись модуля.
  • TТ- вывод таблицы меток на экран.


При командах RU и CO выдается сообщение о длине кода, количестве ошибок и об отсутствующих метках. Если произошла ошибка то на экран выдается сообщение и программист может либо прервать работу клавишей СТОП, либо продолжить нажав любую другую клавишу. Система предназначена для работы в МК-ДОС т.к. использует команду 202 при обращение к ЕМТ 36 (запись с адресом). При этом текст записывается с адресом 0, а загрузочные модули с адресом компоновки.
 MICRO+. Ассемблер.
В отличие от других версий ассемблера в MICRO+ метка может иметь длину до 9 символов RADIX ( A-Z(a-z),0-9,$,.,_ ). В системе поддерживается арифметика над метками (+,-), конструкция типа STACK=%6, конструкция типа MET1=1000 обрабатываются правильно независимо от адреса компоновки. Правильно обрабатываются также:
  • Точка в выражении - является глобальной и устанавливается при линковке.
  • Большое количество пробелов в операторах .ASCII, .ASCIZ. Локальные метки начинаются с цифры. Имеется возможность в переходах SOB , BR и др. писать выражения типа ЛокальнаяМетка+(-)ВыражениеИзЧисел.


Пседооператоры .BLKB,.BLKW,.BYTE, .WORD, .ASCII, .ASCIZ, .RAD50, .EVEN, .END, .ENABL,
.DSABL, .TTYIN, .TTYOUT аналогичны TURBO6M.

ORG адрес - адрес компиляции программы (аналогично LA).

.INCLUD /имя/ - подключение к коду объектного модуля (в любом месте программы).

Введены команды арифметики с плавающей точкой (эмулятор в файле ARIFM+.OBJ инициализируеся командой CALL ARIFM) и команды PUSH DD и POP DD аналигичные MOV DD,-(SP) и MOV (SP)+,DD соответственно (для ускорения написания программ и приближения к ассемблерам Z80 и xxx86), а также команды JMPLC и CALLC аналогичные командам JMP, CALL но работающие с локальными метками.
 Некоторые недостатки (особенности).
Символ ; отделяет комментарий от команды, поэтому конструкции '; , ";. , / . . . ; . . . / обрабатываются неправильно. Программист должен сам следить за длиной кода программы так как может испортиться таблица меток.
 LINK+. Монитор.
  • RS - перезапуск системы.
  • MO - выход в монитор БК-0010.
  • LA - установка адреса сборки.
  • LI - загрузка очередного объектного модуля.
  • SA - запись загрузочного модуля.
  • TТ - вывод таблицы меток на экран.

 Коды ошибок для MICRO+ и LINK+.
  • 00 - нет места для ссылок (до 2000).
  • 01 - нет места для меток (до 400).
  • 02 - повторная метка.
  • 03 - слишком длинный переход BR.
  • 04 - слишком длинный переход SOB.
  • 05 - ошибка в ASCII.
  • 06 - ошибка в RAD50.
  • 07 - требуется регистр.
  • 10 - неправильная команда.
  • 11 - неизвестный псевдооператор.
  • 12 - требуется операнд.
  • 13 - неправильное имя метки.
  • 14 - неправильное число.
  • 15 - слишком большое число MARK.
  • 16 - слишком большое число EMT(TRAP).
  • 17 - неправильная адресация.
  • 20 - ошибка имени OBJ файла.
  • 21 - ошибка чтения OBJ файла.
  • 22 - не OBJ файл.
  • 23 - слишком длинная программа (код).
  • 24 - требуется цифра 0-7.
  • 25 - нет места для псевдорегистров (до 10).
  • 26 - не найден END.
MICRO+ v.2.0

Название Разработчик Описание
Название Разработчик Описание
Для задания фильтра, при переходе на страницу, достаточно в конце url поставить #, далее текст выборки, например https://r-games.net/bk001x/softbk/912-assemblery.html#smash

Новость отредактировал: Admin - 28-05-2021, 12:08
Причина: Переделал страницу в табличный вид. Появилась возможность сортировки и быстрого поиска.



html-cсылка на публикацию
BB-cсылка на публикацию
Прямая ссылка на публикацию
Комментариев: 0
Комментариев пока нет, Вы можете стать первым!
Гость, оставишь комментарий?
Последние Комментарии
Шестипалов
В версии эмулятора GID'а от 2024-02-25 исправлена ошибка, из-за которой не работал Star Sheriff. Теперь работает. Скачивайте новую версию:
F9 - "умри на месте"
Довольно бодрая игруха, слегка смахивающая на Gauntlet, но без засилья врагов. Тут упор на лабиринт - нужна наблюдательность и умение
Игра дико багованная - часть спрайтов перестают работать, а при наборе более 40000 очков всегда вылетает в меню с потерей накопленных жизней, тут
да я на этом уровне голову уже сломал и никак!)
Помощь сайту
Посещения
Cегодня: Tuesday، 19 March 2024
Всего IP: 3696
Всего посещенных страниц: 9779
Количество IP на сегодня: 127
Количество IP за вчера: 377
Посещения сегодня: 220
Количество просмотров вчера: 807
Количество гостевых пользователей: 1
Всего онлайн-пользователей: 1
Интересное