tesei:tesei-asm
Table of Contents
Ассемблер для микроконтроллера КР1878ВЕ1 "Тесей"
Микроконтроллер КР1878ВЕ1 "Тесей" выпускается Зеленоградским заводом "Ангстрем". Он является аналогом Microchip PIC16C84 c EEPROM. Хорошее описание есть в статье Шишарина и Малашевича.
Ассемблер
Для Тесея я разработал простой однопроходный ассемблер. В дистрибутиве есть также дизассемблер, читающий HEX-файл и выдающий ассемблерный текст.
Отличия от фирменного ассемблера (tessa.exe):
- В директиве .byte требуется четное количество аргументов.
- При ссылке на локальную метку необходимо задавать направление ссылки буквами `f' и `b' (вперед и назад) после номера метки, например “jmp $1f”.
- Нет встроенного препроцессора. Рекомендуется использовать cpp.
- Для неопределенных имен автоматически подключаются файлы из библиотеки.
- Производится оптимизация констант (.const) - одинаковые константы используются повторно.
Вызов:
as-tesei [флаги...] infile.mic...
Флаги:
-D, --debug Выдача отладочной информации -l, --library=DIR Добавить DIR к пути поиска библиотек -o, --output=FILE Направлять результат в FILE (по умолчанию infile.hex) -?, --help Выдать эту справочную информацию --usage Выдать короткую справочную информацию -V, --version Выдать номер версии программы
Мнемоника команд ассемблера приведена на отдельной странице.
Библиотека арифметических функций
На основе материалов сайта http://www.angstrem.ru/product/risc.htm я сделал библиотеку арифметических функций. Не знаю, работают ли эти функции, но по крайней мере ассемблер прекрасно связывает файлы из библиотеки.
Имеются функции:
- Беззнаковое умножение 8×8
- Знаковое умножение 8×8
- Беззнаковое умножение 16×16
- Знаковое умножение 16×16
- Беззнаковое деление 8×8
- Знаковое деление 8×8
- Беззнаковое деление 16×16
tesei/tesei-asm.txt · Last modified: 2022/05/15 22:26 by 127.0.0.1