Перейти к содержанию
    

BASIC интерпретатор на ATMEGA8

Проблема оптимального переложения алгоритма в железо - это проблема компилтора.

Приспособленность того или другого процессора( контроллера) к системе команд того или

иного языка понятие условное. ( за исключением общего языкового базиса)

 

В данном случае речь идет про интерпретатор. Для интерпретации Бейсик, безусловно, приспособлен гораздо лучше, чем С.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Анализ кода показал, что в контроллере реализованы следующие команды:

print input if then goto for next to gosub return end adc dac setb clrb tstb delay scale rem

 

В принципе - минимально необходимый и достаточный набор команд. Команды print input работают через UART, так что можно даже организовать обмен данными с каким-либо прибором или организовать сеть.

Что за команда scale - кто знает?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Анализ кода показал, что в контроллере реализованы следующие команды:

print input if then goto for next to gosub return end adc dac setb clrb tstb delay scale rem

 

В принципе - минимально необходимый и достаточный набор команд. Команды print input работают через UART, так что можно даже организовать обмен данными с каким-либо прибором или организовать сеть.

Что за команда scale - кто знает?

 

Посмотри по ссылкам, что приведены выше. Там есть полное описание и даже Си программа этого интерпретатора. Нашёл и пару исходников интерпретатора Си. Вполне согласен с

 

В данном случае речь идет про интерпретатор. Для интерпретации Бейсик, безусловно, приспособлен гораздо лучше, чем С.

 

Так в интерпретаторе Little C указано что осуществляется 2 прохода (и это необходимо для Си). В первом проходе ключевые слова заменяются на "кодовые байты" для ускорения обработки. Рекомендуется так поступать и с переменными. А это уже значит что прогу желательно хранить в Озу и причём примерно 1.5 копии. Кроме того написано, что если мол будут проблемы, увеличьте стэк раза в полтора. :) Короче сама структура такова, что озу будет кушать много.

В описании прямо указано, что хотя язык Бэйсик не удачен для построения интерпретатора (много исключений) но оптимален для работы интерпретатора. (главное линейность)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость Maddy

Ну в начале своей карьеры программера ( это в эпоху 286) делал дикую помесь С и Васика для запихивания в индексы баз данных ;) Ну мало было народу Хлюпера и КодБэйза ... В принципе 2 прохода нафиг не сдалось ,для упрощенных диалектов языка но нужны ресурсы для преобразования текста в байткод ..... А вообще все-таки для малоресурсных систем ФОРТ лучшее чем Васик и С ;) но это мое IMHO ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну в начале своей карьеры программера ( это в эпоху 286) делал дикую помесь С и Васика для запихивания в индексы баз данных ;) Ну мало было народу Хлюпера и КодБэйза ... В принципе 2 прохода нафиг не сдалось ,для упрощенных диалектов языка но нужны ресурсы для преобразования текста в байткод ..... А вообще все-таки для малоресурсных систем ФОРТ лучшее чем Васик и С ;) но это мое IMHO ;)

 

Перефразируя М.Твена "Форт может и хорошее средство, но уж больно радикальное." :biggrin:

 

Это называется примерно так "Забудьте всё то, что Вы знали ранее о программировании и займитесь Форт" :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость Maddy

Ну в начале своей карьеры программера ( это в эпоху 286) делал дикую помесь С и Васика для запихивания в индексы баз данных ;) Ну мало было народу Хлюпера и КодБэйза ... В принципе 2 прохода нафиг не сдалось ,для упрощенных диалектов языка но нужны ресурсы для преобразования текста в байткод ..... А вообще все-таки для малоресурсных систем ФОРТ лучшее чем Васик и С ;) но это мое IMHO ;)

 

Перефразируя М.Твена "Форт может и хорошее средство, но уж больно радикальное." :biggrin:

 

Это называется примерно так "Забудьте всё то, что Вы знали ранее о программировании и займитесь Форт" :)

+1 ;) Но временами оно того стоит .... Хотя я его не люблю - голову можно сломать эпизодически ......

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что за команда scale - кто знает?

Доброго времени суток уважаемые участники.

 

scale -это умножение на степень 10, чтобы сделать немного удобней

математические расчеты при отсутствии поддержки плавающей точки.

Изменено пользователем olegator

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте!

Собрал я контроллер на макетной плате, собственно, мегу8 соединил с мах232, забавная игрушка получилась. Конечно, делать серьёзные проекты на этом контроллере нечего и думать, но что-то в нём есть :) . Спасибо afad за список операторов, я после этого и собрал контроллер, всё же жду следующий номер РАДИО, не хватает информации о некоторых операторах этой версии языка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте!

Собрал я контроллер на макетной плате, собственно, мегу8 соединил с мах232, забавная игрушка получилась. Конечно, делать серьёзные проекты на этом контроллере нечего и думать, но что-то в нём есть :) . Спасибо afad за список операторов, я после этого и собрал контроллер, всё же жду следующий номер РАДИО, не хватает информации о некоторых операторах этой версии языка.

 

Если есть вопросы - пишите, могу у авторов спросить

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте!

Собрал я контроллер на макетной плате, собственно, мегу8 соединил с мах232, забавная игрушка получилась. Конечно, делать серьёзные проекты на этом контроллере нечего и думать, но что-то в нём есть :) . Спасибо afad за список операторов, я после этого и собрал контроллер, всё же жду следующий номер РАДИО, не хватает информации о некоторых операторах этой версии языка.

 

Если есть вопросы - пишите, могу у авторов спросить

 

Спасибо большое! На настоящий момент я не смог определить формат оператора tstb, как я понял это чтение бита ввода, конечно можно дождаться следующего номера журнала, но буду очень признателен!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо большое! На настоящий момент я не смог определить формат оператора tstb, как я понял это чтение бита ввода, конечно можно дождаться следующего номера журнала, но буду очень признателен!

 

Формат такой:

 

TSTB B,1

 

Пишет в переменную В состояние бита 1.

 

Номер бита может задаваться выражением

TSTB B,X+1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конечно, делать серьёзные проекты на этом контроллере нечего и думать, но что-то в нём есть :) .

 

Кстати, говорят, что будет опубликован симулятор на PC. И вообще много планов, вплоть до Ethernetа и TPC/IP стека. Очень просили спросить про отзывы и пожелания.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А чем BasCom AVR не устраивает? Все вместе и все работает..

 

Всем привет!

 

BasCom AVR :-) Это уже не игрушки, это компилятор, даже среда разработки, тут уже намечается дистанция огромного размера от задумки до решения даже самой простой задачки. Его где-то нужно найти, установить на комп, расчистить рабочее место от лишних железок, поучить некоторое время, потренироваться, то есть, сделаться немножко программером, а если задачка достаточно проста и в планах не записано стать великим программистом? :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...