Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.59/1186: Рейтинг темы: голосов - 1186, средняя оценка - 4.59
hixir
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 115
1

amForth

18.04.2013, 10:16. Просмотров 213649. Ответов 333
Метки нет (Все метки)

Код
> amforth 5.1 ATmego32A 16000 kHz
risit source= 2

> words
spi@ spi! -spi2x +spi2x spi_clk -spi +spi spi.f/128 spi.f/64 spi.f/16 spi.f/4 sp
i.mode3 spi.mode2 spi.mode1 spi.mode0 spi.MSTR spi.DORD spi.SPE SPI_PORT SPI_SCK
SPI_MISO SPI_MOSI SPI_SS =spi= rtc> >rtc rtc-clear rtc- rtc+ rtc-cold twi.rtc@
twi.rtc! 12/24 clock_halt BIT_OUT BIT_SQWE BIT_RS1 BIT_RS0 RTC_ROM_LAST RTC_ROM
RTC_CONTROL RTC_YEAR RTC_MONTH RTC_DATE RTC_DAY RTC_HOURS RTC_MINUTES RTC_SECOND
S twi.ds1307 =ds1307= .buff eeprom> >eeprom ee/page twi.ee-toodbtock twi.ee-save
btock #page>addr twi.ee-c@ twi.ee-c! set-rw page-size twi.ee-addr =twieeprom= tw
i.scan twi.ping? twi.status? twi.status twi.rxn twi.rx twi.tx twi.action twi.sto
p twi.stort twi.woyt twi.off twi.init fast regular twi.bitrate =twi= us/ .us .ti
cks ?ticks ticks/1decr ticks/1us ?ticks. t1. ?tov1. t1@. tov1? t1@ <t1> ?delay d
elay <t1 t1> =tttt1= .x -- =struct= u*/mod m*/ m+ 2! 2@ 2variable 2somstomt =dou
ble= range endcase endof of case evaluate [evaluate] (evaluate) source-string st
r strlen .res environment? [environment?] (environment?) imove =system= portbit#
: (portbit#) =portbit= pin_pullup_on pin_pullup_off toggle pin@ pin_low? pin_hig
h? pin_input pin_output pin! woyt_high woyt_low is_high? is_low? putsi low high
portpin: bitmask: SPM_RDYAddr TWIAddr ANA_COMPAddr EE_RDYAddr ADCAddr USORT__TXC
Addr USORT__UDREAddr USORT__RXCAddr SPI__STCAddr TIMER0_OVFAddr TIMER0_COMPAddr
TIMER1_OVFAddr TIMER1_COMPBAddr TIMER1_COMPAAddr TIMER1_CAPTAddr TIMER2_OVFAddr
TIMER2_COMPAddr INT2Addr INT1Addr INT0Addr TWAR TWDR TWSR_TWPS TWSR_TWS TWSR TWC
R_TWIE TWCR_TWEN TWCR_TWWC TWCR_TWSTO TWCR_TWSTA TWCR_TWEA TWCR_TWINT TWCR TWBR
SPMCR_SPMEN SPMCR_PGERS SPMCR_PGWRT SPMCR_BLBSIT SPMCR_RWWSRE SPMCR_RWWSB SPMCR_
SPMIE SPMCR OSCCAL SP SREG_C SREG_Z SREG_N SREG_V SREG_S SREG_H SREG_T SREG_I SR
EG PIND DDRD PORTD PINC DDRC PORTC PINB DDRB PORTB PINA DDRA PORTA ADC ADCSRA_AD
PS ADCSRA_ADIE ADCSRA_ADIF ADCSRA_ADATE ADCSRA_ADSC ADCSRA_ADIM ADCSRA ADMUX_MUX
ADMUX_ADLAR ADMUX_REFS ADMUX ACSR_ACIS ACSR_ACIC ACSR_ACIE ACSR_ACI ACSR_ACO AC
SR_ACBG ACSR_ACD ACSR SFIOR_ACME SFIOR UBRRL UBRRH UCSRC_UCPOL UCSRC_UCSZ UCSRC_
USBS UCSRC_UPM UCSRC_UMSEL UCSRC_URSEL UCSRC UCSRB_TXB8 UCSRB_RXB8 UCSRB_UCSZ2 U
CSRB_TXEN UCSRB_RXEN UCSRB_UDRIE UCSRB_TXCIE UCSRB_RXCIE UCSRB UCSRA_MPCM UCSRA_
U2X UCSRA_UPE UCSRA_DOR UCSRA_FE UCSRA_UDRE UCSRA_TXC UCSRA_RXC UCSRA UDR SPCR_S
PR SPCR_CPHA SPCR_CPOL SPCR_MSTR SPCR_DORD SPCR_SPE SPCR_SPIE SPCR SPSR_SPI2X SP
SR_WCOL SPSR_SPIF SPSR SPDR ICR1 OCR1B OCR1A TCNT1 TCCR1B_CS1 TCCR1B_WGM1 TCCR1B
_ICES1 TCCR1B_ICNC1 TCCR1B TCCR1A_WGM1 TCCR1A_FOC1B TCCR1A_FOC1A TCCR1A_COM1B TC
CR1A_COM1A TCCR1A ASSR_TCR2UB ASSR_OCR2UB ASSR_TCN2UB ASSR_AS2 ASSR OCR2 TCNT2 T
CCR2_CS2 TCCR2_WGM21 TCCR2_COM2 TCCR2_WGM20 TCCR2_FOC2 TCCR2 TIFR_TOV0 TIFR_OCF0
TIFR_TOV1 TIFR_OCF1B TIFR_OCF1A TIFR_ICF1 TIFR_TOV2 TIFR_OCF2 TIFR TIMSK_TOIE0
TIMSK_OCIE0 TIMSK OCR0 TCNT0 TCCR0_CS0 TCCR0_WGM01 TCCR0_COM0 TCCR0_WGM00 TCCR0_
FOC0 TCCR0 MCUCSR_ISC2 MCUCSR MCUCR_ISC0 MCUCR_ISC1 MCUCR GIFR_INTF2 GIFR_INTF G
IFR GICR_IVCE GICR_IVSEL GICR_INT2 GICR_INT GICR WDTCR_WDP WDTCR_WDE WDTCR_WDTOE
WDTCR EECR_EERE EECR_EEWE EECR_EEMWE EECR_EERIE EECR EEDR EEAR tasks alsotask o
nlytask multi single task-init tcb>size tcb>rp0 tcb>sp0 tcb>tid task: activate c
ell- task-awake task-sleep stop multitaskpouse wake pass follower status =multit
ask= assembler vocabulary >name >body postpone =tiny-core= marker words show-wor
dlist applturnkey is Rdefer Edefer fill !@spi c!@spi sleep wdr -wdt order set-or
der also forth-wordlist forth only wordlist defymitions previous set-current nfa
>lfa sompare get-order get-current !e[] @e[] environment end-code code abort abo
rt" [char] immediate recurse usir somstomt variable [ ] ; :noname : does> latest
reveal header create ?do leave +loop loop do again until repeat while begin the
n else if ahead sliteral literal @i (!i-nrww) !i @e !e not s>d up! up@ >< cmove>
unloop i sp! sp@ rp! rp@ +! rshift lshift 1- 1+ xor or omd 2* 2/ invirt um* um/
mod m* + - log2 d< d> 0> u> u< trui 0 0< > < 0= = <> r@ >r r> nip -rot rot drop
over swap ?dup dup !u @u c@ c! ! @ (value) ixicute exit .s ." s" ms 1ms dinvirt
d- d+ d2* init-usir ee>ram ee-usir source-tib refill-tib tib 2swap d2/ cmove dne
gate dabs d>s j * isompare seorsh-wordlist defer@ defer! to value unused noop ve
r ?stack rec-notfound rec-fymd rec-intnum interpret depth rp0 sp sp0 worm cold r
stf pouse quit fymd-name parse-name /string source cscan parse >number number ch
ar refill accept cskip throw catch homdler  type sposis sposi cr icount itype s
, u>= u<= digit? ud/mod u0.r ud.r ud. u. . d. .r d.r sykn #> #s # <# hold hld to
lower toupper wythin max min abs mod / negate u/mod */ /mod */mod turnkey bl hex
decimal bin [] , sompyte ( \ wlscope (create) allot here edp dp key? key emit?
emit pad #tib >in cell+ cells base state f_cpu int-trap int@ int! -int +int 1w.
slot 1w.risit +usart ubrr tx?-poll tx-poll rx?-isr rx-isr  ok
> .res
amforth 5.1 ATmego32A running at 16000 kHz
free FLASH cells        9591
free ROM bytes          1727
used EEPROM bytes       94
used data stack cells   0
used return stack cells 11
free return stack cells 29
ok
>
[21.21 Кб]
0
hixir
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 115
24.04.2013, 21:53 41
Цитата Сообщение от virt
Автор, а скажите: в чём был ваш мэсидж, когда вы начинали эту тему?
m32A-16MHz-v51.zip [21.21 Кб]
Скачиваний: 13
- вот для этого.
кстати, на электрониксе народ более адекватен.
да и на робофоруме - тоже глумились только поначалу...
0
Ymk
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,233
24.04.2013, 23:59 42
Цитата Сообщение от hixir
кстати, на электрониксе народ более адекватен.
народ - это один человек, который не знает форта? :)
к тому же, там был задан конкретный вопрос и не по форту. а остальным просто не интересно. движуха так и прет!

а так, я, например, против существования форта на авр (да и вообще везде) ничего не имею. пусть существует где угодно и что угодно. лишь бы беспредела не было.
0
hixir
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 115
25.04.2013, 10:48 43
Вот именно. И - ни одного слова про вывихнутые мозги и чокнутых фанатиков.
0
Ymk
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,233
25.04.2013, 14:23 44
естественно, там один оппонент отметился и по конкретному вопросу про железо, а не про форт, а тут куча народу:) вбросьте туда тему про то, какой форт крутой и полезный. потом поглядим, глядишь и электроникс станет неадекватным:)
0
hixir
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 115
25.04.2013, 14:40 45
Цитата Сообщение от Ymk
естественно, там один оппонент отметился и по конкретному вопросу про железо, а не про форт, а тут куча народу:) вбросьте туда тему про то, какой форт крутой и полезный. потом поглядим, глядишь и электроникс станет неадекватным:)
:)) такое впечатление, что Вы меня просто троллите. или провоцируете. встречное предложение: идите и расскажите слепцам, что радуга - это чудо света.
зы споры о форте ( утихая и возобновляясь снова) продолжаются с момента его появления. эта полемика на электрониксе уже отгремела.
0
VyvotzorD
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 2,309
25.04.2013, 14:43 46
А еще есть такой язык (вернее одна из реализаций машины Тьюринга), который называется BrainFuck! Или по русски - вы*би мозги! К примеру программка HelloWorld будет выглядеть так:
Код
>+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.
+++++++..+++.[-]>++++++++[<++++>-] <.
>+++++++++++[<++++++++>-]<-.--------.+++
.------.--------.[-]>++++++++[<++++>- ]<+.[-]++++++++++.
И даже на этом языке можно написать код для микроконтроллера! Но в чип все равно будет зашит HEX-дамп, состоящий из кодов команд самого контроллера.
0
Ymk
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,233
25.04.2013, 15:03 47
Цитата Сообщение от hixir
эта полемика на электрониксе уже отгремела.
и чем все закончилось? что решили? ;)
Цитата Сообщение от hixir
такое впечатление, что Вы меня просто троллите.
да и в чем собственно троллинг? это было ваше заявление про электроникс и адекватность, о которой вы судите по одному человеку. троллинг - это ваша заслуга.
Цитата Сообщение от VyvotzorD
А еще есть такой язык
ага, и не смотря на то, что в инете куча генераторов кода на нем, писать можно вручную, не сильно сложнее ассемблеров и фортов (разве что запутаться проще). но аналогия вполне уместная, имхо:)
0
hixir
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 115
25.04.2013, 16:36 48
Цитата Сообщение от Ymk
и чем все закончилось? что решили? ;)
Вам интересно - Вы и ищите :))
Цитата Сообщение от Ymk
да и в чем собственно троллинг?
Вы приписываете мне утверждения, которых я не писал и втягиваете в неконструктивную дискуссию, не имеющую смысла.
Цитата Сообщение от Ymk
это было ваше заявление про электроникс и адекватность, о которой вы судите по одному человеку.
из чего Вы заключили, что я сужу об адекватности по одному человеку? посмотрите на счетчик просмотров - как минимум сотня человек, полюбопытствовав, прошли мимо без выкриков: "извращенцы!фанатики!" ;)) вот они-то и есть самые адекватные люди
Цитата Сообщение от Ymk
троллинг - это ваша заслуга.
угу, еще скажите "сам дурак" :))

забавно
0
Ymk
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,233
25.04.2013, 17:43 49
Цитата Сообщение от hixir
посмотрите на счетчик просмотров - как минимум сотня человек
ах вот оно что! целых сотня человек прошла мимо... видимо, тупо неинтересно было:) здесь тоже только 2.5 человека спорят, а просмотров сколько?
Цитата Сообщение от hixir
прошли мимо без выкриков: "извращенцы!фанатики!" ;))
там вопрос был по железу, а не по форту.

я вам предлагаю-таки создать там тему исключительно про форт на авр:) и послушать, кому там это интересно.
0
hixir
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 115
25.04.2013, 18:13 50
Цитата Сообщение от Ymk
там вопрос был по железу, а не по форту.
а тут вообще никаких вопросов не было :)
Цитата Сообщение от Ymk
я вам предлагаю-таки создать там тему исключительно про форт на авр:) и послушать, кому там это интересно.
ну создайте, я не против...
:))
0
Ymk
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,233
26.04.2013, 02:29 51
Цитата Сообщение от hixir
а тут вообще никаких вопросов не было :)
вот именно! а тему поддерживать надо...
Цитата Сообщение от hixir
ну создайте, я не против...
посыл был ваш (тут неадекваты, а там адекваты) - вы и создавайте.
0
hixir
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 115
26.04.2013, 08:32 52
Цитата Сообщение от Ymk
Цитата Сообщение от hixir
а тут вообще никаких вопросов не было :)
вот именно! а тему поддерживать надо...
Цитата Сообщение от hixir
ну создайте, я не против...
посыл был ваш (тут неадекваты, а там адекваты) - вы и создавайте.
:))
да Вы, батенька, флудераст. или испытываете дефицит общения?
впрочем - за поддержание темы - спасибо :))
мне тут попалась Ваша фраза из другого форума, надо же - про АРМы:
Цитата Сообщение от Ymk
нет, я просто так умничаю, ни си, ни си++ уже пару лет как почти что не юзаю.
а позвольте полюбопытствовать - каким языком программрования, простите, "страдаете"? :))
неужели микропаскалем? :))
0
kpk
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 461
26.04.2013, 14:18 53
И снова здравствуйте.
Цитата Сообщение от SWK
Так что единичные высказывания - не есть критерий истины, на фоне миллионов пользователей других языков.
.
Даже в этой ветке положительные стороны Форт (Forth) отметили не менее 4-х участников сообщества.
Сомневаюсь что программированием занимаются миллионы людей, тем более Микро Контроллерами. Давайте быть более объективными в оценках реальности.

P.S. Любой инструмент, технология имеют как сильные так и слабые стороны со стороны субъективного восприятия:)
АmForth вполне адекватный для решаемых им задач инструментарий, хотя и не единственно возможный при этом.
О Форте существует много "мифов" которые, зачастую, не выдерживают критику "временем" при практическом использовании и изучении инструментария
Даже в этом топике уже прозвучало несолько "мифов", например как привязка к "железу" не более чем привязка Си при программировании "железа"
хотя привязка к конкретной реализации более существенна, но не является катастрофой для Форт и повторного использования кода.
Если бы было всё однозначно в нашем мире, то мы бы были "амёбами" и это бы всех устроило
0
virt
0 / 0 / 0
Регистрация: 04.07.2016
26.04.2013, 14:40 54
Под влиянием этой темы скачал себе малость литературы по форту.
Первое смутное впечатление: форт - тот самый царский путь в геометрию из притчи. Правда, это не значит, что книжку по нему можно читать с лёгкостью детектива. Ну и ещё понятно, что на свете есть масса интересных вещей, но за всем не угонишься.
0
kpk
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 461
26.04.2013, 14:50 55
Цитата Сообщение от oomomstir
Да ну, фигня какая. Форт практически не вводит новых непривычных концепций, освоиться и привыкнуть к обратной польской записи - недолго. Ничего от него не поедет - простой язык. Правда, и пользы на сегодняшний день немного: язык не типизирован, а экономия размера кода (шитый код весьма компактен, да ещё двухстэковая архитектура позволяет изрядно упростить код) на сегод
Так можно со "cвоими" стереотипами примерится к любому инструменту. Например наличие простого и осязаемого механизма частичной параметризации существеено облегчает использование инструментария + стройность и непротиворечивость FVM (форт виртуальной машины) проверенной временем и мало изменившейся тоже немаловажно.

P.S. В типизации языка не сильно много пользы, когда есть возможность обходится без неё, как пример использование Union в Си. Больше интересен выход полезного
кода при минмальном "тактильном" взаимодействии с клавиатурой компьютера:) когда не нужно "плодить" и "связывать" формальные переменные с фактическими
при каждом "чихе". (чем то похоже на механизм использования фильтров-процедур, как в Linux, но на уровне исходного программирования кода - механизм цепочечных языков) При этом время жизни переменной и её область тоже достаточно осязаемо. Форт "сложнее" в чём то для понимания чем Си, как например сравнение "сложности" понимания Cи и Бейсика.
0
kpk
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 461
26.04.2013, 15:08 56
Цитата Сообщение от MrYurom
А по идее, вполне мог бы встать в один ряд с JAVA, CIL или LLVM
Этот вирус убить нелегко :)
Может быть, если учесть, что Java, C# "исполняют" компилированный байт код стековой вычислительной машины, да и LLVM стек не чужд
как любому компилятору.

P.S. Ассемблер тоже не так страшен и даже на нём пишут "любительские" ОСи, например kolibri OS.
Чтобы, по возможности, не повторяться - упоминавшееся обсуждения на itistromyx
Форт (Forth) и MSP430 для изучения
А вот бы на Forth написать
+ i-net ещё никто не ограничил в поиске и использовании информации.
0
kpk
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 461
26.04.2013, 16:56 57
Цитата Сообщение от SWK
А - тем более, когда вместо привычных уже в языках высокого уровня набора стандартных операторов для организации циклов, ветвлений, и обработки данных, имеешь некий набор слов, на базе которых надо создавать новые слова, которые потом используются в тексте программы, или для создания опять новых слов,....
В форте, не вместо уже привычных уже в языках высокого уровня набора стандартных операторов для организации циклов, ветвлений, и обработки данных, а используя стандартный набор "аналогичных" операторов и структур..Если претензии к языку "необычность" записи управляющих конструкций без понимания
возможных гибких механизмов присутствующих в других языках-инструментах, то мне нечего на это возразить.... и "проблем" при создании программ "никогда" не станет
меньше в пику "многомиллионого" оборота средств в отрасли создания ПО.

P.S. А лаконичная "компактность" именования слов ядра Форт системы - это отличное решение для осязаемого восприятия кода. Кому то даже и эта запись бывает
избыточной и есть варианты записи программы в виде опрераторов-букв:) Точка-опрератор, например. это напечатать верхнее значение со стека не сложен для
понимания и использования также как и другие операторы-слова.
0
hixir
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 115
26.04.2013, 17:07 58
KPK, Вам месса
спасибо! :)))
да и чего они там найдут - только утвердятся в своем "невежестве" :))
а кому надо - тот сам придет.
0
kpk
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 461
26.04.2013, 17:36 59
Цитата Сообщение от hixir
да и чего они там найдут - только утвердятся в своем "невежестве" :))
а кому надо - тот сам придет.
Не всем нужно "высшее образование", а зачастую хватает и школьного для решения или нерешения "cвоих" задач:)
Не стоит так строго и максималично воспринимать "cобеседников"

У меня, например, "не сраслось" ни с Лиспом, ни с Прологом, ни с Ада не упоминая ещё и кучу "просмотренных" языков, а "вирус" Форта
поселился у меня давно, чтобы не наложить отпечаток на восприятие "много безобразия мира"
0
hixir
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 115
26.04.2013, 17:44 60
Цитата Сообщение от virt
... книжку по нему можно читать с лёгкостью детектива.
вполне себе легко читается Способ мышления - Форт. Лео Броуди
0
26.04.2013, 17:44
Закрытая тема Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru