
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo Medano, hier zu Deinen Assembler-Fragen, die sich wohl auf Dietmars Tips und Tricks Dokument beziehen (ASM-Code auf Stack pushen). zu 1. Laut Adresse.txt Dokument liegt der Stack ab Adresse $91. Im Bsp. Programm wird durch den Print-Befehl das ASM-Programm auf den Rechenstack geladen (getarnt als Programmtokens). Der Sysbefehl springt dann an $91 Adresse. wo ja dann die ASM-Programm-Bytes liegen und führt diese als Maschinencode aus. Beim Assemblieren mußt Du natürlich org $91 angeben, um eventuelle relative Sprungadressen im Listing des assemblierten Codes angegeben zu bekommen. Aus diesem Listung holst Du Dir dann auch die Code-Bytes raus (wie im Bsp gezeigt, beginnend mit dem Ende des Codes) und trägst es im CCBASIC-Programm ein. Ob aber ein bra oder bsr im Rechenstack zu irgendeiner Adresse anstandslos funktioniert, weiß ich nicht (hab es nicht ausprobiert). Wegen des Opcodes brauchst Du das Listing des assemblierten Programms: AS05 -l (generiert PASS2 Listing). Da stehen sie drin. zu 2. Wie im Bsp von Dietmar angegeben, statt SYS $101 schreibe dann SYS $91. Wenn Du mit org $91 beim Assemblieren die relativen Adressen berechnen hast lassen, das Laden wird automatisch geschehen, dann kannst Du mit SYS $91 ins Maschinenprogramm springen und los gehts... Grüsse, Mak > Hallo! > > Ich hab in der Info-Sammlung gelesen, dass es möglich ist, Assemblercode auch direkt in > Basic einzufügen, der dann vom BS bei Gebrauch geladen wird. > > Nun meine zwei kurze Fragen: Dann muss doch nach dem Befehl a) ein anderer Speicherbereich > als der 0101h angegeben werden; welcher ist das ? b) Werden doch dort Opcodes angegeben; > woher erfahre ich nun den Opcode z.B. von "bclr" oder "bset" ? Kann jemand vielleicht sogar ein > kleines Beispiel posten ? > > Zweite Frage: Ich kann doch nur ein Assemblerprogramm als "SYSCODE" angeben und per > "SYS &H0101" aufrufen. Wie kann ich jetzt eigentlich nur eine dort abgespeicherte Funktion > aufrufen ? Mit dem obrigen Befehl fängt doch der Assemblercode bei "opp 101" an. Also läuft > der Code ab dieser Adresse!? > > Hoffe dringenst auf Antwort =) > > Medano C. Caserson |
| Antwort schreiben |