MPASM to MPLAB XC8 PIC Assembler Migration

Begonnen von picass, 02.06.2024, 17:32:10 CEST

Vorheriges Thema - Nächstes Thema

Ottmar

Zitat Vloki: 
[Das shift left gibt es bei den PIC18 nicht. Kommt wohl von den neuen PIC16]
Doch: 
RRCF rotate left through CARRY
RRNCF rotate left no carry
Mit CARRY ist 'STATUS,C' gemeint.

Ottmar

Grrr... Falscher Finger!

...und entsprechend gibt es daselbe für shift left:
RLCF
RLNCF

picass

#22
Zitat von: vloki date=1763390927Ansonsten könnte Lesson 3 so aussehen:

So sieht es in der hatten Realität aus: Sie rotieren, die 4 LEDs ! Nicht wirklich, aber ihr Leuchten !

Der Debugger hat nix zu meckern und morgen mache ich mich dran, zu verstehen, warum das klappt! Heute steckte ich noch mit beiden Armen tief und lange im Rollladenkasten, aber wenn morgen der voll krasse Durchblick erreicht werden sollte, dann......, dann passiert leider nix: sitze z.Z. auf dem Trockenen, nix mit "auf den Erfolg machen wir erst mal einen und einen zweiten und den dritten sowieso usw.  .......drauf".
Grüße, picass
rotieren.jpg
rotieren.jpg


vloki

#23
Zitat von: pic18 in 17.11.2025, 19:41:30 CETVielleicht sehe ich das Problem falsch...

Der Code sollte so identisch wie möglich mit der Lesson 3 im Low Pin Count Demo Board User's Guide bleiben.
Nur das was unbedingt nötig ist für den neueren Assembler und PIC wurde geändert.

Das vermeintliche "left shift" (lsrf) war eigentlich ein "logical shift right"
und das unterscheidet sich vom rotate right. (nix Rotation)
MPLABX  XC8  KiCad FreeCAD Qt

vloki

Ich schau mir grad Lesson 4 an, wie das in PIC-AS mit dem Q41 aussehen würde.
Meine Meinung, ganz ehrlich - kann man sicher machen, aber ob das wirklich noch sinnvoll ist?

Der ADC von den Q-Typen hat mehr als 20 Register, die konfiguriert werden können.
Wird wohl langsam Zeit sich mit dem MPLAB Code Configurator (MCC) anzufreunden ;-)

Damit klickt man sich die Konfiguration zusammen und das Ding spuckt den Code (in C) aus.
MPLABX  XC8  KiCad FreeCAD Qt

vloki

Zitat von: vloki in 19.11.2025, 14:03:54 CETMeine Meinung, ganz ehrlich - kann man sicher machen, aber ob das wirklich noch sinnvoll ist?
Nun, ich muss mich zwar noch an die neuen Datenbücher gewöhnen, aber da gibt es tatsächlich
unter "40.2.6 ADC Conversion Procedure (Basic Mode)" komplette Beispiele für Assembler und C

Lesson 4 wäre dann zwar bisschen umfangreicher als mit den "alten" PIC18,
aber mit Verweis auf das Beispiel evtl. noch machbar.

Etwas geschockt war ich allerdings, dass man bei den 18_Q Typen wieder BANKS umschalten muss
um auf die zahlreichen SFRs zuzugreifen.
MPLABX  XC8  KiCad FreeCAD Qt

picass

#26
Hallo vloki !
Eine ganze Weile habe ich erst mal gegrübelt, was ich auf deine neue Anregung hin sagen sollte. Trotz Grübelns: bin mir nicht sicher, immer das "Passende" zu formulieren.

Deine Gedanken zu dem Nutzen von Assembler-, rsp. C- Anwendungen hatten mich auf jeden Fall nicht in euphorische Stimmung versetzt. Dass der "neue" Assembler nun noch weitere Fallstricke - AD-Wandlung - aufweisen soll, wäre kein Anlass für Hoffnung. Und nun in meinem Alter ggf. doch noch mit "C" zu beginnen, lässt das Programmieren überhaupt für mich zu einem fraglichen Abenteuer werden.

Is klar, natürlich hatte ich gleich die alten Microchip-Lessons raus gekramt und den bislang missachteten Beispielen in C etwas Aufmerksamkeit zugewandt. Bei Lesson1 kann ich keinen Unterschied erkennen. Lesson3 - das mit dem Shiften - erzeugt bei mir den Eindruck, dass auch unter C jedes Bit Beachtung finden und mit speziellem Befehl zu würdigen ist. Einziger Unterschied: bei C wird teils nur ein einziges Zeichen gesetzt, während der Assembler dagegen geschwätzig wirkt, weil er fast ein Wort opfert. Mein Eindruck: C spart im Programm vieeeel Platz, ist aber eine Abfolge von Zeichen, die man erstmal alle auswendig lernen muss. Ein Assembler-Prog hingegen kann man fast wie Trivial-Literatur lesen.

Aber ebenso natürlich hatte ich in den letzten Jahren auch mal einen kurzen Blick auf Code-Generatoren für C geworfen und war gleich neidisch über die angebotenen Erleichterungen. Zu Andwendungsversuchen ist es aber nie gekommen.

Gettz die berühmte Butter bei die Fische: könnte mir sehr wohl vorstellen, einen - wenn auch zunächst - zaghaften Anlauf auf C zu unternehmen, sicherlich mithilfe der 13 Lessons. Aber ich gebe gleich zu bedenken,
- dass ich diese Sprache nicht erlernen muss, um meine Brötchen damit zu verdienen;
- dass mich in meinem vorgerückten Alter und vielleicht auch sowieso das überfordern könnte;
- dass Programmieren für mich ein Hobby sein soll, welches in überschaubarer Zeit zu handgreiflichen Erfolgen führen sollte und welches zumindest teilweise Spass machen soll.
- dass ich - wie wir alle - ein Haufen Zeugs im Alltag um die Ohren habe und die aufzuwendende Zeit und auch die Bereitschaft für Schindereien begrenzt ist.
Quintessenz: einen vorsichtigen Versuch könnte ich mir vorstellen: Ausgang offen.

Der Rückfall ins Banking hat mich auch entsetzt: was ein Quatsch in meinen Augen. Vielleicht checke ich da was nicht, aber nach meinen Vorstellungen sollte ein "weiterverarbeitendes" Programm im Assembler oder Linker diese Arbeit besser und schneller ausführen können. Da denke ich auch noch mal an die im Inet gefundenen Meinungen diverser PIC-Freunde, dass Mircochip an Anwendern für 8-Bit-µC's nur noch wenig Interesse hat und der neue Assembler nahezu ausschließlich dafür gedacht ist, dass nur Programm-Häppchen vereinzelt in ein C-Prog eingebettet sein sollen.
Grüße, picass
   

Ottmar

Hallo picass,
in Deinem Beitrag vom 15.11.2025 hast Du geschrieben:
---0---
- es wurmt mich, bislang schon viel Zeit für Versuche zu einer anderen Prog-Sprache aufgebracht zu haben, ohne dass dies zu echten Anwendungen in einem Prog geführt hatte. Da möchte ich nicht wirklich einfach den Löffel hin werfen, sondern schon gerne mal ein Ziel auch erreichen.
---0---

Du könntest Doch locker bei dem "einfachen PIC18-verständlichen ASM" bleiben? Was kann dieses nicht von dem, was Du mit "Migration" zu XC8-ASM oder gar C erreichen möchtest?
Möglicherweise ist es nicht unbedingt der richtige Weg sich an 20 Lessons zu verbeissen?
Für mich war es auch neu, aber unaufwendig mich interessehalber in den PIC18f14/45K22 anhand des Datenblattes mit Versuch und Irrtum einzuarbeiten. Dabei ist mir allerdings das Steckbrett eine unverzichtbare Hilfe gewesen.
Vielleicht hilft Dir eine Abschätzung von  Nutzen zu Aufwand?

MfG Ottmar



picass

Abschätzung von Nutzen und Aufwand....!
Da triffst du einen Nerv. Als großer Stratege bin ich bislang eher nicht in Erscheinung getreten. :-\
Grüße, picass

Schnellantwort

Name:
Verifizierung:
Bitte lassen Sie dieses Feld leer:
Geben Sie die Buchstaben aus dem Bild ein
Buchstaben anhören / Neues Bild laden

Geben Sie die Buchstaben aus dem Bild ein:

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

🡱 🡳