FORTH 1: (was Re: (Atmel-) Mikrocontroller: Interrupts und "lange" ISRs

Einfachheit bei der Implementierung/Algorithmus.

--

Helmut Schellong   var@schellong.biz 
www.schellong.de   www.schellong.com   www.schellong.biz 
http://www.schellong.de/c.htm
Reply to
Helmut Schellong
Loading thread data ...

Es waren nicht Taschenrechner, sondern Tischrechner, insbesondere der HP 9100A und seine Nachfahren, die HP auf die RPN-Schiene brachte. Der 9100 hatte *wirklich* enge technische Grenzen: keine ICs, alles

meines Wissens vorher und nachher nie wieder verwendet wurde: ein

Serpentinenform bedeutete "0", die andere "1", welche Form bei einer bestimmten Koordinate vorlag, konnte induktiv ausgelesen werden.

formatting link

Unix hatte zuerst dc ("desktop calculator"), mit polnischer Notation.

Frontend, das die algebraische Notation in polnische umwandelte und dc als Backend verwendete.

- Andi

Reply to
Andreas Karrer

Am 19.08.2019 um 14:44 schrieb Eric Bruecklmeier:

An der Uni waren die meisten Studenten hoffnungslos aufgeschmissen, wenn sie mal statt TI einen HP Taschenrechner benutzen sollten. Umgekert ist

DoDi

Reply to
Hans-Peter Diettrich

Nein. +(3,4) ist fast Lisp, und (3,4)+ psiL In FORTH einfach 3 4 + .

DoDi

Reply to
Hans-Peter Diettrich

Notwendig sind die bei Eingaben nicht.

So wird (7+8)*9 auch eingegeben: 7 8 + 9 *

--

Helmut Schellong   var@schellong.biz 
www.schellong.de   www.schellong.com   www.schellong.biz 
http://www.schellong.de/c.htm
Reply to
Helmut Schellong

Axel Berger :

klammerlos notieren kann. Bis in etwa diese Zeit war das Fach der Logik von Fortschrittseifer beseelt, das Modell des J.L. war eigentlich eher eine

(hier nannte jemand die Maschinen von Burroughs[?] als Avantgarde in dieser Hinsicht, wenn ich mich recht entsinne), war etwas anderes als Spaghetti-Code nicht vorgesehen.

In doch recht kurzer Zeit fand sich die Einsicht, dass mit den Stapeln

nach 1960).

Notation der klassichen Notation um nichts nachsteht. Was man algebraisch hinschreiben will, kann man auch in dieser Notation hinschreiben.

dem Maschinenelement Stapel harmoniert.

Das sind Menschen, die Code schreiben, und beim Verfolgen der Windungen in

Nachvollziehbarkeit rasch an seinen Grenzen. Erst mit dem Stack, und dem

Hintertreffen steht, konnte das einen paradigmatischen Sprung bewirken, zum

bedienen, wenn die Daten ebenfalls per Stack gehandhabt werden, woran ja vorher niemand dachte.

Nun, in Forth macht man das im direkten Zugriff, was bei den Riesencompilern

immer noch und weiterhin mit der Vorstellung von Spaghetti-Code

wodurch die Daten in die Schachtelung via Stack hineingenommen werden. Die klassische algebraische Notation kennt so etwas wie Reentranz nicht

dann die Modelle zur Daten-Kapselung herumgeworfen worden. Braucht man mit Forth nicht.

Was man da hingegen braucht, ist die Disziplin, dieses Medium zum anonymen

mehr, die Programmierer sind damit nicht so locker als Massenvieh

abstrakter Ebene mit von der Partie ist, jenseits der konkreten Algorithmen (und dann auch noch die Disziplin, das so anzustellen und zu dokumentieren,

man wollte).

der Riesencopiler schon lange nicht mehr.

hinten das herauskommen soll, was in Summe angenommen wurde dass es

Reply to
Ewald Pfau

Am 19.08.2019 um 22:03 schrieb Ewald Pfau:

nicht, nur die obersten zwei Elemente des Stacks zu verarbeiten. Da ist es durchaus hilfreich, wenn der Compiler sich um die Adressrechnung

DoDi

Reply to
Hans-Peter Diettrich

Genau, der Mensch richtet sich nach der Maschine.

in

es

en) Compiler. Das ist der Unterschied.

t
--




/ \  Mail | -- No unannounced, large, binary attachments, please! --
Reply to
Axel Berger

durch hp16C angefixt :)

Wolfgang

--
Ich bin in Paraguay lebender Trollallergiker :) reply Adresse gesetzt! 

ihr Niveau herunter und schlagen mich dort mit ihrer Erfahrung! :p 
(lt. alter usenet Weisheit)      iPod, iPhone, iPad, iTunes, iRak, iDiot
Reply to
Wolfgang Allinger

Am 20.08.2019 um 07:32 schrieb Wolfgang Allinger:

--
Ich muss nicht kultiviert *aussehen* - ich bin es. 

Profiklaus in d.r.f.
Reply to
Eric Bruecklmeier

auch mal sein :)

Wolfgang

--
Ich bin in Paraguay lebender Trollallergiker :) reply Adresse gesetzt! 

ihr Niveau herunter und schlagen mich dort mit ihrer Erfahrung! :p 
(lt. alter usenet Weisheit)      iPod, iPhone, iPad, iTunes, iRak, iDiot
Reply to
Wolfgang Allinger

Am 20.08.2019 um 13:48 schrieb Wolfgang Allinger:

[...]

--
Ich muss nicht kultiviert *aussehen* - ich bin es. 

Profiklaus in d.r.f.
Reply to
Eric Bruecklmeier

Auch gut, Schuh wieder ausgezogen :)

Wolfgang

--
Ich bin in Paraguay lebender Trollallergiker :) reply Adresse gesetzt! 

ihr Niveau herunter und schlagen mich dort mit ihrer Erfahrung! :p 
(lt. alter usenet Weisheit)      iPod, iPhone, iPad, iTunes, iRak, iDiot
Reply to
Wolfgang Allinger

THX FULLACK gebunkert :)

Wolfgang

--
Ich bin in Paraguay lebender Trollallergiker :) reply Adresse gesetzt! 

ihr Niveau herunter und schlagen mich dort mit ihrer Erfahrung! :p 
(lt. alter usenet Weisheit)      iPod, iPhone, iPad, iTunes, iRak, iDiot
Reply to
Wolfgang Allinger

Loops. Da kannste dann in der Schleife direkt die Werte auf den Stack bringen und weiterwuseln.

Praktisch, wenn man sich durch (String-)Arrays oder sonstige mehrdimensionalen SpeicherFrames hangeln muss. Habs aber selten benutzt. Bei embedded gibts kaum so einen wilden Datenhaufen.

und leicht zu testen. Alles was mehr als 3-4 Zeilen hat, ist eh zu

Maschinensteuerung samt Mess und Kalibrier Aufgaben. Die wird dann zeilenweise abgehampelt und nur mit spez. Worten s.u. bedarfsweise angehalten.

Ich hab den kooperativen MultiTasker aus F-PC debugged und so sauber gemacht, dass selbst ABORTs in Tasks klappten. Was in Augen der FORTH

habs sauber hinbekommen :p

Meine ordentliche Erfahrung in RT/IR und HW/SW zahlen sich da eben aus. Dazu noch einen 100us sauberen umgebogenen Windoof Timer IR Service, der eine Gruppe von 16 Timern/Uhren/Flaggen abhampelte und den normalen DOS/

prima.

Geht nur ab W7(?) nicht mehr, da liessen sie einen nicht mehr an den

Eine weitere Extension von mir waren dann eine Gruppe von Worten, die eine Task auf ein externes Ereignis (also Zelle) warten lies, bis TRUE wurde

So waren praktisch keinen WarteSchleifen mehr im Ablauf zu sehen.

AWAITms AWAITsec ( aCELL nTicks -- ? )

innerhalb WAIT und AWAIT steckte dann PAUSE

\ nTicks = timer ticks msec|sec

Sah dann in einer Task etwa so aus

: SHOWtask \ soll POS 77 anfahren

17 VENTIL auf 3 LICHT aus 55 mm Rechts fahren 7 WAITsec 17 VENTIL zu 4 LICHT an ' Pos77 578 AWAITms DUP 0= ?ABORT" Position 77 nicht erreicht" TUEDIES MACHDAS... END-TASK ;

links rausgezogen, damit man sich leichter durch die Quelle durchhangeln kann.

Wolfgang

--
Ich bin in Paraguay lebender Trollallergiker :) reply Adresse gesetzt! 

ihr Niveau herunter und schlagen mich dort mit ihrer Erfahrung! :p 
(lt. alter usenet Weisheit)      iPod, iPhone, iPad, iTunes, iRak, iDiot
Reply to
Wolfgang Allinger

Am 21.08.19 um 00:56 schrieb Wolfgang Allinger:

God is real unless declared integer!

Reply to
Gerhard Hoffmann

Am 21.08.19 um 02:23 schrieb Gerhard Hoffmann:

Ingrid sagt noch, dass identifier mit ijk am Anfang automatisch als integer vordeklariert waren.

Reply to
Gerhard Hoffmann

Am 21.08.2019 um 00:56 schrieb Wolfgang Allinger:

DoDi

Reply to
Hans-Peter Diettrich

Am 18.08.19 um 23:50 schrieb Gerhard Hoffmann:

mW sind 68000 Derivate im industriellen, besonders im

--
---hdw---
Reply to
h.-d.winzler

Ja Mensch, das ist aber auch echt schlimm, wenn man objektiven Messungen nur subjektives Gelaber entgegenzusetzen hat und nicht mal die geringste

XOXOXOXO Johannes

Reply to
Johannes Bauer

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.