|
|
(239 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| | | |
| | | |
− | == ToDo == | + | == Befehlsausführung == |
− | * variablen/register definition
| + | |
− | * __config syntax + erklärung
| + | Ich kann mir nicht vorstellen, dass der PIC (also PIC10...18) pipelined arbeitet, also wirklich bis zu 4 Befehle quasi gleichzeitig. So gut kenne ich die PICs nicht, aber soweit ich weiss wirklich 4 Oszillator Takte = 1 Rechentakt für einen Befehl, und erst danach kommt der nächste Befehl.--Besserwessi 13:17, 10. Dez 2013 (CET) |
− | * sonderbefehle wie <tt> errorlevel -302 </tt>
| + | |
− | * codeschnipsel wie z.b. wait oder interrupt ende und anfange
| + | |
− | == Allgemeines ==
| + | |
− | * ist es sinnvoll eine extra unterteilung zu midrange zu machen? oder soll man davon ausgehen, dass nur midrange verwendet wird?
| + | |
− | ----
| + | |
− | Ich denke, dass man mit Programm flowchart anfangen und langsam durch seine Ausfüllung mit Mnemonics in ein ASM Programm übergehen soll. Es wäre auch nicht schlecht ein bischen über Struktur eines ASM Programms zu schreiben, wie laufen die Schleifen (innerhalb von Schleifen) und Interrupts (dass das Programm wird gestoppt und erst nach ausführen der ISR fortgesetzt). Auch über Steuerung von Multitasks mit Flags würde ich was Schreiben. Die Reihenfolge weiss momentan nicht. In jedem Fall würde auch etwas über Optimierung des Codes und Speichers sagen. Ich glaube nicht, dass es alles in kurzen Wiki-Artikel reinpasst, oder? | + | |
− | ----
| + | |
− | muss man dann halt auf mehrere artikel aufspalten. soll ich da dann noch bei "meinen" sachen weiter machen? [[Benutzer:Benedikt.Seidl|Benedikt.Seidl]] 13:13, 25. Mär 2007 (CEST) (so unterschreiben kann man mit vier ~)
| + | |
− | ----
| + | |
− | Natürlich, mach weiter ich bin Newbie hier. Ich denke, dass man danach noch das ganze editieren kann. Ich weiss nicht, ob ich auch was in den Artikel schreiben soll?[[Benutzer:PICture|PICture]] 13:19, 25. Mär 2007 (CEST)
| + | |
− | ----
| + | |
− | natürlich sollst du auch was dazu schreiben ;-) das geht ganz einfach. so wie hier bei der diskusion auch. du bearbeitest einmal den ganzen artikel und fügst eine neue Überschrift hinzu. dann speicherst du es und bearbeitest dann nur den bereich deiner überschift, damit wir uns nicht in die quere kommen mit dem editieren, sonst überschreib ich dir deine änderungen, oder anders herum. wenn du hilfe zur formatierung oder ähnlichem brauchst, kannst du [http://de.wikipedia.org/wiki/Wikipedia:Hilfe dort] schaun oder auch einfach hier fragen. [[Benutzer:Benedikt.Seidl|Benedikt.Seidl]] 13:28, 25. Mär 2007 (CEST)
| + | |
− | ----
| + | |
− | Irgendwie ist schon zum zweiten Mal, das ganze was ich geschrieben habe spurlos verschwunden. Ich schreibe es zum letzten mal, wenn´s wieder verschwindet mag ich heute nicht mehr. :)
| + | |
− | Ich schreibe eigentlich meistens Programme, die auf allen PICs laufen.
| + | |
− | Zuerst schreibe ich kleine Programme (bis. 1kB) für die PIC16F und speichere sie nach dem Testen in einer extra Bibliothek. Wenn ich danach ein Programm für 18F schreibe, nehme ich sie her und ersetze einige Befehlsfolgen mit einzelnen Befehlen für 18F. Mein Hauptprogramm besteht überwiegend aus einer Reihenfolge von call Befehlen und ist somit Hochsprache änlich und übersichtlich. Die Programme, die ursprunglich für 18F geschrieben wurden, lassen sich nicht so einfach auf 16F umschreiben.[[Benutzer:PICture|PICture]] 13:51, 25. Mär 2007 (CEST)
| + | |
− | ----
| + | |
− | aber geht dabei dann nicht auch speed verloren? weil man könnte ja mit den 18f befehlen noch einiges raushohlen, oder? | + | |
− | dann könntest du ja z.b. in den artikel schreiben, wie man solche bibliotheken in den quellcode einbindet, auf was man achten muss usw.?
| + | |
− | würde mir halt gut gefallen, wenn man mit hilfe von diesem artikel den pic-asm einstieg schaffen würde. [[Benutzer:Benedikt.Seidl|Benedikt.Seidl]] 14:08, 25. Mär 2007 (CEST)
| + | |
− | ----
| + | |
− | Eigentlich nicht. Mann könnte nur Programmspeicher bei 18F sparen. Ich habe mir Deine bisherige Mühe angeschaut und denke, dass es vielleicht gut wäre, die Erklärungen der Befehle ins Deutch zu übersetzen, wenn es für Anfänger seien sollte.[[Benutzer:PICture|PICture]] 14:14, 25. Mär 2007 (CEST)
| + | |
− | ----
| + | |
− | eine ausführliche erklärung kommt ja dann noch weiter unten. ich habe mir die liste ganz am anfang meine asm-programmier-"karriere" das ausgedruckt und mich so an die küzel gewöhnt. meinst du dass es noch oben in die tabelle kommen sollte oder unten bei der erklärung noch mal den befehl übersetzten? [[Benutzer:Benedikt.Seidl|Benedikt.Seidl]] 14:28, 25. Mär 2007 (CEST)
| + | |
− | ----
| + | |
− | Ich meine, dass es vor allem am Anfang sehr wichtig ist, alles möglichst verständlich zu machen.
| + | |
− | Deswegen würde ich es da oben gleich übersetzen.
| + | |
− | Mir ist gerade eingefallen, dasss wenn die Eiführung für Anfänger seien sollte, müssen wir einen echten Anfänger fragen, oder?
| + | |
− | Aber wie kann man einen Anfänger auf diese Seite kriegen?
| + | |
− | Ich werde später (nach Überlegungen) am Anfang des Artikels etwas über Struktur und Flowchart eines ASM Programms schreiben. Zuerst möchte ich aber mein Projekt "Logic Analyser" fertig machen, da es nur noch die Triggerung fehlt.
| + | |
− | [[Benutzer:PICture|PICture]] 14:51, 25. Mär 2007 (CEST)
| + | |
− | ---- | + | |
− | natürlich! schreib ruhig! ich mach jetzt sowieso mal ne pause. ich würde da schon einen anfänger kennen ;-) werde ihm eine mail schreiben. [[Benutzer:Benedikt.Seidl|Benedikt.Seidl]] 15:14, 25. Mär 2007 (CEST)
| + | |
− | ----
| + | |
− | ich habe mal ein bisschen in deinem text herumgestochert! wenn es dir nicht gefällt, kannst du es über den menüpunkt versionen wieder rückgängig machen.[[Benutzer:Benedikt.Seidl|Benedikt.Seidl]] 21:32, 25. Mär 2007 (CEST)
| + | |
− | ----
| + | |
− | Vielen Dank! :)
| + | |
− | Als Gegenleistung, habe ich einige von Deinen Befehsbeschreibungen geändert b.z.w. ergänzt. Es gefällt mir sehr, da alles immer besser aussieht!
| + | |
| | | |
− | Leider habe ich festgestellt, das mir für sehr viele Sachen, die ich über ASM Programmierung noch schreiben will, Fachbegriffe fehlen. Was meinst Du? Soll ich sie im Internet suchen, oder darf ich eigene einführen. Ich befürchte aber (da ich kein Fachmann im Bereich Software bin), dass es schon bestimmte Sachen genannt sind und ich möchte mich daran halten.
| |
− | [[Benutzer:PICture|PICture]] 23:26, 25. Mär 2007 (CEST)
| |
| ---- | | ---- |
− | auch danke für die verbesserungen ;-)
| |
− | naja. an und für sich wären die orginal-fachbegriffe schon besser, aber bei nicht so wichtigen sachen kann man schon selber welche "erfinden". es ist ja nur interessant für geläufige dinge, dass man u.U. weiter googlen kann. [[Benutzer:Benedikt.Seidl|Benedikt.Seidl]] 12:31, 26. Mär 2007 (CEST)
| |
− | ----
| |
− | Ich habe mehrere Internet Seiten mit Software Terminologie durchgeschaut, aber nichts brauchbares für ASM gefunden. Ich vermute (leider), dass ich eigene Therminologie für einige Sachen eiführen muss, da sich mit uC ASM Programmierung nur wenige Leute beschäftigen. Ich habe zwar deuches Softwareforum gefunden, da waren aber insgesamt nur 50 Beiträge (nichts über ASM) und ich keine Hoffnung auf Hife von dort habe. Anderseits, wenn ich schon was "baue", dann genau und von Fundamenten. :)
| |
| | | |
− | Übrigens, hast Du schon einen echten Newbie gefunden?[[Benutzer:PICture|PICture]] 17:42, 26. Mär 2007 (CEST)
| + | === Anmerkung von witkatz am 18.02.2014, 15:55: === |
− | ---- | + | Die Befehlsausführung und das Pipelining sind in der folgenden Doku im Kapitel "4.3 Instruction Flow/Pipelining" beschrieben |
| + | [http://ww1.microchip.com/downloads/en/DeviceDoc/33023a.pdf PICmicro Mid-Range MCU Family Reference Manual] |
Ich kann mir nicht vorstellen, dass der PIC (also PIC10...18) pipelined arbeitet, also wirklich bis zu 4 Befehle quasi gleichzeitig. So gut kenne ich die PICs nicht, aber soweit ich weiss wirklich 4 Oszillator Takte = 1 Rechentakt für einen Befehl, und erst danach kommt der nächste Befehl.--Besserwessi 13:17, 10. Dez 2013 (CET)