![]() |
Quote:
|
Quote:
|
Quote:
Ушёл создавать ВМИР-1... |
Quote:
Ладно, хватит... |
Написал постфиксный ассемблер для КР1878ВЕ1. Хотел попробовать написать ассемблер для микроконтроллера, простоты ради выбрал именно этот. Написал на Forth, поэтому синтаксис у ассемблера соответствующий: вместо instruction <destination> <source> пишется <source> <destination> instruction. Привычный синтаксис только у команд jmp/jnz/jz/... : instruction <label>. Это связано с тем, как ассемблер обрабатывает ссылки вперед.
Не суть важно. Можно это воспринимать просто как аналог ассемблеру от Ангстрема (который TESSA.EXE на их сайте).
Итак, подхожу к собственно вопросу... В процессе сравнения результатов заметил несоответствие в обработке инструкции LDR. Согласно документации, она имеет такой формат: Code:
0010 0ccc cccc cnnnCode:
0010 0000 0111 1010Code:
0010 0000 0000 1010Code:
0010 0000 0011 1000Code:
0010 0000 0000 0000Есть ли у кого-нибудь возможность проверить работу программы на реальном микроконтроллере? Может, я что-то неверно понял в логике работы инструкции LDR? P.S. Насчет самого ассемблера: я таки могу допилить его напильником и сделать менее похожим на полуфабрикат. Как минимум, скомпилировать на Windows в виде отдельного EXE-файла, который будет кушать ассемблерный исходник в STDIN. Если кому интересно, конечно. |
[QUOTE=как-то трудно поверить, что программисты в Ангстреме могли его не заметить[/QUOTE]
Многие жаловались на ляпы в документации, так что, вполне возможно, что программисты просто учли фактическое положение дел :-) Насчет ассемблера - было бы интересно, особенное, если в комплекте с "средой разработки" типа Borland Pascal (городить что-то более навороченное, думаю, смысла нет, а вещицу, которая знает понятие "проект" и позволяет сделать несколько файлов, а заодно скрывает от пользователя командную строку - это то, что надо :-)) |
Прошу прощения за то, что пытался ввести в заблуждение. Моя вина. Вкурил документацию и увидел там следующее:
Quote:
---------- Post added at 14:19 ---------- Previous post was at 13:34 ---------- Quote:
Когда начнет получаться что-то более-менее похожее на нормальный продукт, я, наверное, отдельную тему открою в этом же разделе. Синтаксис не смущает? Я-то привык. |
1 Attachment(s)
Quote:
Quote:
Quote:
Инструкция по установке:
Запускать можно так: Code:
# ./ras.fs < test-program.fsCode:
# ./ras.fsНа самом деле, полноценно пользоваться этим пока не стоит. Надо добавить примеров кода, ключи командной строки и поддержку форматов файлов для программаторов. Quote:
|
2 Attachment(s)
Когда гуглил информацию по КР1878ВЕ1, нашел этот сайт: https://sites.google.com/site/russianlabyrinth/
На тот случай, если он вдруг пропадет, продублирую тут: "Ариадна" - программатор для микроконтроллера КР1878ВЕ1 с последовательным интерфейсом RS232. |
Хех, давно ничего не постили :-)
Сам сегодня наконец собрался силами и поставил на частотомер, собранный по схеме Радио №10 2000 супервизор питания. Воткнул DS1813 (пробовал с 1171СП42, но не пошло. Видно, то, что он генерит простой перепад из нуля в единицу, а микроконтроллеру нужен похоже именно импульс). Из изменений в схеме (см. схему из "Радио") - выкинул R5, R7, C3. Супервизор включил по типовой схеме: Выв. 1 (собственно сброс) к выв. 4 микроконтроллера Выв. 2 на питание (R5 был заменен перемычкой) Выв. 3 на землю Так как в плате R7 и C3 были размещены весьма компактно (R7 стоймя), то микросхему воткнул без проблем - выводы сильно разводить в стороны не понадобилось. |
Quote:
|
Как знать, может быть, и такое где попробуем :-)
|
| All times are GMT +4. The time now is 01:57. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.