Isch hätt da ma ne fraache: wann kütt denn datt asm buch zum MEGA65? Mit ROM-Listing und Systemaufrufe etc.pp?
2032 ![]()
There are 642 replies in this Thread which has previously been viewed 72,646 times. The latest Post (
Isch hätt da ma ne fraache: wann kütt denn datt asm buch zum MEGA65? Mit ROM-Listing und Systemaufrufe etc.pp?
2032 ![]()
Ich habe es noch nicht ausprobiert, aber das würde mich sehr wundern. CLR in Kombination mit BIT ruft eine eigene Routine auf und hat mit dem üblichen CLR nichts gemeinsam.
Edit: Passt alles und funktioniert!
Please login to see this attachment.
So hätte ich das auch erwartet. Allerdings wenn ich die Zeile so sehe:
Und sehe dann den Hinweis beim CLR Befehl im Handbuch, dann ist das eben nicht einfach verständlich, weil es den Eindruck erweckt als wenn der Hinweis allgemein für den CLR Befehl gelten würde. Also auch für die Kombination "CLR BIT", auch wenn das Kontraintuitiv ist.
Es geht doch nur um CLR. Der Befehl alleine sollte nicht in Unterprogrammen verwendet werden.
CLR Variable geht ja auch jetzt schon in Unterprogrammen und CLR BIT eben auch.
Das sollte es nun klarer machen:
CLR ohne weitere Parameter sollte nicht innerhalb von Schleifen oder Unterprogrammen verwendet werden, da hierbei die Rücksprungadresse zerstört wird. Nach einem CLR-Befehl (ohne Parameter) sind alle Variablen unbekannt und werden beim nächsten Gebrauch initialisiert.
Ihr müsst Euch vor Augen führen das Programmierer A ein Basic Programm hat welches beim Programmierer B nicht läuft.
Nach dem Motto : " Münze werfen" , Adler oder Zahl ? Welches ROM ist das richtige von B für das Programm von A.
Oh...Oh...
So, ich habe jetzt die aktuelle Version (22. Februar) des Referenzhandbuchs hochgeladen. Der Link ist immer noch der gleiche im ersten Beitrag. ![]()
Hinzugekommen sind seit der Fassung vom 18. Januar die Seiten: BIT, LOCK und UNLOCK.
Geändert hat sich was auf den Seiten: CLR, DLOAD, LOAD, POINTER, SET und SYS.
Die Seite für BIT und die dazugehörigen Einträge bei CLR und SET habe ich selbst verbrochen. Alle andere Änderungen sind Übersetzungen aus dem englischen Original. ![]()
Dann entstaubt mal eure Wörterbücher und meldet wieder die Fehler. ![]()
Morgen... ![]()
So, ich habe jetzt die aktuelle Version (22. Februar) des Referenzhandbuchs hochgeladen. Der Link ist immer noch der gleiche im ersten Beitrag.
Hinzugekommen sind seit der Fassung vom 18. Januar die Seiten: BIT, LOCK und UNLOCK.
Geändert hat sich was auf den Seiten: CLR, DLOAD, LOAD, POINTER, SET und SYS.
Die Seite für BIT und die dazugehörigen Einträge bei CLR und SET habe ich selbst verbrochen. Alle andere Änderungen sind Übersetzungen aus dem englischen Original.
Dann entstaubt mal eure Wörterbücher und meldet wieder die Fehler.
Du meinst diesen Linke, ja? Please login to see this link.
Da finde ich die neuen Schlüsselworte nicht. Mach ich was falsch? ![]()
Du meinst diesen Linke, ja? Please login to see this link.
Da finde ich die neuen Schlüsselworte nicht. Mach ich was falsch?
Guten Morgen, ja, das ist der Link. Auf Seite ii müsste 22. Februar stehen und BIT ist zum Beispiel auf Seite 24. ![]()
Nope, ich bekomme da die Version vom 18. Januar...
Please login to see this attachment.
Ach, vergiss es! Ein Hoch auf das Caching von Firefox! Jetzt bin ich auf dem aktuellen Stand...
Please login to see this attachment.
Ach, vergiss es! Ein Hoch auf das Caching von Firefox! Jetzt bin ich auf dem aktuellen Stand...
JAja, der Feuerfuchs kaschiert so einiges, nä?
Dann tu ich mal meine 2 Cent dazu, ja:
BIT unterstütze ich wie's ist.
Zweck: LOCK wird verwendet, um Dateien zu sperren. Die angegebene Datei oder ein Satz von Dateien, die dem Muster entsprechen, wird/werden gesperrt und kann/können nicht mit den Befehlen DELETE, ERASE oder SCRATCH gelöscht werden.
Gilt entsprechend auch für UNLOCK.
Zweck: CLR ohne Parameter dient der Verwaltung von BASIC-Variablen, -Arrays und -Strings. [...]
SET scheint mir OK.
DLOAD
Die dritte Variante ist ähnlich wie die zweite, aber die Dateien sind hier aufsteigend nach Größe sortiert.
LOAD
Siehe DLOAD. Frage: Wird bei Variante 2 und 3 tatsächlich die Notation mit "[,D Laufwerk] [,U Gerät]" verwendet? Und muss dann der Sermon zu dieser Notation hier auch mit aufgenommen werden?
POINTER ist OK, denke ich.
SYS : Was sollen die geschweiften Klammern bedeuten? Das scheint auch auf Seite 3 nicht beschrieben zu sein. Wenn das bedeuten soll, dass hier bei Nutzung des optionalen Teils Werte für alle(!) Register angegeben werden müssen, sind eckige Klammern um den kompletten Registersatz ausreichend. Ich kann mir das aber eigentlich gar nicht so recht vorstellen. Wenn es sich um Positionsparameter handelt, müsste das wohl mit mehreren eckigen Klammernpaaren noch anders gelöst werden. Mit der modifizierten BNF kenne ich mich nicht so aus...
Außerdem wird m.E. nicht ausreichend klargestellt, dass hiermit der Akkumulator bzw. die Register mit Werten belegt werden können.
I use your version a lot Snoopy ![]()
SYS : Was sollen die geschweiften Klammern bedeuten? Das scheint auch auf Seite 3 nicht beschrieben zu sein. Wenn das bedeuten soll, dass hier bei Nutzung des optionalen Teils Werte für alle(!) Register angegeben werden müssen, sind eckige Klammern um den kompletten Registersatz ausreichend. Ich kann mir das aber eigentlich gar nicht so recht vorstellen. Wenn es sich um Positionsparameter handelt, müsste das wohl mit mehreren eckigen Klammernpaaren noch anders gelöst werden. Mit der modifizierten BNF kenne ich mich nicht so aus...
Außerdem wird m.E. nicht ausreichend klargestellt, dass hiermit der Akkumulator bzw. die Register mit Werten belegt werden können.
Erst einmal vielen Dank für deine Rückmeldung! ![]()
Die Syntax des SYS-Befehl wird im C65-"Handbuch" so angegeben:
SYS -- Call a ROM routine or user machine language routine
SYS address [,[a] [,[x] [,[y] [,[z] [,s] ]]]]
Soll praktisch Folgendes bedeuten:
SYS kann mit einer Adresse als alleinigen Parameter angegeben werden. Dann wird der Code ab dieser Adresse ausgeführt.
Man kann auch Inhalte für die Register A, X, Y, Z und das Statusregister mit angeben. Dabei muss man allerdings die Reihenfolge der Parameter beachten:
SYS adresse, 12 übernimmt zum Beispiel 12 in Register A. Wenn man die 12 im X-Register haben will, dann muss man SYS adresse, , 12 verwenden. Das Komma für A muss gesetzt sein, obwohl man für A nichts angibt. Aber X muss der zweite Parameter sein und deswegen die zwei Kommas. Für Y wären es dann drei, usw.
Ich tendiere dazu, die Syntaxformulierung aus dem C65-"Handbuch" zu übernehmen. Es ist dann etwas klarer, aber so richtig glücklich bin ich damit auch nicht.
Ist halt die Frage, wie man die doch eher "komplizierte" Parameterangabe gut als Syntaxbeschreibung umsetzen könnte? ![]()
Display MoreSYS : Was sollen die geschweiften Klammern bedeuten? Das scheint auch auf Seite 3 nicht beschrieben zu sein. Wenn das bedeuten soll, dass hier bei Nutzung des optionalen Teils Werte für alle(!) Register angegeben werden müssen, sind eckige Klammern um den kompletten Registersatz ausreichend. Ich kann mir das aber eigentlich gar nicht so recht vorstellen. Wenn es sich um Positionsparameter handelt, müsste das wohl mit mehreren eckigen Klammernpaaren noch anders gelöst werden. Mit der modifizierten BNF kenne ich mich nicht so aus...
Außerdem wird m.E. nicht ausreichend klargestellt, dass hiermit der Akkumulator bzw. die Register mit Werten belegt werden können.
Erst einmal vielen Dank für deine Rückmeldung!
Die Syntax des SYS-Befehl wird im C65-"Handbuch" so angegeben:
CodeSYS -- Call a ROM routine or user machine language routine SYS address [,[a] [,[x] [,[y] [,[z] [,s] ]]]]Soll praktisch Folgendes bedeuten:
SYS kann mit einer Adresse als alleinigen Parameter angegeben werden. Dann wird der Code ab dieser Adresse ausgeführt.
Man kann auch Inhalte für die Register A, X, Y, Z und das Statusregister mit angeben. Dabei muss man allerdings die Reihenfolge der Parameter beachten:
SYS adresse, 12 übernimmt zum Beispiel 12 in Register A. Wenn man die 12 im X-Register haben will, dann muss man SYS adresse, , 12 verwenden. Das Komma für A muss gesetzt sein, obwohl man für A nichts angibt. Aber X muss der zweite Parameter sein und deswegen die zwei Kommas. Für Y wären es dann drei, usw.
Ich tendiere dazu, die Syntaxformulierung aus dem C65-"Handbuch" zu übernehmen. Es ist dann etwas klarer, aber so richtig glücklich bin ich damit auch nicht.
Ist halt die Frage, wie man die doch eher "komplizierte" Parameterangabe gut als Syntaxbeschreibung umsetzen könnte?
Wichtig kst auch der Tipp von BitShifter, das man Argumenten Werte übergeben kann:
This statement is valid for all arguments, that are parsed from the BASIC DOS-command parser:
If a parameter after a key-letter is not a decimal constant (or string constant), it must be surrounded by parenthesis, for example:
```
DOPENPlease login to see this link.,(FI$),U(UN%)
MKDIR (SD$),L(TR)
BLOAD (FI$), P($4000)
```
etc.
Die Syntax des SYS-Befehl wird im C65-"Handbuch" so angegeben:
CodeSYS -- Call a ROM routine or user machine language routine SYS address [,[a] [,[x] [,[y] [,[z] [,s] ]]]]Soll praktisch Folgendes bedeuten:
SYS kann mit einer Adresse als alleinigen Parameter angegeben werden. Dann wird der Code ab dieser Adresse ausgeführt.
Man kann auch Inhalte für die Register A, X, Y, Z und das Statusregister mit angeben. Dabei muss man allerdings die Reihenfolge der Parameter beachten:
SYS adresse, 12 übernimmt zum Beispiel 12 in Register A. Wenn man die 12 im X-Register haben will, dann muss man SYS adresse, , 12 verwenden. Das Komma für A muss gesetzt sein, obwohl man für A nichts angibt. Aber X muss der zweite Parameter sein und deswegen die zwei Kommas. Für Y wären es dann drei, usw.
Ich finde diese Notation besser, als die, die du verwendet hast. Ist für mich eindeutiger.
Ich würde, wie bereits geschrieben, vielleicht noch explizit erwähnen, dass damit Werte an die Register übergeben werden.
DLOAD
Die dritte Variante ist ähnlich wie die zweite, aber die Dateien sind hier aufsteigend nach Größe sortiert.
LOAD
Siehe DLOAD. Frage: Wird bei Variante 2 und 3 tatsächlich die Notation mit "[,D Laufwerk] [,U Gerät]" verwendet? Und muss dann der Sermon zu dieser Notation hier auch mit aufgenommen werden?
Bei der dritten Variante von DLOAD, also DLOAD "$$", wird gerade nicht nach Größe sortiert, sondern die Größe der Dateien wird komplett ignoriert. ![]()
DLOAD "$$" weist dem Diskettennamen die 0 zu, der ersten Datei die 1 zu, der zweiten Datei die 2, usw. und das unabhängig von deren Dateigröße.
Please login to see this attachment.
Ein Hintergedanke dieser Umsetzung war, ein Directory so im Speicher zu haben, dass man es wie ein BASIC-Programm mit F9 und F11 oder CTRL+V und CTRL+P hoch- und runterscrollen kann. Und die aufsteigende Nummerierung stellt sicher, dass die Reihenfolge im "BASIC-Programm" (also das Directory) auch die gleichen Reihenfolge der Dateien auf der Diskette hat.
Und für den DLOAD- und LOAD-Befehl kann man optional U und D mit angeben, auch bei DLOAD"$" und DLOAD"$$".
Ich habe gerade ein aktuelles Update (24. Februar) hochgeladen, in dem die Vorschläge von Senfsosse eingearbeitet worden sind. ![]()
Wer nicht jedes Mal den ersten Beitrag aufrufen will, der kann das Handbuch auch über die offizielle MEGA65-Seite Please login to see this link. im Menüpunkt "Docs" runterladen. Dahinter steckt zwar der gleiche Link, aber ist vielleicht leichter zu merken? ![]()
Please login to see this attachment.
Ich finde diese Notation besser, als die, die du verwendet hast. Ist für mich eindeutiger.
Die Notation wird aber im Anfangskapitel erwaehnt, also von daher finde ich das ok.
Ich habe gerade ein aktuelles Update (24. Februar) hochgeladen, in dem die Vorschläge von Senfsosse eingearbeitet worden sind.
Wer nicht jedes Mal den ersten Beitrag aufrufen will, der kann das Handbuch auch über die offizielle MEGA65-Seite Please login to see this link. im Menüpunkt "Docs" runterladen. Dahinter steckt zwar der gleiche Link, aber ist vielleicht leichter zu merken?
Please login to see this attachment.
Wenn ich den runterlade steht in der Version aber noch das Datum vom 18.1. …?
Ich habe gerade ein aktuelles Update (24. Februar) hochgeladen, in dem die Vorschläge von Senfsosse eingearbeitet worden sind.
Wer nicht jedes Mal den ersten Beitrag aufrufen will, der kann das Handbuch auch über die offizielle MEGA65-Seite Please login to see this link. im Menüpunkt "Docs" runterladen. Dahinter steckt zwar der gleiche Link, aber ist vielleicht leichter zu merken?
Please login to see this attachment.
Wenn ich den runterlade steht in der Version aber noch das Datum vom 18.1. …?
Schau mal nach Caching im Browser. Hatte ich gestern auch...