
Zitat von
Jacob2
... in der Schule programmieren wir einen Zilog Z80 ...
Juchei - es gibt sie also noch, die guten alten Z80. Und das nicht nur bei mir im Keller.

Zitat von
Jacob2
... programmieren wir einen Zilog Z80, indem wir direkt die Befehle (in diesem Fall hexadez.) hintereinander in den Programmspeicher schreiben ...
Mal nur so nebenbei: im Schreibunterricht habt ihr noch Tontäfelchen oder sind bei euch schon diese Holzdinger mit Wachsfüllung eingeführt (bei denen man einfach viel besser korrigieren kann als bei Ton) ? ?
Ok, jetzt im Ernst. Natürlich könntest Du - theoretisch - auch hex schreiben - aber ich kenne leider keinen Editor, mit dem Du das kannst. Schade. ABER: AVRStudio hat etwas ganz feines: es hat einen Assembler, dort könntest Du so etwas ähnliches machen. Aber der Reihe nach.
Kannst Du bei Dir AVRStudio (mit WINAVR) installieren? Wie ist Deine Rechnerausrüstung?
Die Befehlsübersicht gibts z.B. hier (für den ATmega48PA/88PA/168PA/328P) - einfach downloaden (klick hier drauf) und auf Seite 427 anfangen. Da siehst Du aber leider nur die Mnemonics und nicht den Opcode in hex.
Im AVRStudio könntest Du mit diesen Mnemonics so programmieren - wieder klick, dann kommt ein Beispiel eines einfachen Programmes. Die zugehörigen Opcodes siehst Du hier (was wohl - richtig - klicken *ggg*).
Wenn Du nun ein passendes Programm geschrieben und assembliert hast, dann könntest Du etwas Feines machen: Du kannst den Programmablauf im Simulator (des AVRStudio) laufen lassen - auch im Einzelschritt - und dabei kannst Du Registerveränderungen, Auswirkung von Befehlen - z.B. Sprünge etc. sehen - ohne dass Du einen Mikrocontroller kaufen müsstest. Und AVRStudio gibt es - zusammen mit dem AVRGCC umsonst (na ja - wie heißt es: ausgenommen Verbindungskosten *ggg*).

Zitat von
Jacob2
... Eine weitere Frage ist: Kann man überhaupt direkt auf den Programmspeicher zugreifen ...
Nein - der Programmspeicher kann nur unter bestimmten Voraussetzungen beschrieben werden. ABER: im Simulator (siehe oben) geht das. Wie gesagt: kostet (fast) nur Mühe.
Wär das was für Dich?
Gut - es bliebe noch die Frage nach dem Nutzen. Du könntest mal überlegen ob - und inwieweit - der RISC auch wirklich ein RISC und kein CISC ist. Und wozu ein so ein reduzierter Instruction Set gut sein könnte - das wird Dir vermutlich aus der Z80-Quälerei aber schon geläufig sein.
Nachtrag: natürlich kannst Du in Hex auch bei At mels programmieren: Notepad öffnen und z.B. dies hier reinschreiben:
Code:
:020000020000FC
:1000000009C031C0189539C01895189518951895DC
:10001000189518957FE97DBF79E177BBC19A76E0A5
:1000200076B971E077B973E073BF72E075BF70E4C1
:100030007BBFF89474B771FD01C011C070E07BBF45
:1000400045E0C49A4AD054171CF438D061FFFBCF66
:10005000C49848D070E48AB786FD7ABF7BBF789495
:100060000000FDCF08950FB729D0603011F00FD0F8
:1000700002C02ED000C00FBF18951FB7222722BF85
:100080003395303510F0332753951FBF189570E026
:100090007BBF45E0C39A882720D0541724F40ED0A4
:1000A000603011F0FACF80E1C3981CD084FF10D0EB
:1000B00070E48AB786FD7ABF7BBF0895379A369A77
:1000C0003699FECF369A3699FECF65B137980895A6
:1000D00041E0C09A0AD0C0980895552772E079BFD0
:1000E00078940895772779BF0895F7DF5417F0F3D0
:0400F000F9DF089597
:00000001FF
Dies ist übrigens der Hexfile des oben erwähnten Programms . . . Gut was? DAS könnte man im AVRStudio im Assembler reinladen - und dann durchklickern. Und Fehler über Fehler sehen - es sei denn, das hatte der Assembler schon gemacht als er die Hexdatei erstellt hat.
Lesezeichen