FORTH 1: (was Re: (Atmel-) Mikrocontroller: Interrupts und "lange" ISRs
Aug 15, 2019 115 Replies
A
Andreas Karrer
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
Didn't find your answer? Ask the community — no account required.
Du hast leider nicht richtig von Anfang an gelesen/verstanden. Alles in ...
H
Hans-Peter Diettrich
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
H
Hans-Peter Diettrich
Nein. +(3,4) ist fast Lisp, und (3,4)+ psiL In FORTH einfach 3 4 + .
DoDi
H
Helmut Schellong
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
E
Ewald Pfau
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
H
Hans-Peter Diettrich
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
A
Axel Berger
Genau, der Mensch richtet sich nach der Maschine.
in
es
en) Compiler. Das ist der Unterschied.
t
/ \ Mail | -- No unannounced, large, binary attachments, please! --
W
Wolfgang Allinger
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
E
Eric Bruecklmeier
Am 20.08.2019 um 07:32 schrieb Wolfgang Allinger:
Ich muss nicht kultiviert *aussehen* - ich bin es.
Profiklaus in d.r.f.
W
Wolfgang Allinger
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
E
Eric Bruecklmeier
Am 20.08.2019 um 13:48 schrieb Wolfgang Allinger:
[...]
Ich muss nicht kultiviert *aussehen* - ich bin es.
Profiklaus in d.r.f.
W
Wolfgang Allinger
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
W
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
W
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
G
Gerhard Hoffmann
Am 21.08.19 um 00:56 schrieb Wolfgang Allinger:
God is real unless declared integer!
G
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.
H
Hans-Peter Diettrich
Am 21.08.2019 um 00:56 schrieb Wolfgang Allinger:
DoDi
H
h.-d.winzler
Am 18.08.19 um 23:50 schrieb Gerhard Hoffmann:
mW sind 68000 Derivate im industriellen, besonders im
---hdw---
J
Johannes Bauer
Ja Mensch, das ist aber auch echt schlimm, wenn man objektiven Messungen nur subjektives Gelaber entgegenzusetzen hat und nicht mal die geringste
XOXOXOXO Johannes
J
Johannes Bauer
Software auf C-Software basieren.
kompliziertesten Code schreiben, der auch gut performen muss (Betriebssysteme, Datenbanken, Kommunikationssysteme) komplett ahnungslos sind.
Occams Rasiermesser sagt: Deine Aussage ist Quatsch. Noch dazu, weil eine Kategorisierung in "brauchbar/unbrauchbar" eher unbrauchbar ist und komplett wegignoriert, dass Programmiersprachen zu Recht unterschiedlich sind, weil sie eben andere Aspekte haben. Es gibt da keine "Beste" und wer das behauptet, hat schlicht keine Ahnung.
Johannes
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.