PIC-Assembler Arithmetik

Begonnen von Ottmar, 15.11.2024, 18:28:38 CET

Vorheriges Thema - Nächstes Thema
Keywords Subroutinen Arithmetik (AddSubtr. Div. Mult SQRT

Ottmar

Hier im Forum wurde von picass das Thema "nicht fehlerfreier" arithmetischer Routinen angesprochen.

Ich stelle einfach in den Raum, dass sich Formeln in die Grundrechenarten Addition, Subtraktion, Division. Multiplikation auflösen lassen. Solche Rechenroutinen gibt es in Assembler. Das will ich an dem in Anlage beigefuegten Beispielprogramm verdeutlichen, welches neben diesen Grundrechenarten, auch eine  Routine fuer das Wurzelziehen beinhaltet. Beispielhaft habe ich dies mit 32-Bit Operationen aufgezeigt die ich in Gebrauch habe.  Die Routinen fuer 8.. 24Bit habe ich mir hier erspart.

Natuerlich habe ich diese Routinen saemtlich von der Seite www.piclist.com/techref/microchip/math/basic.htm  kopiert  und hinsichtlich aktuellem MPASM 8.92 und meinen bevorzugten Variablen angepasst.
Wer's braucht, kann sich daran bedienen.

mfG Ottmar


picass

#2
Hallo Ottmar!
Mit deinem Zip-File hast du mir einen großen Gefallen erwiesen – wenngleich anders, als vermutlich gedacht. Dieses zehn-seitige Dokument eröffnet für mich einen furcht-erregenden  Blick in einen Abgrund und weit, gaaaaaaanz weit nach hinten. Bei der Gelegenheit: was meinst du mit ,,aktuellem MPASM 8.92" ? Soll damit der MPASM gemeint sein, welcher unter der MPLAB IDE v8.92 läuft? Egal.....!

Die Programmierung in Assembler ist aus der Zeit gefallen, das muss deutlich gesagt werden. In einem Sonderheft der Zeitschriften ,,c't" // ,,MAKE:" aus dem Jahr 2022 über den Raspberry Pi Pico wird das nebenbei trefflich kommentiert. In diesem Heft wird natürlich auch auf mögliche Programmier-Sprachen eingegangen und da werden ,,C", das mittlerweile abgekündigte  ,,MM-Basic" und ,,MicroPython" genannt, sonst nichts Nennenswertes. Mit der Ausnahme, dass es für die PIO-Hardware des Pi Pico auch die Möglichkeit gibt, deren Funktionen (der PIO) in Assembler zu nutzen. Nun der Kommentar dazu:"......wie 1985....."!

Die Beispiel-Rechen-Übungen des Zip-Files kann ich mittlerweile nicht mal mehr als ,,sophisticatet" Produkte anerkennen. Das ist einfach nur rückwärts gewandt und Verschwendung von Lebenszeit. Als Grundlage für meine Meinung mag dienen: gestern begann ich mit ersten Dehnungs-Übungen mit dem im MicroPhyton eingebauten Mathe-Modul, was bedeutete, im Feld für Ausführungen der ,,Thonny"-IDE einzelne Rechenaufgaben einzutippen. Statt also eine oder zwei Seiten Hieroglyphen zu kopieren, sorgsamst zu kontrollieren, und – ach ja – auch zu verstehen versuchen, was da warum worum geschoben wird...., stattdessen also tippte ich in eine einzige Zeile z.B. dieses ein:
45726,23 / 17891, 82
Einmal auf die Entertaste und – zack – lag nach einer halben Sekunde das Ergebnis vor, übrigens mit 5 Stellen hinterm Komma. Mein ehrwürdiger Hewlett-Packard CV41 zeigte zwar ab der vierten Nachkommastelle eine Abweichung an, aber wey'n interessierts?! DAS nenne ich eine irgendwie zeitgemäße Art der Lösung einer Rechenaufgabe.

Heute entdeckte ich den etwas versteckten kompletten Befehlssatz für alle möglichen Rechen-Funktionen wie Wurzelziehen, Logarithmus zu verschiedenen Basen, Sinus u. Genossen. Da gibts richtig viel und ich bin mir sicher, dass die seit 3 Jahren ersehnte Möglichkeit, eine durchaus sportliche Formel mit einem MicroController ausrechnen und dessen Ergebnisse für die Entfeuchtungs-Steuerung nutzen zu können, nur noch eine  halbe Stunde (über alles) entfernt ist. Das ist jetzt meine  Gegenwart und Zukunft, was µC-mäßiges Rechnen anbelangt.
Grüße, picass

Ottmar

Hi picass
Nun ja, vermutlich hast Du mein Statement zu Deinem Thema "Aus für die PIC-Programmierumg" nicht ganz zu Ende gelesen.

Der Eine fährt lieber im fertigen neuen Pkw durch die Lande, der Andere hat Spass daran so eine Kiste aus Teilen selbst zusammenzubauen und ist zufrieden wenn das Auto dann trotzdem fährt. Was soll daran schon falsch sein?
Betrachte mich einfach als jemanden der seinen Weg, wie bisher, frei von Verdruss und Misserfolg weiter geht.

mfG Ottmar
Like Like x 1 View List

picass

#4
Gelesen habe ich alles, selbst die von mir nun verschmähte 20-Seiten-Aufstellung von Assembler-Mathe-Routinen. Mein Meinuns- und Richtungswechsel mag evtl. von außen betrachtet überstürzt erscheinen. Ist er ja auch, allerdings gibt es reale Gründe dafür. Dazu zählt unter auch der angesprochene Blick in die 20-Seiten. Das Prog darin soll für meinen ehemaligen Lieblings-µC, den PIC18F14K22 angepasst sein. Ist es aber nicht. Angepasst ist vielleicht die Initialisierungs-Routine, aber sonst nix. In den Multiplikations-Routinen geht es zu wie zur Urzeit. Obwohl dieser PIC wenigstens schon eine 8x8-Hardware-Multiplikations-Einheit spendiert bekommen hat, wird diese in den Routinen nicht genutzt. Das sagt allein schon alles. PIC und Mathe....., nie mehr wieder.

Du hast ein Fahrzeug für einen Vergleich, rsp. ein Symbol-Bild verwendet. Meinen Umstieg von PICs auf den Raspberry Pi Pico könnte ich auch für einen solchen Vergleich benutzen. Stichwort: Nürnberg-Ring (die alte, traditionsreiche Auto-Rennstrecke) und Umgebung. Vormals also mit einem Klapp-Falt-Rad mit 18-ner Rahmenhöhe auf den Forstwegen nahe der Rennstrecke unterwegs, Marke: Rahmen klapperig, Bremsen teildefekt, keine Gangschaltung, keine Beleuchtung.

Und nun im neuen Porsche 911 Turbo auf der echten Rennstrecke unterwegs. Is klar, von den 8 Gängen des Automatik-Getriebes nur die ersten beiden genutzt  und noch nicht aus der Boxengasse raus, aber.....
.....aber das Donnergrollen der beiden Auspuff-Rohre lassen keinerlei Zweifel aufkommen, was im wahrsten Sinne des Rades abgehen wird, wenn man dem Gerät Auslauf verschafft. So sehe ich den Vergleich zwischen vormals PIC und nun dem Pi Pico.

Ach......, das möchte ich schon noch sagen: deine Arbeit mit der PIC-Programmierung achte und wertschätze ich sehr wohl und das meine ich wörtlich. Mein neuer Weg ist nur ein anderer geworden.
Grüße, picass

Schnellantwort

Name:
Tastenkürzel: Alt+S Beitrag schreiben oder Alt+P für Vorschau