Hallo Leute, grüßt Euch recht schön, jetzt habe ich schon mal in den Threads reingeschaut, fand zwar interessante Sachen, leider nichts von dem was ich suche. Vielleicht noch was für den 6502 oder 65s02, oder 8086, (Z80)? Die Haupt-sache es ist einfach. Er braucht auch nicht besonders schnell zu sein. Ich brauche einen STACK, je ein X und Y-Register, Statusregister für die Flags. Aber auch einen passenden Emulator der CPU auf einen anderen Computer. Interessant wäre noch, wie der Akkumulator von innen arbeitet; - alles in der CPU sollte sichtbar sein. Es stehen aber auch fragen an, wie der Assembler funktioniert. Es reicht mir nicht, dass ich ein Assembler-Programm habe, z.B. beim 8086; - und ich möchte, d.h. muss auch wissen, wie der Assembler arbeitet. (Es steht in meinem Buch nicht drin. - "Es ist Rede von Direktiven?" Ich verstehe einfach nicht, wie eine Assemblerliste funktionieren kann, wenn er auf dem Bildschirm steht. Es müssen doch Prog.-Routinen da sein, die das bewerkstelligen; das muss man doch auch sehen können. Folgende Sätze sind nicht - "Anstößig gemeint" - gemeint. Ich möchte einen "nackten, jungfräulichen" Computer haben, der nichts hat, - um damit es, - beim weiteren Lernen nicht stört. Es sollte aber schon die nötigen Programme haben. Es soll ein Experimentier-Computer werden. (Er braucht nicht mit dem Internet verbunden zu sein) Der passende Emulator mit Zusatzprogrammen zB. Assembler mit Zubehör sollte wohl auf einem anderen Computer laufen. Mehr möchte ich, -für den Anfang- nicht fragen. Habt Ihr bitte Vorschläge für mich? Schöne Grüße Enk.
Commodre 64 oder Ben Eaters 6502 Computer.
vor knapp zwei Jahrzehnten (bin ich wirklich schon so alt?) habe ich sowas ähnlichea an der Uni als Praktikum in VHDL gemacht. Anfangs gabs dazu nicht einmal einen Assembler, da wurde direkt binär mit OpCodes programmiert. es war ein einfacher RISC Prozessor mit einer Handvoll Befehlen, ALU, 16 Registern. Die genauen Details, Speicher, Displaysteuerung weiß ich leider nicht mehr.
Das ist ja so oder so eine bloede Frage, aber wenn es schon sein muss: http://www.visual6502.org/ Ohne Loetkolben, mit Assembler, ohne Kosten. Ich hatte damals am Junior-Computer angefangen (die Lehrbuecher kann man heute im Internet finden oder, natuerlich, den Zaks). Und ja, die DDR gabe es auch noch (schon ganz schoen lange her, ich habe den Junior in Deutsche Mark bezahlt).
Günter K. schrieb: > Die > Haupt-sache es ist einfach. Wenn es einfach sein soll, nimm einen 8051 oder AVR. Für beides gibt es Simulatoren und Debugger. Mit einem Simulator kannst Du Assembler oder C-Programme auf dem PC laufen lassen und Die jedes Register und Ports anschauen. Mit einem Debugger kannst Du das gleiche auf einem richtigen Chip machen. Für die 8051 von Silicon Laboratories kannst Du Dir kostenlos die komplette Keil IDE runterladen.
Günter K. schrieb: > Habt Ihr bitte Vorschläge für mich? Man baute heutzutage keine Computer mehr mit den klassischen 8 Bit Mikroprozessoren, denn es gibt inzwischen darauf basierende Mikrocontroller, die neben der CPU auch das RAM, das ROM und Peripherie enthalten. Das ROM ist überlicherweise direkt über USB oder einem Programmieradapter mehrfach programmierbar. Da diese Kombination schon für 1€ zu haben ist, sind die klassischen 8 Bit Mikroprozessoren praktisch ausgestorben. Vielleicht gefallen dir diese Webseiten zum Thema: http://stefanfrings.de/avr_workshop/index.html http://stefanfrings.de/mikrocontroller_buch/index.html
> Ich möchte einen "nackten, jungfräulichen" Computer haben, > der nichts hat, - um damit es, - beim weiteren Lernen nicht stört. > Es sollte aber schon die nötigen Programme haben. RP2040 als Raspberry Pi Pico. Der hat nicht nur nen BootRAM und Fließkommabibliotheken, da kannste auch gleich einen Interbräter wie damals das C64-Basic V2 draufschieben. Außerdem gibt es für den jede Menge Schulbildungskompatible Dokumentation. * https://www.berrybase.de/raspberry-pi-pico-rp2040-mikrocontroller-board * https://www.amazon.de/RPi-Pico-Projekte-mit-MicroPython/dp/B0D11GHC8F * https://shop.heise.de/bundle-make-pi-pico-special-heft-mikrocontroller
Ich musste damals vor 30 Jahren die ganzen Steuersignale von zwei Mikroprozessoren auswendig lernen, doch nach der Prüfung habe ich das nie wieder gebraucht. Bei heutigen Mikroprozessoren ist das auch gar nicht mehr so detailliert dokumentiert, wie damals. Es bleibt ein Geheimnis des Herstellers. Es gibt da einen online Emulator für den 6502, der zeigt den Chip so wie er unter einem Mikroskop aussieht und visualisiert in dem Bild sämtliche Signale. http://www.visual6502.org/ Fällt für mich in die Kategorie: Dinge, die die Welt nicht braucht. Aber dir gefällt das vielleicht.
Bezüglich deiner Fragen zum Assembler: Benutze mal einen in Kombination mit der Doku des Befehlssatzes, dann wirst du vermutlich am schnellsten begreifen, wie er funktioniert. Im Grunde genommen übersetzt er Text zu Zahlen. Mein fiktiver Prozessor kennt folgende Befehle: 1) Addiere A mit A (= verdoppele A) > ADD A,A 2) Addiere A mit B > ADD A,B 3) Addiere A mit C > ADD A,C 4) Multipliziere A mit A (= A hoch 2) > MUL A,A 5) Multipliziere A mit B > MUL A,B 6) Multipliziere A mit C > MUL A,C Wenn wir in Assembler programmieren, schreiben wir Befehle in so einer Textform, die sowohl wir Menschen als auch die Maschine lesen kann. Die Maschine übersetzt das in numerischen Code, der mittels Programmieradapter in den Programmspeicher des Mikrocontrollers abgelegt wird. Der Mikrocontroller führt das Programm aus. Wenn der Programmspeicher die Zahlenfolge 4 2 6 enthält, führt der Mikroprozessor die Befehle aus: > 4 ist MUL A,A > 2 ist ADD A,B > 6 ist MUL A,C Oder in mathematischer Schreibweise: > A = (A x A) + B) x C Im Gegensatz zu Assembler sind die Compiler von Hochsprachen (wie C) imstande, solche mathematischen Ausdrücke zu verstehen und in eine geeignete Sequenz von Prozessor-Befehlen zu übersetzen. Bitte beachte, dass das nur ein fiktives Beispiel ist. Der Befehlssatz und die zugehörigen numerischen Werte sind bei jedem Mikroprozessor anders. Im Fall von AVR dort dokumentiert: https://ww1.microchip.com/downloads/en/devicedoc/atmel-0856-avr-instruction-set-manual.pdf
Bradward B. schrieb: > RP2040 als Raspberry Pi Pico. > Der hat nicht nur nen BootRAM und Fließkommabibliotheken, da kannste > auch gleich einen Interbräter wie damals das C64-Basic V2 draufschieben. Du hast dThema vollkmmenversnd. Er will auf unterster Ebene die Dinge verstehen und sehen. Da sind Bibliotheken und Basic vollkommen fehl am Platze ...
Daniel F. schrieb: > vor knapp zwei Jahrzehnten (bin ich wirklich schon so alt?) habe ich > sowas ähnlichea an der Uni als Praktikum in VHDL gemacht. > > Anfangs gabs dazu nicht einmal einen Assembler, da wurde direkt binär > mit OpCodes programmiert. > > es war ein einfacher RISC Prozessor mit einer Handvoll Befehlen, ALU, 16 > Registern. > > Die genauen Details, Speicher, Displaysteuerung weiß ich leider nicht > mehr. Hab ich vor ca. 15 Jahren an der FH als Kurs auch gemacht, war bei Reichardt & Schwarz. Die haben dazu auch ein Buch geschrieben, wo der Prozessor beschrieben war... (VHDL-Synthese: Entwurf digitaler Schaltungen und Systeme) Unsere Aufgabe war es, den Prozessor zu erweitern, haben einen OP-Code bekommen und dann unsere Funktion intergriert - Multiplier und Addierer. Dazu dann noch ein FIR Filter Programm geschrieben...
so war das Ding damals aufgebaut... edit: ja, ich weiß Bildformate und so - bin unterwegs un schreibe grad mit dem Schaßkastl
:
Bearbeitet durch User
Günter K. schrieb: > nteressant wäre noch, wie der Akkumulator von innen arbeitet; - alles > in der CPU sollte sichtbar sein. Der Akkumulator ist langweilig. Interessant wird es mit der ALU. Wenn dir dir mit diskreter Logik einen Halbaddierer aufbaust und verstehst, hast du schon einmal einen wichtigen Grundbaustein.
:
Bearbeitet durch User
Rainer W. schrieb: > Günter K. schrieb: >> nteressant wäre noch, wie der Akkumulator von innen arbeitet; - alles >> in der CPU sollte sichtbar sein. > > Der Akkumulator ist langweilig. Interessant wird es mit der ALU. > > Wenn dir dir mit diskreter Logik einen Halbaddierer aufbaust und > verstehst, hast du schon einmal einen wichtigen Grundbaustein. Oder er schaut ins Datenblatt vom 74181 damit habe ich angefangen. Und das war vor 51 Jahren ;-)
Hans-Georg L. schrieb: > Oder er schaut ins Datenblatt vom 74181 damit habe ich angefangen. > Und das war vor 51 Jahren ;-) Wer gewoehnt ist, mit abstrakten Dingen wie einer Wahrheitstabelle zu arbeiten, kann sich das ganze auf gedanklicher Ebene visualisieren. Das scheint dem TO aber abzugehen, d.h. er braucht da eine staerkere Dosis. Er koennte aber an einen 74181 einige LEDs und Schalter anschliessen. Oder, wenn er wirklich Langeweile hat, einen 74181 aus Einzelgattern zusammenbauen. Dann koennte er noch viel mehr LEDs zum leuchten bringen. Mein Tipp fuer den TO: Schaff dir einen C128(D) an. Der hat den "6502" (o.ae. :), ein A, X, Y und sogar ein SP-Register, und am wichtigsten: ein Monitorprogramm zum Zugucken ist auch eingebaut. Edith: Auf einen richtigen Assembler kannst du am Anfang auch verzichten. Das eingebaute Monitorprogramm kann auch "zeilenweise" assemblieren.
:
Bearbeitet durch User
> Interessant wäre noch, wie der Akkumulator von innen arbeitet; - alles > in der CPU sollte sichtbar sein. Wenn du mit "sichtbar" mit bloßen Auge sichtbar meinst, dann musste einen alten aus Gatter-IC, Transistoren oder so geschmiedeten Rechner nehmen. PDP-10 oder so, da zeigen noch Lämpcchen an, welche Instruction gerade vercodet ist. https://upload.wikimedia.org/wikipedia/commons/7/71/Digital_pdp10.jpg Ist jetzt aber a bisserl zu groß für Heimgebrauch. Kleiner wäre da der Polycomputer-880 https://de.wikipedia.org/wiki/Datei:Poly-computer880display.jpg Vielleicht wirst auch einem Museum in der Nähe fündig, Technische Sammlungen in Dresden. Oder die Datarena in München. https://tsd.de/programm/ausstellungen/denk-maschine https://www.unibw.de/datarena
:
Bearbeitet durch User
Hallo Leute, erst schonmal vielen Dank für die vielen Antworten, es war wirklich interessantes dabei. Ich melde mich nochmal dazu. Also bis später, - dann gehe ich auf einige Botschaften ein. Tschüss, und noch eine gute Zeit.
Wenn es nur das Look-and-Feel sein soll, reicht auch ein PiDP-11: Ein Nachbau der PDP-11 (grosses Problem waren die schoenen Taster/Schalter). https://magpi.raspberrypi.com/articles/pidp-11-review https://www.tindie.com/products/obso/pdp-11-replica-kit-the-pidp-11/ https://obsolescence.wixsite.com/obsolescence/pidp-11 Eine PDP-8 gibt es auch: https://www.raspberrypi.com/news/pidp-8i-remaking-the-pdp-8i/ Und natuerlich braucht man einen Terminak (Replika VT100): https://github.com/jpasqua/FauxVT?tab=readme-ov-file Es ist herrlich, was man heute (2024) an Technologie hat: Ein 3EUR-Controller (stm32f401) hat genug Ompf, um die o.g. Rechner zu simulieren. Und 3D-Drucker sind mittlerweile auch schon sehr gut geworden. All das waere nicht moeglich ohne die Arbeit von Bob Supnik, der in seiner Zeit bei DEC die CPUs selbst entwickelt hat und jetzt, als Pensionaer/Rentner, ein Opensource-Project ueber die Simulation der DEC-CPUs fuehrt: https://github.com/open-simh/simh
Günter K. schrieb: > Vielleicht noch was für den 6502 Schau mal in https://www.masswerk.at/6502 Hat einen Assembler und einen Simulator, welchen man in Single-Step betreiben kann. Dabei werden jeweils alle Register und Flags angezeigt. So etwas kann man zum Beispiel bei der Arbeit zuschauen.
1 | lda #10 |
2 | ldy #5 |
3 | clc |
4 | loop: |
5 | adc #2 |
6 | dey |
7 | bne loop |
8 | brk |
Günter K. schrieb: > Also bis später, - dann gehe ich auf einige Botschaften ein. Ja, das ist wirklich sehr freundlich. Ich habe mir mal deine sonstigen Threads/Postings durchgelesen. 16 Jahre bist du jetzt dabei. Was ist dein wirkliches Ziel?
Es wäre zielführend wenn man wüsste was das Lernziel sein soll. Im Moment kann das irgendwie alles sein, entsprechend unterschiedlich fallen die Antworten aus: Ist das Ziel: Einen Prozessor in Assembler zu programmieren und entsprechende Techniken wie Schleifen, Adressierungsarten, Operatoren etc. zu lernen/vermitteln Verstehen wie ein Assembler funktioniert Verstehen wie ein Prozessor aufgebaut ist, wie Register und die ALU funktionieren, wie Addressierung gemacht wird, wie Assemblerbefehle codiert sind und decodiert werden. Ausserdem müsste man wissen; Wer soll das lernen, welche Vorkenntnisse sind vorhanden. Bis auf welche Tiefe soll das Wissen vermittelt werden. Im Moment sieht es (für mich) nach einem "Ich will alles lernen" Ansatz aus. Das bedeutet eigentlich ein halbes Informatik Studium mit diversen Vertiefungsrichtungen. Wenn der Thread für den TO also mehr brauchbare Informationen bringen soll, sollte er seine Frage präzisieren.
Udo S. schrieb: > Im Moment sieht es (für mich) nach einem "Ich will alles lernen" Ansatz > aus. Für mich auch. Er will die ganze Entwicklung der IT bis zu Gegenwart nachvollziehen. Nur denke ich, dass das bei der Menge nicht mehr geht.
Natürlich hat XKCD auch dafür was: "Major in the Universe"
:
Bearbeitet durch User
Monk schrieb: > Für mich auch. Er will die ganze Entwicklung der IT bis zu Gegenwart > nachvollziehen. Nur denke ich, dass das bei der Menge nicht mehr geht. Jene Generation, die von 6502 bis heute alles mitbekommen hat, geht innerhalb der nächsten 10 Jahre in Rente. Unsereiner hat die Entwicklung aber über zig Jahre verteilt mitbekommen. Ob das mit Druckbetankung auch funktioniert? Zumal es immer weniger bringt, seit auch die Embedded-Szene mit den Mikrocontrollern immer mehr auf Abstraktion in Form von Libraries setzt, statt auf Bits und Register. Nicht nur bei den Arduinos.
:
Bearbeitet durch User
(prx) A. K. schrieb: > Ob das mit Druckbetankung auch funktioniert? > Zumal es immer weniger bringt So wie wir (die 70er bis 80er Jahre Generation) das gelernt haben, geht es nicht mehr. Wir hätten uns mit so tollen visuellen Simulatoren wie im Paradies gefühlt. Jetzt gibt es das, ist aber zu spät. Ich bin sicher, dass die Generationen nach uns ganz hervorragende Entwickler werden können, ohne jedes Bit mit Namen zu kennen oder gar (zumindest theoretisch) eigene Prozessoren entwickeln zu können. Wir brauchten das damals noch, aber das ist Vergangenheit.
Hallo Norbert und alle, ich hatte hier schon geschrieben, und auf einmal ist alles weg.- Nun wiederhole ich. - Das ist ja PRIMA! DANKESCHÖN!Ich sehe, sogar das Status-Register ist dabei. Es ist zwar etwas anders, als wir es in der Schule hatten, immerhin ich sehe den IRQ und den NMI. Dann werde ich ja bald loslegen können. Die angezeigten Begriffe sind im Englischen besser zu verstehen, obschon ich sonst nur sehr wenig Englisch kann. Die 8-Zeilen-Routine, ist das die für den Singlestep (Einzelschritt)? Ja, auch wenn Assembler dabei ist, wäre es ja interessant, mal selber einen zu schreiben, ebenso einen Dissassembler. - Nun habe ich schon mal gehört, dass beim Dissassembler, kein OP-Code angezeigt wird; gerade der OP-Code ist ja so interessant und so lernt man besser Maschinensprache zu verstehen. Nur, muss ich erst mal mit kleinen Programmen anfangen. Zum Beispiel ein Uhrenprogramm, nur das Uhrenprogramm, noch ohne Synchronisation zum DCF77; (... später, dann wohl.). Nun ich sprach von Schule, das war noch in den 80ern, und ich bin im 80. Lebensjahr. (Meine Kinder u. junge Jugendzeit-21 war grausam, darüber schreibe ich nichts weiter.) Ich melde mich auch nochmal zu dem Herrn aus der ehemaligen DDR, mit seinem Junior-Computer hatte, der noch mit DM bezahlt wurde. - Der RODNEY ZAKS schrieb auch Bücher über den 6502, -hier in diesem Falle ist es der Z80. Also, bestimmt bis später L. Gruß Elk.
Hallo Leute, Ich weiß noch nicht, wie man die Zitatzeichen setzt. Arduino F. schrieb: > Günter K. schrieb: >> Also bis später, - dann gehe ich auf einige Botschaften ein. > Ja, das ist wirklich sehr freundlich. > > Ich habe mir mal deine sonstigen Threads/Postings durchgelesen. > 16 Jahre bist du jetzt dabei. > > Was ist dein wirkliches Ziel? Antwort: Das habe ich eben an Norbert geschrieben. Genauer: Ich möchte damit basteln. LG. Enk. PS.: Ich schicke einfach mal ab.
Günter K. schrieb: > Die angezeigten Begriffe sind im Englischen besser zu verstehen, > obschon ich sonst nur sehr wenig Englisch kann. Wenn du auf diese Ebene runter willst, ist Englisch unverzichtbar. Es ist dann auch besser, nicht erst nach deutscher Doku zu suchen.
:
Bearbeitet durch User
Günter K. schrieb: > Nun habe ich schon mal > gehört, dass beim Dissassembler, kein OP-Code angezeigt wird ???? Genau das ist doch die primäre Aufgabe des Disassemblers.
Günter K. schrieb: > ich bin im 80. Lebensjahr. Respekt. Das wurde anfangs deutlich anders eingeschätzt.
:
Bearbeitet durch User
Günter K. schrieb: > Nun ich sprach von Schule, das war noch in den 80ern, und ich bin im 80. > Lebensjahr. Verschwende deine wenige verbleibende Zeit nicht an Mikroprozessoren und Software, die nur noch in Museen zu bewundern sind. Schau dir lieber mal an, was Arduino so zu bieten hat. Arduino ist eine völlig andere Herangehensweise, aber sie funktioniert, ist billig und macht Spaß. Und man kann damit ernsthaft benutzbare Sachen bauen.
Ich las: Monk schrieb: > Genau das ist doch die primäre Aufgabe des Disassemblers. Nun soll es aber Dissasembler geben, die das eben nicht können. Wenn ich den Nächsten, bzw. den Ersten, habe, der das kann, ist es ja gut. Ich bin gespannt was werden wird. LG Enk
Günter K. schrieb: > Nun soll es aber Dissasembler geben, die das eben nicht können. Dann ist es kein Disassembler.
Ich stelle mir vor, ich wäre 80 und würde meinen Urgroßenkeln meine eigenen selbst gebauten Computer präsentieren, aus 50 Jahre alten Bauteilen, mit komplett selbst geschriebener Software. Und dann kommt mein 12 jährige Urenkel und sagt: Opa, das ist langweilig. Schau dir mal meine 3D Simulation von der Drachenhöhle an. Man kann gegen Drachen kämpfen und die Prinzessin befreien. Verstehst du, was ich meine?
Günter K. schrieb: > Ich melde mich auch nochmal zu dem Herrn aus der ehemaligen DDR In der DDR war der Z80 (U880) recht populär, damit habe ich auch angefangen. Später kamen dann mit dem U881..886 (Z8) die µC. Als Entwicklungsversion gab es davon den UB8841, wo man extern 4kB EPROM anflanschen konnte. Den 6502 habe ich komplett verpaßt, Spielekonsolen waren nicht so mein Ding. Günter K. schrieb: > Nur, muss ich erst mal mit kleinen Programmen anfangen. Zum Beispiel ein > Uhrenprogramm, nur das Uhrenprogramm, noch ohne Synchronisation zum > DCF77; (... später, dann wohl.). Sowas macht man aber nicht mehr mit einfachen CPUs, sondern mit µCs, wo bereits alles in einem Chip sitzt, inklusive Flash Speicher und Bootloader. Richtig angefangen mit Basteln habe ich dann mit dem AT89C2051. Erst in Assembler, später in C.
Günter K. schrieb: > Nun soll es aber Dissasembler geben, die das eben nicht können. Das kann es nicht geben, denn wie schon geschrieben, ist es die "einzige" Aufgabe, Maschinencode, also Zahlen, in verständliche mnemotechnische Anweisungen zu übersetzen. Könnte ein Disassembler das nicht, wäre er kein Disassembler! ;-) ciao Marci
Peter D. schrieb: > Den 6502 habe ich komplett verpaßt, Spielekonsolen waren nicht so mein > Ding. Commodore und Spielkonsolen waren auch nicht mein Ding, aber die ersten 6502 hatten noch nichts damit zu tun. https://de.wikipedia.org/wiki/AIM-65 ohne Gehäuse und Netzteil, die waren Selbstbau.
:
Bearbeitet durch User
Ansonsten kann ich nur den Tipp wiederholen, einen modernen Prozessor bzw. uC zu verwenden. Auch diesen kannst Du in Assembler programmieren. Ich denke, in Verbindung mit den Dokus zu dem uC kommst du schon sehr nah an die Hardware heran. Da wird jedes Register, jeder Befehl auf unterster Ebene beschrieben. Arduiono ist da halt schon a Stückle weit weg von der "Hardware"(*). ciao Marci (*) Ihr wisst schon, was ich mit "Hardware" meine.
Hallo Monk, es geht mir darum, wie die Schaltung im Inneren funktioniert. 3D ist da auch schon interessant ja sogar begeiserungswert. Dann muss man sich mit den Pixeln beschäftigen (wirklich schwer). Doch im Kleinen, kommt das auch auf mich zu; Pixel für die Buchstaben. Ja Buchstaben, Ziffern, und Zeichen. LG Enk
:
Bearbeitet durch User
Günter K. schrieb: > Die 8-Zeilen-Routine, ist das die für den Singlestep (Einzelschritt)? Kann man auch durchlaufen lassen. Aber im Singlestep sieht man wie Y heruntergezählt und im Akku addiert wird. Auch wie das Z-Flag gesetzt und die Schleife beendet wird. > Ja, auch wenn Assembler dabei ist, wäre es ja interessant, mal selber > einen zu schreiben, ebenso einen Dissassembler. - Nun habe ich schon mal > gehört, dass beim Dissassembler, kein OP-Code angezeigt wird; gerade der > OP-Code ist ja so interessant und so lernt man besser Maschinensprache > zu verstehen. Da im Speicher kein Unterschied zwischen Maschinencode, Zahlen, Zeichen, usw. gemacht wird, kann ein einfacher Dissassembler das durchaus auch mal falsch interpretieren. Da muss der Mensch dann eingreifen. Beispiel: Im Speicher steht 4c das kann der Beginn eines JMP in Maschinencode sein. Kann auch die Zahl 76 sein. Kann auch der Buchstabe ›L‹ sein.
Hallo Marci W. Das es nur "mnemotechnische Anweisungen" machen würde, nur als mnemo, kann ich mir schon vorstellen, dass es das gäbe, es wäre mir nur zu wenig nützlich. Also brauche ich mir darum auch keine Gedanken zu machen, wenn die Wirklichkeit sowieso besser aussieht. LG. Enk.
Peter D. schrieb: > Richtig angefangen mit Basteln habe ich dann mit dem AT89C2051. Willkommen im Club. Die Grundlagen habe ich mit Z80 und 8051 gelernt, meine eigenen Konstruktionen begannen jedoch ebenfalls mit AT89C2051. Zum Lernen ist der gar nicht schlecht, weil er vom Aufbau her sehr nahe an den 8-Bit Lerncomputern ist. Nur halt alles in einem Chip wo man nicht rein gucken kann (man muss der Doku glauben).
Der TO sollte sich schon ueberlegen, ob er sich den Assembler/Disassembler selbst antun will: Zum einen gibt es gute Produkte (auch fuer umsonst), zum andern ist lexikalische Analyse auch nicht so prickelnd. Die einfachen Disassembler sind auch (meistens) dumm wie ein Stueck Brot: Suchen den OP-Code aus der Liste raus, analysieren die Operanden und korrigieren den PC zum naechsten Schritt. Eine richtige Code-Analyse macht kaum ein Programm (ghidra ist nicht so schlecht), trotzdem noch eine ziemliche Keulerei. Vielleicht wird das jetzt mit KI besser werden; ich sehe nur nicht, dass jemand viel Hexcode zum lernen sammelt. Mir ist das Endziel der Frage nicht klar: Computer-Architektur ist ein weites Feld, und ich glaube nicht, dass die Entwicklung und Aufbau eines Rechners (damit er die Blinkenlights bekommt) zielfuehrend ist (dazu ist das Feld viel zu weit). Ich wuerde dann so etwas wie Arduino (ist auch billig, selbst wenn Du die Orginalteile nimmst) oder Raspberry Pi benutzen. Der TO hatte auch geschrieben, dass er deutsch zum Lesen bevorzugen wuerde. Dann waere ein Arduino (z.b. der Arduino R4 mit Wifi und Blinkenlights) fuer einen 30Euroschein nicht so schlecht. Wie Uebliche, Debugging ist schlecht geloest.
Thomas W. schrieb: > Mir ist das Endziel der Frage nicht klar Ich kann (und möchte) nicht für Günter sprechen, aber manchmal lernt man einfach nur um zu lernen. Daran kann ich nichts Falsches erkennen.
:
Bearbeitet durch User
Thomas W. schrieb: > Wenn es nur das Look-and-Feel sein soll, reicht auch ein PiDP-11: Ein > Nachbau der PDP-11 (grosses Problem waren die schoenen Taster/Schalter). Das erinnert mich an die alten Zeiten wo man bei Diskussionen mit den DEC Leuten Papier und Bleistift bereit halten musste, um Oktal in Hex und umgekehrt umzurechnen. ;-)
Norbert schrieb: > > Da im Speicher kein Unterschied zwischen Maschinencode, Zahlen, Zeichen, > usw. gemacht wird, kann ein einfacher Dissassembler das durchaus auch > mal falsch interpretieren. Da muss der Mensch dann eingreifen. > > Beispiel: > Im Speicher steht 4c > das kann der Beginn eines JMP in Maschinencode sein. > Kann auch die Zahl 76 sein. > Kann auch der Buchstabe ›L‹ sein. Ist das bei der Harvard-Architektur auch so? Oder kann man eine Nebenspeicherung machen, für den Fall, dass man selber das Programm ändern möchte? Oder bei der Firmware?
Günter K. schrieb: > Ist das bei der Harvard-Architektur auch so? Das ist unabhängig von der Architektur. > Oder kann man eine Nebenspeicherung machen Den Begriff kennt nicht mal Google. Formuliere die Frage nochmal anders.
Hans-Georg L. schrieb: > Das erinnert mich an die alten Zeiten wo man bei Diskussionen mit den > DEC Leuten Papier und Bleistift bereit halten musste, um Oktal in Hex > und umgekehrt umzurechnen. ;-) Mich an Kollegen, die für IBM Host in 5cm dicken Hex Dump Papierstapeln Fehler gesucht und gefunden haben, und die Korrektur dann per Hotfix in eine Patch Area geschrieben und den Sprung dahin in den Code gehackt haben. Bei laufender Maschine und Programm wohlgemerkt. Ein echter "Hotfix". Mein Respekt war und ist riesig.
:
Bearbeitet durch User
Günter K. schrieb: > Norbert schrieb: >> Beispiel: >> Im Speicher steht 4c ... Ja damals hieß das auch 4c ... > Ist das bei der Harvard-Architektur auch so? > Oder kann man eine Nebenspeicherung machen, > für den Fall, dass man selber das Programm ändern möchte? > Oder bei der Firmware? Wenn ich mir eine Liste mache, für den Speicherraum auf dem zusätzlich das (selbstgeschriebene Assembler) für den Disassembler als (eigene "Firmware") oder mit Sonder-REM-Befehlen ausstatte? Geht das oder gibt es das?
Hallo Monk, Mit "Nebenspeicherung" meine ich, Dass wenn ich zB. selbst ein Programm schreibe, dass ich dann nebenbei auf anderer Stelle Zeichen setze, (Natürlich passend in der Reihenfolge an anderer Stelle) welche natürlich im laufenden Programm nicht gebraucht werden, zum disassembeln aber wohl(wird wohl jeweils in 1 Byte passen). Und schon somit vielleicht sogar Fehler gefunden, andererseits gibt es die Möglichleit (was aber nicht sollte) selber weitere Fehler zu machen. Ich glaub bei Linux gibt es sowas ähnliches, kann aber noch kein Linux.
Zum Lernen was da in so einem Computer passiert, und was die einzelnen Ebenen von Hardware bis zum Betriebssystem so machen, kann ich 'From NAND to Tetris' (https://www.nand2tetris.org/) empfehlen. Das Buch dazu heisst 'The Elements of Computing Systems: Building a Modern Computer from First Principles'. Da passiert genau das was der Titel sagt: man fängt mit einfachen NAND-Gattern an, baut sich dann kompliziertere Dinge, eine ALU, und dann eine CPU. Die programmiert man sich dann in Maschinensprache, bevor man sich einen Assembler, einen Compiler und ein OS baut, um an Ende was zu haben wo eigene Programme drauf laufen (Tetris wird übrigens nicht erklärt...). Das ganze arbeitet allerdings nicht auf echter Hardware, sondern in einem Simulator. Wenn man will, kann man das aber trotzdem in einen FPGA giessen, es gibt einen Reihe von Projekten die das vorgemacht haben. Man muss auch Englisch können. Der Assembler und der Compiler werden in einer Sprache der eigenen Wahl geschrieben, man sollte also programmieren können. Vorteil: man wird didaktisch vernünftig durch die ganzen Stufen geführt, und muss sich nicht alles selber erarbeiten oder rausbekommen wo man welche Informationen bekommt.
:
Bearbeitet durch User
Günter K. schrieb: > Mit "Nebenspeicherung" meine ich ... sorry, ich verstehe nur Bahnhof. Vielleicht kann jemand anderes die Frage beantworten.
Monk schrieb: > Günter K. schrieb: >> Mit "Nebenspeicherung" meine ich ... > > sorry, ich verstehe nur Bahnhof. Vielleicht kann jemand anderes die > Frage beantworten. Ich vermute mal, er meint Kommentare:
1 | NOP ; mache nichts |
1 | foo(s, "Test\n"); // gib einen Text aus |
Günter K. schrieb: > Oder kann man eine Nebenspeicherung machen, Ich befuerchte, er will Side-Effects oder self-modifying Code verwenden. Und dann kommt man zu "The Story of Mel": http://www.catb.org/jargon/html/story-of-mel.html Hat sogar eine eigene Wikipedia-Seite: https://en.wikipedia.org/wiki/The_Story_of_Mel
Monk schrieb: > Günter K. schrieb: >> Mit "Nebenspeicherung" meine ich ... > > sorry, ich verstehe nur Bahnhof. Vielleicht kann jemand anderes die > Frage beantworten. I habe das so verstanden das es eine (Maschinen)Sprache gibt (geben sollte) die unbenutzten Platz benutzt (Bits,Bytes), der bei Ausführung überlesen wird und durch irgendwelche Informationen für einen Disassembler gefüllt werden kann. Wäre vielleicht theoretisch möglich bei einer CPU die mehrere Codes als NOP interpretiert. So etwas ist mir bisher noch nicht untergekommen und den Sinn dahinter erschließt sich mir auch nicht ... Ich kann aber auch völlig falsch liegen ...
Hallo Monk und alle Entschuldigt bitte. Zwar gibt es das Wort Nebenspeicherung nicht, - aber selbsterklärend gemeint. Wenn man ein Programm scheibt, gibt es ja die REM-Befehle. - So kann ich ja, nebenbei an anderer Stelle "paralell" an einem anderen Stelle aufschreiben, welche Daten-Art es ist. Ich vermute, dass das irgendjemand versteht; - ich selbst bin ja noch lange nicht so weit, um Programme zu schreiben. LG. Enk.
Günter K. schrieb: > Hallo Monk und alle > > Entschuldigt bitte. > Zwar gibt es das Wort Nebenspeicherung nicht, - aber selbsterklärend > gemeint. > Wenn man ein Programm scheibt, gibt es ja die REM-Befehle. - So kann ich > ja, nebenbei an anderer Stelle "paralell" an einem anderen Stelle > aufschreiben, welche Daten-Art es ist. > Ich vermute, dass das irgendjemand versteht; - ich selbst bin ja noch > lange nicht so weit, um Programme zu schreiben. > LG. Enk. Du meinst Kommentare ? Was hat das aber mit parallel und nebenbei zu tun ?. Parallel und Nebenläufig sind feste Begriffe in der Informatik.
Man kann komplette Quelltexte, auch beliebigen andere Daten, im Programmspeicher ablegen, falls du das meinst.
Liebe Leute, vielen vielen Dank, für die guten Tipps. Ich melde mich wieder, wenn ein Computer zu diesem Zweck läuft. Vermutlich wird es ein 6502, Z80 oder ein 8086 sein, vielleicht sogar mit 64 Bit. Mit lieben Grüßen Enk
Günter K. schrieb: > vielleicht sogar mit 64 Bit. das ist ein Witz, oder? > 6502, Z80 oder ein 8086 Wo bekommst du die her?
Beitrag #7754962 wurde von einem Moderator gelöscht.
Günter K. schrieb: > vielleicht sogar mit 64 Bit. Ja klar das muss heute schon sein. In der Überschrift schreibst du von einfacher CPU und nun kommst du mit 64 Bit um die Ecke. Ich glaube dir kein Wort mehr.
Das wärs doch .. eine bastelfreundliche 64bit CPU im 40pol DIL Gehäuse. Vielleicht noch mit Fenster, dann wäre alles sichtbar und man könnte ihr bei der Arbeit zuschauen ...
Hallo Günter, Günter K. schrieb: > 3D ist da auch schon interessant ja sogar begeiserungswert. ich dachte, Du würdest gerne die Grundlagen der Prozessortechnik und deren Programmierung lernen?! Bis zu 3D ist da von den ersten Schritten aber schon ein relativ weiter Weg. Und solche Sachen wirst Du dann sicher nicht mehr auf Assemblerebene programmieren (wollen). Was mir noch eingefallen ist: zur Mikroprozessorprogrammierung gehören z.B. auch Kenntnisse der binären Logik und Kenntnisse der Programmierung allgemein. Da wäre dann ein möglichst ausführliches Tutorial und ein Einstiegsbuch in die Assemblerprogrammierung (evtl. auch HW-unabhängig) geeignet. Und dazu die Doks der jeweiligen Architektur, dann bist Du gut gerüstet, und kannst ne ganze Menge lernen und ausprobieren. ;-) ciao Marci
Günter K. schrieb: > vielleicht sogar mit 64 Bit Ich finde das gut! Sehe aber keine Übereinstimmung mit den vorherigen "Ansagen"
Monk schrieb: > Günter K. schrieb: >> vielleicht sogar mit 64 Bit. > > das ist ein Witz, oder? >> 6502, Z80 oder ein 8086 > > Wo bekommst du die her? AX, BX, CX, DX = 4 * 16 = 64 Bit. 🤪
Günter K. schrieb: > Ich melde mich wieder, wenn ein Computer zu diesem Zweck läuft. Computer? > Vermutlich wird es ein 6502, Z80 oder ein 8086 sein, Also ich finde, der Z80 hat die übersichtlichste Struktur und Befehle und die einfachste HW-Struktur nach außen. Aber da bin ich voreingenommen: war mein 1. Bastelprozessor. > vielleicht sogar mit 64 Bit. Abgesehen davon, dass es die von dir genannten Prozessoren (alle aus den Siebzigern und Achtzigern, also urururalt!) selbstverständlich nicht in 64-Bit gibt, würde es auch absolut keinen Sinn machen, mit einem 64-Bitter anzufangen.Und ob man für die Prozessoren Entwicklerboards kriegt, wage ich auch stark zu beweifeln (jedenfalls nicht neu). Oder willst Du Dir so ein Prozessorboard selbst entwickeln? Jetzt mal Butter bei de Fische: WAS willst du nun eigentlich genau machen? Das passt alles nicht mehr zusammen, was Du schreibst. Und aus welchem Metier kommst Du denn beruflich? Hast Du technische/elektrische/elektronische Vorkenntnisse? ciao Marci
Hans-Georg L. schrieb: > Was hat das aber mit parallel und nebenbei zu tun ?. Günter meint wohl, dass man Kommentare NEBEN den Befehl schreiben kann!? Aber seine Aussagen lassen ahnen, dass er doch noch ziemlich am Anfang steht. Vllt. warten wir mal, bis er unsere Postings kommentiert hat. ciao Marci
Günter K. schrieb: > Ich melde mich wieder, wenn ein Computer zu diesem Zweck läuft. Soooo lange können wir nicht warten ;-) <SCNR> ciao Marci
Monk schrieb: > Vielleicht gefallen dir diese Webseiten zum Thema: > > http://stefanfrings.de/avr_workshop/index.html > http://stefanfrings.de/mikrocontroller_buch/index.html Na Stefan, jetzt im neuen Namen annonym unterwegs?
Monk schrieb: > Ich bin sicher, dass die Generationen nach uns ganz hervorragende > Entwickler werden können, ohne jedes Bit mit Namen zu kennen Nö. Die Allermeisten sind oberflächliche Sciptkiddies die weder wirklich Ahnung noch Erhgeiz haben, was wirklich Gutes zu erschaffen. Da werden nur monströse Frameworks zusammengewürfelt und Java oder ander Quark reingerührt. Hervoragende Leute sind damals wie heute eine sehr kleine Minderheit. Das ist schon rein definitionsgemäß so. Im Club der Millionäre ist nur der Milliardär herausragend.
Günter K. schrieb: > Ja, auch wenn Assembler dabei ist, wäre es ja interessant, mal selber > einen zu schreiben, ebenso einen Dissassembler. - Nun habe ich schon mal > gehört, dass beim Dissassembler, kein OP-Code angezeigt wird; Dann ist es kein DISassembler sondern nur ein Hexeditor! > gerade der > OP-Code ist ja so interessant und so lernt man besser Maschinensprache > zu verstehen. Aber nicht in erster Linie mit dem Disassembler. > Ich melde mich auch nochmal zu dem Herrn aus der ehemaligen DDR, mit > seinem Junior-Computer hatte, der noch mit DM bezahlt wurde. - Der > RODNEY ZAKS schrieb auch Bücher über den 6502, -hier in diesem Falle ist > es der Z80. Vergiss den ollen Kram! Nimm was ANSATZWEISE aktuelles. AVR wure schon genannt, würde ich auch empfehlen. Einfach, leistungsfähig, weit verbreitet.
Falk B. schrieb: > Na Stefan, jetzt im neuen Namen annonym unterwegs? Bist aber spät drauf gekommen. Stefan ist zwischenzeitlich unter sogar noch einem weiteren Pseudonym aufgetreten. Stichwort: "Grenzerfahrung".
Günter K. schrieb: > Entschuldigt bitte. > Zwar gibt es das Wort Nebenspeicherung nicht, - aber selbsterklärend > gemeint. > Wenn man ein Programm scheibt, gibt es ja die REM-Befehle. - So kann ich > ja, nebenbei an anderer Stelle "paralell" an einem anderen Stelle > aufschreiben, welche Daten-Art es ist. Du meinst wohl einen Kommentar? Das ist nur Text, der nicht im Controller landet, den filtert der Compiler/Assembler raus. > Ich vermute, dass das irgendjemand versteht; - ich selbst bin ja noch > lange nicht so weit, um Programme zu schreiben. Und wirst es vermutlich nie sein. Mein ernstgemeinter Rat. Laß es. Geh ins Museeum, ggf. HNF oder andere und schau dir die Dinge an, schwärme und träume. Aber verplemper nicht deinen Lebensabend mit einer Sache, die man in dem Alter nicht mehr wirklich lernt oder gar genießen kann. Beitrag "Heinz Nixdorf Musemusforum in Paderborn" Wir hatten hier schon mehrere Leute in ähnlicher Situation, die von großen Projekten und Programmierung schwärmten, aber meistens nur über ihre eigenen Füße gestolpert sind. Ich weiß es, ich hab mehr als einmal (viel zu lange) mitgemacht. Beitrag "Re: Sende/Empfangsvorgang mittels nur 1St. µC" Beitrag "Re: Mehr als 58 Bytes mit E32-868T drahtlos übertragen" Ein alter Bär lernt keine neuen Kunststücke mehr. Ist leider so.
Falk B. schrieb: > Na Stefan, jetzt im neuen Namen annonym unterwegs? Wieso anonym? Ich nutze den Account seit 4 Jahren.
Thomas Z. schrieb: > Ja klar das muss heute schon sein. In der Überschrift schreibst du von > einfacher CPU und nun kommst du mit 64 Bit um die Ecke. Ich glaube dir > kein Wort mehr. Entweder ein Troll oder schon leichte Demenz.
Thomas Z. schrieb: > Ja klar das muss heute schon sein. In der Überschrift schreibst du von > einfacher CPU und nun kommst du mit 64 Bit um die Ecke. Was man wohl mit einem 64 Bit großen Speicher so rechnen kann?
:
Bearbeitet durch User
Falk B. schrieb: > Aber verplemper nicht deinen Lebensabend mit einer Sache, > die man in dem Alter nicht mehr wirklich lernt oder gar genießen kann. ... > Wir hatten hier schon mehrere Leute in ähnlicher Situation, die von > großen Projekten und Programmierung schwärmten, aber meistens nur über > ihre eigenen Füße gestolpert sind. Ich weiß es, ich hab mehr als einmal > (viel zu lange) mitgemacht. > ... > > Ein alter Bär lernt keine neuen Kunststücke mehr. Ist leider so. Hallo Falk, Das kann ich aber pauschal so nicht stehen lassen !!! Ja, man wird im Alter langsamer, müder und vergesslicher. Dafür ist ja kein Chef oder Kunde mehr da der einem antreibt. Nur der eigene Wille und den kannst du keinem absprechen. Wer gelernt hat zu lernen und sich weiter zu bilden, kann das ein Leben lang.
Christoph M. schrieb: > Was man wohl mit einem 64 Bit großen Speicher so rechnen kann? Bis 18 Trillionen zählen.
Mario M. schrieb: > Christoph M. schrieb: >> Was man wohl mit einem 64 Bit großen Speicher so rechnen kann? > > Bis 18 Trillionen zählen. Hallo Mario, und Christoph M., ja ich verstehe was Ihr meint. Man kann Speicherplätze Logarythmisch zuordnen, und so auf dem Wege durch addieren multiplizieren. Ein 64 Bit großer Speicher ist gerade mal 8 Byte groß. :-)) Es darf auch mal gelacht werden. LG. Enk
Günter K. schrieb: > Ein 64 Bit großer Speicher ist gerade mal 8 Byte groß. :-)) Oder etwas mehr als drei Bierkästen! https://www.youtube.com/watch?v=phhyoHNVOpU#t=25s
>Ein 64 Bit großer Speicher ist gerade mal 8 Byte groß. Das ist natürlich völlig ausreichend für deinen Anwendungsfall: https://ub.fnwi.uva.nl/computermuseum/phywe.html Hier der Simulator: Beitrag "Re: Reparaturanfrage CPU-Modellrechner Phywe"
:
Bearbeitet durch User
Falk B. schrieb: > Aber verplemper nicht deinen Lebensabend mit einer Sache, > die man in dem Alter nicht mehr wirklich lernt Autsch, du begibst dich auf seeehr dünnes Eis! Denkst du im Ernst, die älteren Leute könnten sowas nicht mehr lernen? Ich hoffe jedenfalls, dass ich im Alter noch fit genug sein werde, um so nen Pipifax noch in mein Hirn zu kriegen... ciao Marci
Marci W. schrieb: > Soooo lange können wir nicht warten ;-) <SCNR> OK. :-) Also, ich habe eine Z80, und einen 6502 Junior-Computer. In den Z80 Micro-Professor I, hatte ich im Op-Code ein Programm abgetippt. Es ist ein Uhren-Programm, und das funktionierte. Bei jedem Sekundentakt klackte der Lautsprecher; in der 6-Stelligen Display-Anzeige, erschien die zu dem Progamm gehörende Uhrzeit und wurde auf diesem Wege hochzählend angezeigt. Die Uhrzeit zählt in Sekunden, Minuten und Stunden hoch. Diesen Computer habe ich zur Zeit nicht hier. Es hat nur 72 Speicherplätze, die ich Byte für Byte eingegeben hatte; also die Programmspeicherplätze. Eine Periferie hat der Computer noch nicht. An einem anderen Ort, liegt er in eine Kiste. Morgen hole ich ihn zurück. Weil das Progamm so klein ist, könnte man das auch von Hand Disassemblieren. In dem Buch von Rodnay Zacks, sind alle Befehle aufgeführt. Aber leider nicht in der Zahlenfolge der Hexadezimalen Zahlen. Der erste Eintrag lautet: "21", das müsste ein Befehl sein. Leider finde ich den Befehl nicht. Ach noch was, da habe ich ein Buch für ds wirden 8086. Für ihn, habe ich Lehrprogramme. Aber leider, habe ich die Funktion -im Ganzen- auch noch nicht verstanden. Es wird geschrieben, dass man das Programm nur in den Editor laden braucht. Da muss aber noch mehr sein; also der eigentliche Assembler selbst. Leider verstehe ich den Begriff: "Direktive" nicht; das sind Anweisungen an den Assembler. Also wo, wird -genau- wohin, etwas angewiesen? Daher war meine Frage nach einen "nakten" Computer. Nur so, kann man das alles verstehen lernen. Für heute mache ich Schluss, gute Nacht. LG. Enk
:
Bearbeitet durch User
Günter K. schrieb: > In dem Buch von Rodnay Zacks, sind alle Befehle aufgeführt. > Aber leider nicht in der Zahlenfolge der Hexadezimalen Zahlen. > Der erste Eintrag lautet: "21", das müsste ein Befehl sein. 0x21 ist LD HL, nnnn. Vor 45 Jahren habe ich per Hand assemblieren muessen. Eine kleine Tabelle findest Du in: https://k1.spdns.de/Vintage/Schneider%20CPC/Das%20Schneider%20CPC%20Systembuch/z175.htm oder: http://www.breakintoprogram.co.uk/programming/assembly-language/z80/z80-opcodes > Ach noch was, da habe ich ein Buch für ds wirden 8086. Hilft Dir nicht, da prozesorspezifisch.
Günter K. schrieb: > An einem anderen Ort, liegt er in eine Kiste. > Morgen hole ich ihn zurück. Nicht nötig. https://www.heinpragt-software.com/mpf-1-emulator/
Günter K. schrieb: > Ach noch was, da habe ich ein Buch für ds wirden 8086. > Für ihn, habe ich Lehrprogramme. nun dann würde ein XP aufsetzen (heute vermutlich in einer VM) Da gibt es ein nettes Programm debug. Damit kannst du kleine Assemblerprograme in 8086 asm code eingeben, laden und speichern. Da ist ein kleiner Zeilen-Assembler, ein Lister (Disassembler) und diverse andere Hilfsfunktionen dabei. Danach kannst dann mal den TASM von Borland probieren. Der ist inzwischen frei downloadbar und es existiert auch eine 32 Bit Version die man unter W10 aufrufen kann. Die Handbücher von Borland sind super aber halt auf Englisch. Die sind im Internet Archiv abrufbar. Direktiven sind Steueranweisungen für den Assembler (.ORG,.EQU, usw) Dein Z80 0x21 bedeutet LD HL,<xxxx> beim 8085 wäre es LXI H,<xxxx> https://en.wikipedia.org/wiki/Debug_(command) https://winworldpc.com/product/turbo-assembler/5x https://clrhome.org/table/
:
Bearbeitet durch User
Günter K. schrieb: > Der erste Eintrag lautet: "21", das müsste ein Befehl sein. > Leider finde ich den Befehl nicht. Ein Buch brauche ich dafuer nicht. :) Das "21" steht fuer LD HL, mit literaler 16 bit Konstante. Die Konstante steht in den folgenden 2 Bytes.
Marci W. schrieb: >> Aber verplemper nicht deinen Lebensabend mit einer Sache, >> die man in dem Alter nicht mehr wirklich lernt > > Autsch, du begibst dich auf seeehr dünnes Eis! Meine Spezialität! ;-) > Denkst du im Ernst, die > älteren Leute könnten sowas nicht mehr lernen? Das denke ich nicht nur, das kann ich auch mehrfach beweisen. > Ich hoffe jedenfalls, dass ich im Alter noch fit genug sein werde, um so > nen Pipifax noch in mein Hirn zu kriegen... Das kannst du dir wünschen, vielleicht wird es auch so sein, aber die Masse der Leute ist es nicht.
Günter K. schrieb: >> Ach noch was, da habe ich ein Buch für ds wirden 8086. >> Für ihn, habe ich Lehrprogramme. Thomas Z. >nun dann würde ein XP aufsetzen (heute vermutlich in einer VM) >Da gibt es ein nettes Programm debug. Einfacher geht's vielleicht mit Online-Prozessoren: https://yjdoc2.github.io/8086-emulator-web/compile
Günter K. schrieb: > wie eine Assemblerliste funktionieren kann, > wenn er auf dem Bildschirm steht. Es müssen doch Prog.-Routinen da sein, > die das bewerkstelligen; Und woraus sollen die Programm Routinen bestehen? ASM ist die unterste Verarbeitungsebene. ASM ist direkt in Hexcodes übersetzbar. Der (Makro) Assembler macht es nur dem Menschen ein wenig ansehnlicher und kennt ein paar grundlegende Vereinbarungen damit man nicht nur mit 'magic numbers' und kryptischen Speicheradressen arbeiten muss, die keiner versteht der den Code sieht. Du kannst aber den ASM Code auch anhand der Befehlsreferenz in die Hex Zahl übersetzen und direkt in die Speicherstelle schreiben. So habe ich in der Lehre mein erstes 8085 System programmiert. Dipschalter an A0-15 und D0-7 und eine /WR Taste. Geht, ist aber maximal ineffizient und vollkommen unwartbar. Darunter kommt nur noch Hardware. Befehl aus Speicher holen, Befehl dekodieren, Befehl ausführen. Befehl ausführen besteht meist aus weiteren Speicherzugriffen, dem herumschieben in Register und auslösen einer Hardwareaktion. 'NOP' z.B. setzt einfach den Programmcounter einen hoch und wartet auf den nächsten 'Befehl holen' Zyklus. Ein 'ADD A,B' addiert unter zuhilfename des Akkumulator und eines Hilfsregisters die zwei Werte und speichert das Ergebniss im Akku' Ein 'Jump 0x1234' besteht aus dem Befehl 'Jump' der die Hardware anweist das die nächsten zwei Speicherstellen in den Programm Counter geladen werden und dort weitergemacht wird. Ein 'conditional JMP' macht das Srungergebnis von einem Zustand abhängig. Das kann z.B. der Status des Carry Bits sein, das den Überlauf der vorrangegangenen Rechenoperation enthält. Z.B. das oben erwähnte 'Add a,b' Steht alles im Detail in der Befehlsübersicht der jeweiligen CPU. Moderne CPU sind weit ausgefuchster. Die willst Du nicht im Detail verstehen müssen. Günter K. schrieb: > Es steht in meinem Buch nicht drin. - "Es ist Rede von Direktiven? Google: Direktive = Anweisung. WELCHES Buch? Irgendsoein verstaubter Schinken aus dem Pleistozän, geschrieben von einem verkopften Hochschulprofessor der einfach Dinge äußerst kompliziert beschreiben kann?
Marci W. schrieb: > Autsch, du begibst dich auf seeehr dünnes Eis! Denkst du im Ernst, die > älteren Leute könnten sowas nicht mehr lernen? Es sollte allgemein bekannt sein dass die Lernfähigkeit des Gehirns ab 25-30 Jahren steig abnimmt. D.h. es geht nicht um können oder nicht können sondern darum wie leicht oder schwer es ist, etwas Neues zu lernen.
Günter K. schrieb: > Also, ich habe eine Z80, und einen 6502 Junior-Computer. Na bitte, die Hardware hast du doch schon. > Es hat nur 72 Speicherplätze, die ich Byte für Byte eingegeben hatte; > also die Programmspeicherplätze. Ein Wort zum Sprachgebrauch: ein Programm hat keine "Programmspeicherplätze". Der Prozessor hat die und zwar für die von dir genannten Typen in externem Speicher, entweder ROM (unveränderlich) oder RAM (veränderlich aber dafür flüchtig - Strom weg, Daten weg). Ein Programm besteht aus Instruktionen, auf niedrigster Ebene ist das Maschinencode. Und natürlich hat ein Programm dann auch eine Länge. Und zwar wahlweise in Bytes (Maschinencode) oder in Anzahl an Instruktionen. Die Übersetzung von Instruktionen (wahlweise auch "Befehle", "Anweisungen", "Mnemonics" etc. genannt) in Maschinecode ist ein vergleichsweise sturer Vorgang, den man im Regelfall einem dafür gemachten Programm überläßt: dem Assembler. Normalerweise ist diese Codierung 1:1, so wird "LD HL, #1234H" immer in "21 34 12" (alles Hexadezimal) übersetzt. Tricky wird es bei Sprüngen, wahlweise absolut oder relativ. Absolute Sprünge brauchen eine absolute Adresse, man muß also wissen an welcher Stelle im Speicher der Zielbefehl steht. In einem Assember-Programm verwendet man dazu Sprungmarken (auch "Label"), von Hand wird das wie gesagt etwas aufwendig. Eine Instruktion wird idR. in mehrere Bytes übersetzt. Die Länge eines Programms in Bytes ist also idR. größer als die Anzahl an Instruktionen. > Da muss aber noch mehr sein; also der eigentliche Assembler selbst. > Leider verstehe ich den Begriff: "Direktive" nicht; > das sind Anweisungen an den Assembler. > Also wo, wird -genau- wohin, etwas angewiesen? Eine Direktive erzeugt meist keinen Maschinencode, sondern steuert den Übersetzungvorgang. Z.B. haben Z80 Assembler eine Direktive "ORG nnnn". Der Assembler wird damit angewiesen, den Maschinencode für die nächste Instruktion auf die Adresse nnnn zu codieren. Eine andere häufig gebrauchte Direktive ist "DB" ("data byte"). Die kann man benutzen, um Daten wie z.B. Strings in den Maschinencode zu schreiben. Beipiel: DB "Hello World", 13H, 10H, 0 erzeugt die Bytes 48 65 6c 6c 6f 20 57 6f 72 6c 64 0d 0a 00. Für einen gebrauchsfähigen nullterminierten String mit CRLF Zeilenende. Dessen Adresse kann man dann in ein Register laden und die Routine für die Bildschirmausgabe aufrufen. Beipiel:
1 | LD HL, #1000H |
2 | CALL conout ; conout = console output, Textausgabe |
3 | ... |
4 | |
5 | ORG 1000H |
6 | DB "Hello World", 13H, 10H, 0 |
> Daher war meine Frage nach einen "nakten" Computer. > Nur so, kann man das alles verstehen lernen. Dazu brauchst du keinen nackten Computer. Ein Emulator auf dem PC tuts auch. Und etwas Infrastruktur darf der gerne mitbringen. Z.B. um Ein- und Ausgaben zu machen. Ein C64 Emulator für den 6502 oder ein CPM-Emulator für den Z80 sind z.B. als Spielwiese sehr gut geeignet.
Meine Empfehlung an den TE wäre: Lernen wie grundsätzlich ein Rechner funktioniert. Und zwar mir einem akademischen Micro/Tiny Rechner für den es einen winzigen Assembler gibt. Mit einfachstem Stromlaufplan. Da gibt es ein paar. Ich müsste die konkret aber erst raussuchen. Damit kann man relativ einfach lernen, wie überhaupt aus Elektronik ein Rechner entsteht der ein Programm ausführen kann. Das ganze an einem echten, wenn auch alten, Rechner zu machen ist unnötig aufwendig.
:
Bearbeitet durch User
Michael schrieb: > Günter K. schrieb: >> wie eine Assemblerliste funktionieren kann, >> wenn er auf dem Bildschirm steht. Es müssen doch Prog.-Routinen da sein, >> die das bewerkstelligen; > > Und woraus sollen die Programm Routinen bestehen? > ASM ist die unterste Verarbeitungsebene. > ASM ist direkt in Hexcodes übersetzbar. Damit ignorierst Du alle Arbeiten von Maurice Wilkes, der 1951 das Konzept des Microprogramming entwickelt hat. Und fast alle CPUs, die Du heute als Mikroprozessor bezeichnen wuerde, sind mikroprogrammiert (ausser der 6502, die hat ein direktes Steuerwerk). Und Du hast schon das Elend mit den Meltdown, Spectre, Retbleed vergessen oder verdraengt? Die "Loesung" war ein Patch des Microcodes, nicht des Betriebsystemes. Bei unserer VAX780 wurde das Microprogramm beim Boot in die CPU geladen, unter der Console durch eine PDP11 :-). Falls der TO noch mitliest: Der deutsche Wikipedia-Artikel ist zwar Mah, erklaert aber ungefaehr worum es dabei geht (https://de.wikipedia.org/wiki/Mikroprogramm)
Motopick schrieb: > Günter K. schrieb: > >> Der erste Eintrag lautet: "21", das müsste ein Befehl sein. >> Leider finde ich den Befehl nicht. > > Ein Buch brauche ich dafuer nicht. :) > Das "21" steht fuer LD HL, mit literaler 16 bit Konstante. > Die Konstante steht in den folgenden 2 Bytes. Ich auch! Das gehoert alles in die Schublade "Unnoetiges Wissen"
Moin, Günter K. schrieb: > Der erste Eintrag lautet: "21", das müsste ein Befehl sein. > Leider finde ich den Befehl nicht. Ich mutmasse mal: 3 Byte spaeter steht F9 - das waere dann eine Sequenz um den Kellerspeicherzeiger zu initialiseren... Gruss WK
Thomas W. schrieb: > Und fast alle CPUs, die Du > heute als Mikroprozessor bezeichnen wuerde, sind mikroprogrammiert Tatsächlich sind heutige Mikroprozessoren nicht im klassischen Sinn mikroprogrammiert, ausser sie sind aus dem Pleistozän übrig. Nur bei Microcontrollern mag das noch signifikant sein. Die x86 haben zwar noch ein Mikroprogramm, das wird aber nur für sehr komplexe oder sehr seltene Befehle genutzt. RISCs wie ARM nutzen keines - das war ja gerade der Sinn der Sache.
:
Bearbeitet durch User
Günter K. schrieb: > Also, ich habe eine Z80, und einen 6502 Junior-Computer. > > In den Z80 Micro-Professor I, hatte ich im Op-Code ein Programm > abgetippt. > Es ist ein Uhren-Programm, und das funktionierte. Da hast Du doch genau das was Du suchst. Der MicroProfessor ist ein super Lernsystem, wenn es um die absoluten Grundlagen geht, und wird genau dafür heute noch eingesetzt. Das Ding stammt aus den '80ern, wurde aber bis vor ein paar Jahren noch hergestellt. https://de.wikipedia.org/wiki/Microprofessor_I https://micro-professor.org/ Besorg Dir die original Anleitungsbücher und arbeite die durch. Da sind die Grundlagen erklärt, wie man mit Strom zwei Zustände darstellen kann ("an" und "aus"), wie man mit mehrmals zwei Zuständen Informationen codieren kann, die Architektur eines Mikroprozessors, Maschinenbefehle, und schlußendlich auch die Möglichkeiten sich das Leben einfacher zu machen (höhere Programmiersprachen, BASIC). Vom Fernlehrinstitut Christiani gab es Lehrgänge, die auf dem MPF-1 basieren. Die sind nochmal ausführlicher und einfacher erklärt als das originale Handbuch. Vielleicht findet man die auch irgendwo online.
:
Bearbeitet durch User
Monk schrieb: > Falk B. schrieb: >> Na Stefan, jetzt im neuen Namen annonym unterwegs? > > Wieso anonym? Ich nutze den Account seit 4 Jahren. Interessant. Der Monk alias Stefan F alias Whoever wird "enttarnt", neudeutsch "exposed" und schon ist sein Account deaktivert oder gar gelöscht, sodaß seine Beiträge nicht mehr als angemeldeter Teilnehmer sondern nur noch als Gast erscheinen. Was sagt uns das?
Soul E. schrieb: > aber bis vor ein paar Jahren noch hergestellt. > https://de.wikipedia.org/wiki/Microprofessor_I Markteintritt 1981. OMG! Was für echte Hardcorefreaks. Und ich frage mich, wer da von wem mal wieder kopiert hat? https://de.wikipedia.org/wiki/LC80 Markteintritt 1983. Überholen ohne Einzuholen! ;-) https://de.wikipedia.org/wiki/%C3%9Cberholen_ohne_einzuholen
Moin, Falk B. schrieb: > Was sagt uns das? Dass man den Kollegen, sofern es einen interessiert, doch auch sehr einfach ohne "deine Enttarnung" hier erkennen kann, egal mit welchem und wie altem oder ganz neuen Alias. Aber was bringt einem das? Gruss WK
> https://de.wikipedia.org/wiki/LC80 > > Markteintritt 1983. Schmeichler ;-), 83 begann die Entwicklung, vertrieben wurde die Mappe ab 1984. Ich erinnere mich noch an die spitze Bemerkung eines Kurators der Technischen Sammlungen Dresden (damals "Polytechnisches Museum") mit der dieser den "Neuzugang" seinen Besuchern vorstellte - das war nämlich auch 1984. Also gleich aus der Entwicklung in das Museum - wegweisend für die DDR-Elektronikproduktion. ;-) Wobei der Kurator übersah, das technische Ausstellung auch einen Bildungsauftrag neben der Vermittlung von Historie haben und das es durchaus Sinn macht, einen Experimentiercomputer in die Sammlung aufzunehmen. Die Bezeichnung Homecomputer im Vergleich zum C64 oder Atari ST ist da natürlich fehl am Platz. Und damit gleich ein Hinweis auf die Alt-Computerausstellung VCFB dieses Wochenende in Berlin: https://vcfb.de/2024/ > Überholen ohne Einzuholen! ;-) Ja, der Klassiker realsozialistischer Logik. In Abwandlung dazu " Wo wir sind ist vorn. Und wenn wir hinten sind, ist hinten vorn !!!" ;-)
Bradward B. schrieb: > Und damit gleich ein Hinweis auf die Alt-Computerausstellung VCFB dieses > Wochenende in Berlin: https://vcfb.de/2024/ Oh nein, noch eine Geronten-Veranstaltung. Reichen die AFU Flohmärkte nicht?
Falk B. schrieb: > Soul E. schrieb: >> https://de.wikipedia.org/wiki/Microprofessor_I > > Markteintritt 1981. > > https://de.wikipedia.org/wiki/LC80 > > Markteintritt 1983. > > ... ich frage mich, wer da von wem mal wieder kopiert hat? Naja. Das Konzept wurde sicherlich kopiert. Aber Konzepte sind für sich nicht geschützt. Daß die DDR eine eigene Hardware (sowohl die Platine als auch die Chips darauf) gebaut hat lag auch daran, daß zumindest die Chips dem Technologie-Embargo (CoCom-Liste) unterlagen. Und daß der U880 erst 1983 in nennenswerter Stückzahl für ein Spielzeug wie den LC80 verfügbar war. Zeitgleich mit dem LC80 kam auch der Poly880 [1] auf den Markt. Den halte ich für die angedachte Verwendung als Lernsystem für noch besser. Und der hatte AFAIK kein westliches Pendant. [1] https://de.wikipedia.org/wiki/Polycomputer_880
> Daß die DDR eine eigene Hardware (sowohl die Platine > als auch die Chips darauf) gebaut hat lag auch daran, daß zumindest die > Chips dem Technologie-Embargo (CoCom-Liste) unterlagen. Nein, diese 8 bit Chips standen nicht auf der Embargoliste, die konnte man bequem in West-Berlin kaufen und über die Grenze bringen. Oder sich verbaut in einen C64 von Oma mitbringen lassen. Auf der Liste damals standen 32 bit Prozessoren, die aber geliefert werden durften, wenn auf dem pcb der datenbus nur in Hälfte (32 bit) ausgeführt war. > Und daß der U880 > erst 1983 in nennenswerter Stückzahl für ein Spielzeug wie den LC80 > verfügbar war. Das passt schon eher, wobei die U880 Produktion (Z80-Clone) schon erheblich gestreckt wurde und für Bastler Ausschuß-Exemplare sogenannte bastlertypen aussortiert wurden. https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=4392 Wobei der LC80 nicht wie der "Polyplay" zum Spielzeug zählte sondern als Lehrmittel konzipiert war.
:
Bearbeitet durch User
Axel S. schrieb: > Zeitgleich mit dem LC80 kam auch der Poly880 [1] auf den Markt. "Im Jahr 1984 betrug der Neupreis 3.449 Mark." Autsch! Für so einen Murks satte 4 Monatsgehälter auf den Tisch legen. Naja, mangels größerem Angebot kam wohl kaum eine Privatperson in die Versuchung, dafür Geld auszugeben. Der C64 kam 2 Jahre vorher im NSW für um die 1400 Westmark auf den Markt und hatte um Welten mehr zu bieten! Ein reichliches Jahr später gab's den für unter 1000 DM! Da funktionierte die Konsumgüterproduktion nicht nur auf dem Papier! Naja, Gott sei Dank ist mir durch die Gnade der späten Geburt diese Mangelwirtschaft als junger Erwachsener erspart geblieben. Ich wär vermutlich abgehauen oder in Bautzen gelandet . . .
Dergute W. schrieb: >> Was sagt uns das? > > Dass man den Kollegen, sofern es einen interessiert, doch auch sehr > einfach ohne "deine Enttarnung" hier erkennen kann, egal mit welchem und > wie altem oder ganz neuen Alias. Das auch aber das ist gar nicht wesentlich. Wie es scheint, hat der gute Stefan ein Problem damit, mit eindeutigem Namen, und sei es nur ein Pseudonym, aufzutreten. Wie es scheint, steht er nicht zu seinen Worten bzw. ist ihm der Gegenwind, der bisweilen entsteht, zuviel.
> Naja, Gott sei Dank ist mir durch die Gnade der späten Geburt diese > Mangelwirtschaft als junger Erwachsener erspart geblieben. Ich wär > vermutlich abgehauen oder in Bautzen gelandet . . . Bautzen war für Erwachsene, für Jugendliche wärs wohl der Jugendwerkhof geworden: https://de.wikipedia.org/wiki/Jugendwerkhof . Auch Amerikanische Computerprogrammierer haben Software hinter Gittern erstellt, Apple's frühe Textverarbeitung ist wohl in einer solchen "Besserungsanstalt" entstanden: https://en.wikipedia.org/wiki/EasyWriter#History
Thomas W. schrieb: > Vor 45 Jahren habe ich per Hand assemblieren > muessen. Hi Thomas, bei mir ist es noch nicht ganz so lange her. Habe mir ein einfaches Z80-System gebastelt. Und die Möglichkeit, Maschinenbefehle (also Opcodes, keine Assemblerbefehle!) einzugeben und auszuführen, habe ich per Hand codiert und bei einem befreundeten Entwickler in ein EPROM gepackt. Also quasi das BIOS ;-) Waren zwar nur ca. 200 Befehle. Dennoch ein Wunder, dass das funktioniert hat. Und ja, nach dem Ausschalten war das eingegebene Programm natürlich weg. :-) Mann, das waren noch Zeiten... ciao Marci
Bradward B. schrieb: > für Jugendliche wärs wohl der Jugendwerkhof > geworden: https://de.wikipedia.org/wiki/Jugendwerkhof . Soll aber nicht weniger schlimm gewesen sein. Im Gegenteil. Im TV kam mal ne Doku mit Zeitzeugen. ciao Marci
Marci W. schrieb: > Bradward B. schrieb: >> für Jugendliche wärs wohl der Jugendwerkhof >> geworden: https://de.wikipedia.org/wiki/Jugendwerkhof . > > Soll aber nicht weniger schlimm gewesen sein. Im Gegenteil. Hat ja auch Keiner behauptet. Jugendwerkhof war schon ne "Drohkulisse" für die junge Generation, da wollte keiner freiwillig rein. Nur "Schwedt" hatte einen noch übleren Ruf, aber das betraf Zivilsten eher nicht.
Thomas W. schrieb: > Motopick schrieb: >> Günter K. schrieb: >> >>> Der erste Eintrag lautet: "21", das müsste ein Befehl sein. >>> Leider finde ich den Befehl nicht. >> >> Ein Buch brauche ich dafuer nicht. :) >> Das "21" steht fuer LD HL, mit literaler 16 bit Konstante. >> Die Konstante steht in den folgenden 2 Bytes. > > Ich auch! Das gehoert alles in die Schublade "Unnoetiges Wissen" Das ist so nicht richtig. Weil: Das gehoert in die Schublade "Historisches Wissen". Historisches Wissen huelft, Dinge einzuordnen und zu bewerten. Fehlt es, ist der Betreffende im einfachsten Fall nur unorientiert, und tritt auch unorientiert auf. Der LC80 war fuer den "Endkundenmarkt". Teuer genug war er trotzdem. :) Der Poly880 war fuer "Bildungseinrichtungen". Der Preis war fuer das Gebotene unverschaemt.
Motopick schrieb: > Der LC80 war fuer den "Endkundenmarkt". Teuer genug war er trotzdem. :) > Der Poly880 war fuer "Bildungseinrichtungen". Der Preis war fuer das > Gebotene unverschaemt. Das war im NSW nicht anders. Die Geräte für die Schülerversuche kamen hier von Phywe oder Leybold Heraeus Didactic, und da wäre das gleiche Gewicht in Gold meist billiger gewesen.
Soul E. schrieb: > Motopick schrieb: >> Der LC80 war fuer den "Endkundenmarkt". Teuer genug war er trotzdem. :) >> Der Poly880 war fuer "Bildungseinrichtungen". Der Preis war fuer das >> Gebotene unverschaemt. > > Das war im NSW nicht anders. Die Geräte für die Schülerversuche kamen > hier von Phywe oder Leybold Heraeus Didactic, und da wäre das gleiche > Gewicht in Gold meist billiger gewesen. So manches (Demonstrations-)Utensil war bei meiner Schule wohl "vererbt" worden. Die mechanische Ausfuehrung legte es jedenfalls nahe. Das tat ihrer Nuetzlichkeit natuerlich keinen Abbruch. Manches haette es in "Neu" vielleicht auch gar nicht gegeben. Vieles war aber auch erkennbar neu: Ein Demonstrationsoszillograf und ein dickethaler Zeitmesser fuer fuesikalische Fallversuche. Der Markt regelt das heute auf die Weise: "Verlangt wird, was der Markt geradso hergibt." Wenn es ueberhaupt einen "Markt" gibt. :) Edith: Im Rahmen der Studienorientierung gab es auch Besuche bei Hochschulen. Mit Besichtigung von echter Rechentechnik! Einen Commodore SR110NC hatte ich da aber schon. :)
:
Bearbeitet durch User
Thomas W2 schrieb: > 0x21 ist LD HL, nnnn. Vor 45 Jahren habe ich per Hand assemblieren > muessen. Hochachtung! Mit allergrößtem Respekt sehe ich diese Leistung! Ich habe nur noch gestaunt; das ist wirklich hervorragend! Nun fahre ich in die Stadt. - D.h.: ich komme gerade aus der Stadt zuück, und habe nun den Computer: Micro-Professor µP AN EYE TO THE FUTURE MPF-1B POWER 9 Volt Eingangsspannung. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Jetzt habe ich ja noch das Buch: RODNAY ZAGS Programmierung des Z80 RODNAY ZAKS vom SYBEX Verlag. ISBN 3-88745-006-X 1. Auflage 1982 2. Auflage 1982 3. Auflage 1983 (C) 1982, SYBEX-Verlag GmbH., Düsseldorf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Vorne-an ist ein: Dankwort. Leider fehlen hier einige Seiten zwichen 1 und 6 und habe als 1. Seite 7 vorliegen; ab dort sind Inhaltsverzeichnisse. Ich gehe zu TH-Bibliothek, um mehr zu erfahren. Hier sind zwar Zeichnungen drin wo etwas der ALU oder Akumulator übergeben wird aber nicht genau; bin nur Elektriker(Elektroniker). Also sind mir logische Schaltungen auch ein Begriff. Darum fand ich es auch garnicht schlecht, auf Relais-Schaltungen zu verweisen. - Denn da, liegt ein springender Punkt. - Wie bei TTL. Auf Seite 591 Anhang E - : Der Befehlssatz des Z80. Aber nicht sortiert. Also, das Uhren-Programm läuft. Habe es wohl nicht wiederholt. Das wird man vermutlich wunderbar an einem Ablauf-Diagramm darstellen können. Vielen Dank auch an alle, ich habe noch nicht alles gelesen. :-) LG. Enk - Ich schaue gleich weiter rein.
:
Bearbeitet durch User
Prima: DANKESCHÖN! LG. Enk PS.: Ich gucke weiter den Thread durch.
Hallo Marci, Du schriebst ja: " Habe mir ein einfaches Z80-System gebastelt. Und die Möglichkeit, Maschinenbefehle (also Opcodes, keine Assemblerbefehle!) einzugeben und auszuführen, habe ich per Hand codiert und bei einem befreundeten Entwickler in ein EPROM gepackt. Also quasi das BIOS ;-) Waren zwar nur ca. 200 Befehle. Dennoch ein Wunder, dass das funktioniert hat. Und ja, nach dem Ausschalten war das eingegebene Programm natürlich weg. :-)". Inwichen gibt es ja Möglichkeiten, das es nicht mehr weg ist. Ich muss hier noch lernen, wie man richtig editiert. ich melde mich nochmal deswegen, geht das? LG. Enk
:
Bearbeitet durch User
Im Anhang eine (Hexa-)Tabelle der einfachen und der extended (ED) Befehle des Z80. Bitbefehle (CB) und Indexregisterbefehle (DD,FD) muesstest du im Buch nachschlagen. Auf den Seiten 1-6 vom "Zaks - Programmierung des Z80" stehen nur Verlagsinformationen und ein Dankwort an jene, die Verbesserungen am Buchinhalt vorgeschlagen haben. Das Inhaltsverzeichnis ist ab Seite 7. Den Gang zur Bibliothek kannst du dir getrost sparen. :)
Günter K. (enk) >Vielleicht noch was für den 6502 oder 65s02, oder 8086, (Z80)? >Die Haupt-sache es ist einfach. Er braucht auch nicht besonders schnell zu sein. >Ich brauche einen STACK, je ein X und Y-Register, Statusregister für die Flags. >Aber auch einen passenden Emulator der CPU auf einen anderen Computer. >Interessant wäre noch, wie der Akkumulator von innen arbeitet; > - alles in der CPU sollte sichtbar sein. Vielleicht wäre diese moderne Board das Richtige für Dich, die eine Prozessorarchitektur verwendet, die auch heute noch millionenfach produziert wird: https://www.cnx-software.com/2024/10/17/6-cocket-nova-ch552-development-board-features-ch552g-8-bit-mcu-with-an-enhanced-8051-core/ https://edsim51.com/
:
Bearbeitet durch User
Christoph M. schrieb: > Vielleicht wäre diese moderne Board das Richtige für Dich, die eine > Prozessorarchitektur verwendet, die auch heute noch millionenfach > produziert wird: Hallo Christoph M. vielen Dank für die Botschaft. So Modern die Risk-Architektur auch ist, ich las da Sachen, die etwas zu Modern sind. - Da las ich etwas über dem Einsatz von KI und rechtlichen Ansprüchen auf den Prozessor. Aber zum Basteln kann es für mich interessant werden oder sein. Vieleicht werde ich es mal für Schaltungssteuerungen brauchen. Auf jeden Fall, noch mal vielen Dank. Der Schriftsteller des Buches läst schreiben: "Scot W. STevenson programmiert seit Tagen von 8-Bit.Prozessoren wie dem 6502, in Assembler. Vom Bytegeschiebe konnten ihn weder sein Medizinstudium, ein Graduirtenkolleg Jornalismus, mehr als zwei Jahrzehnte als nachrichtenredakteur noch ein Blog über die USA abbringen. Er behauptet trotzdem damit aufhören zu können." Na, den Schluss von dem Vers, find ich ein bisschen lustig. Ich erinnere mich, auch etwas von einem 65s02 usw. gelesen zu haben. Das Buch heist: Einführung in die moderne Assembler-Programmierung. Habe aber inzwischen auch noch andere gute Sachen gelesen. LG. Enk
:
Bearbeitet durch User
Hallo Christoph M. DANKESCHÖN! LG. Enk PS.: Ich lese die letzten Eingänge nochmal durch.
Günter K. schrieb: > Das Buch heist: Einführung in die moderne Assembler-Programmierung. Erscheinungsdatum: 30.07.2024, allerdings RISC-V, nicht 6502. https://dpunkt.de/produkt/einfuehrung-in-die-moderne-assembler-programmierung/ Assembler kann man sicherlich an einzelnen Stellen brauchen. Aber ich assoziiere das eher mit einer Einführung in moderne Pferdekutschen.
:
Bearbeitet durch User
Günter K. >Hallo Christoph M. vielen Dank für die Botschaft. So Modern die >Risk-Architektur auch ist, ich las da Sachen, die etwas zu Modern sind. Ähm, der Link geht auf ein MCU-Board mit 8051 Kern. Die Architektur dieses Kerns ist von 1980: https://de.wikipedia.org/wiki/Intel_MCS-51 Der 8051 Kern wird heutzutage aber noch millionenfach in "intelligenten" Sensoren implementiert. Das schöne daran: die Assemblerbefehle sind sehr einfach zu verstehen. Mancher Chinese nutzt den Kern als Coprozessor bis 300MHz: https://www.cnx-software.com/2024/02/08/licheerv-nano-low-cost-sg2002-risc-v-arm-camera-display-board-wifi-6-ethernet/
Hallo von Marci W. (marci_w), Thomas W2, und alla. Günter K. schrieb: > Waren zwar nur ca. 200 Befehle. "nur", da muss man sich ja auch noch Gedanken machen, was die Befehle für die Geräte und was an den Geräten gemacht werden muss. Also, ich melde mich nochmal, Bis später.
(prx) A. K. schrieb: > Aber ich > assoziiere das eher mit einer Einführung in moderne Pferdekutschen. Wenn du mal extrem zeitkritische Aufgaben mit Controllern lösen musst, dann wirst du das anders sehen... Außerdem hilft einem das Verständnis von Assembler bei vielerlei Compiler-Bockmist...
Wolfgang R. schrieb: > Außerdem hilft einem das Verständnis > von Assembler bei vielerlei Compiler-Bockmist... Ob das dem Günter real hilft, wage ich zu bezweifeln. Ich gebe ihm 4 von 10 Punkten auf der Josef G. Skala . . . Die BO8 läßt grüßen!
Günter K. schrieb: > ich komme gerade aus der Stadt zuück, > und habe nun den Computer: Micro-Professor µP AN EYE TO THE FUTURE > MPF-1B Dann kann es ja losgehen. > Jetzt habe ich ja noch das Buch: RODNAY ZAGS > > Programmierung des > Z80 > RODNAY ZAKS > vom SYBEX Verlag. Das sollte man auch haben, aber das ist eher ein Nachschlagewerk. Für den Einstieg würde ich die Anleitung des MPF-1 durcharbeiten, oder einen der zahlreichen Lehrgänge, die auf dem Gerät basieren. Das Ding war damals zu Ausbildungszwecken sehr verbreitet, bis weit in die '90er Jahre hinein, als wir alle schon "richtige" PCs hatten. Also z.B. https://8bit-wiki.de/8bit-datenbanke32f.html?tx_filelist_filelist%5Baction%5D=list&tx_filelist_filelist%5Bcontroller%5D=File&tx_filelist_filelist%5Bpath%5D=%2F8bit-wiki%2FMicroProfessor_von_MicroTech%2FMicroProfessor-MPF1%2FManual%2F&cHash=a684a589e406751cf37b8b0374ec085d und dann hier im speziellen * https://8bit-wiki.de/fileadmin/8bit-wiki/MicroProfessor_von_MicroTech/MicroProfessor-MPF1/Manual/MPF%201%20Mikroprozessor%20Christiani.pdf * https://8bit-wiki.de/fileadmin/8bit-wiki/MicroProfessor_von_MicroTech/MicroProfessor-MPF1/Manual/MPF%201%20Peripherie%20Christiani.pdf oder wenn die Englischkenntnisse ausreichen * https://8bit-wiki.de/fileadmin/8bit-wiki/MicroProfessor_von_MicroTech/MicroProfessor-MPF1/Manual/MPF%201%20User%27s-manual.pdf * https://8bit-wiki.de/fileadmin/8bit-wiki/MicroProfessor_von_MicroTech/MicroProfessor-MPF1/Manual/MPF-1%20Experiment%20Manual.pdf
Wolfgang R. schrieb: > Außerdem hilft einem das Verständnis > von Assembler bei vielerlei Compiler-Bockmist... Assemblerkenntnisse sind nicht schlecht, um mal einen Blick hinter die Kulissen von C zu werfen. Es hilft, besser einzuschätzen, welche Operationen besonders teuer sind. Man kann dann vermeiden, sie unnötig häufig aufzurufen und damit kostbare CPU-Zeit zu verplempern. Man kann aber auch staunen, welche Tricks und Kniffe der Compiler kennt, um effektiver und sparsamer als der weitaus größte Teil der Assemblerfraktion zu coden. Ab einem bestimmten Leidensdruck, d.h. Anzahl und Größe der Projekte, wird aber irgendwann jeder die Vorteile von C nutzen wollen, um sich nicht mehr mit Nebensächlichkeiten, wie Push, Pop, RAM-Zuweisungen, Pointerberechnungen usw. abplagen zu müssen.
Peter D. schrieb: > Man kann aber auch staunen, welche Tricks und Kniffe der Compiler kennt, > um effektiver und sparsamer als der weitaus größte Teil der > Assemblerfraktion zu coden. Wobei es dabei eher um die Kenntnis der Maschinenbefehle und der Mikroarchitektur geht. Man muss dazu nicht in der Lage sein, in Assembler ordentlich zu programmieren. Und wenn es dann nicht mehr um 6502 oder Z80 geht, sondern Prozessoren mit langer Pipeline und Schlimmerem, hat die Kenntnis der Mikroarchitektur eine entscheidende Bedeutung.
Peter D. schrieb: > Ab einem bestimmten Leidensdruck, d.h. Anzahl und Größe der Projekte, > wird aber irgendwann jeder die Vorteile von C nutzen wollen, um sich > nicht mehr mit Nebensächlichkeiten, wie Push, Pop, RAM-Zuweisungen, > Pointerberechnungen usw. abplagen zu müssen. In solchen Fällen wird man Assembler auf Codestücke beschränken, die für die Performance entscheidend sind. Und diese möglicherweise als Inline-Assembler in den C-Quelltext direkt einbauen, nicht als separaten Assembler-Quelltext pflegen. Und wenn man das durch hat, stellt man anschliessend fest, dass man sich das hätte sparen können :), weil der Compiler schon Intrinsics für in C nicht abbildbare Maschinenbefehle hat. Etwa für die SIMD-Erweiterungen SSE/AVX.
:
Bearbeitet durch User
(prx) A. K. schrieb: > Und wenn es dann nicht mehr um 6502 oder Z80 geht, sondern Prozessoren > mit langer Pipeline und Schlimmerem, hat die Kenntnis der > Mikroarchitektur eine entscheidende Bedeutung. Ja, Pipelines und Busse. Stete Quelle von Freude. Ich habe in von einem Compiler generierten Code da schon Zugriffsverletzungen gesehen. Ein einfach indirekter Ladebefehl wurde nicht ausgefuehrt, stattdessen wurde eine "0" geladen. Vermutlich war der Bus ueber den der Zugriff laufen sollte, einfach nur belegt. Der Compiler sollte das eigentlich erkennen. Ich habe dann ein kurzes Stueck aus dem Compilat als Inlineassembler eingegefuegt, und vor dem scheinbar kritischen Zugriff ein NOP platziert. Das funktionierte dann. :) Schwierig war nur die Stelle des "Fersagens" zu finden.
Thomas W2 schrieb:
> 0x21 ist LD HL, nnnn.
[Alle Zeichen hexadezimal bzw. wie hex', das ist schonmal gut so.]
D.h.:
Lade H-Byte und LByte, aber wohin, in den Akku oder ALU?
Frage: Was geht woher, wohn? - : Also
Lade 08 00 aber wohin?
LG Enk
Günter K. schrieb: > Was geht woher, wohn? Das steht in der Dokumentation der CPU. HL ist das Ziel-Register, es hat 16 Bit. https://www.mikrocontroller.net/attachment/235150/Instruction_Card_Z80.pdf
Wenn Du auf Seite 2 des Datenblatts der CPU guckst, siehst Du das Programmiermodell der Z80. 8-bit-Akku A, die Flags F, und HL, BC und DE als 16-Bit-Register. Die Z80 hat ein alternativen Registersatz, mit einem Kommando umgeschaltet werden kann (sehr hilfreich). IX und IX als Index-Register, Stack als Stackpointer. Seite 2 des Datenblattes habe ich angehaengt.
Sherlock 🕵🏽♂️ schrieb: > Das steht in der Dokumentation der CPU. HL ist das Ziel-Register, es hat > 16 Bit. Also, verstehe ich kaum. Also aus der Speicherstell ... Moment, um das richtig zu erklären: Ich habe hier ein Programm mit 72 Speicherplätzen. Es geht von: 1800 bis 1847. Es ist ein Uhrenprogramm. Der 1. Befehl lautet demnach: Der Maschinenbel 21 sagt: "Lade die Werte:"0800" in die Register H und L. Nun steht im 16-Bit-Register 0800. Der nächste Befehl lautet: 0E. Nun werde ich in der Dokumentation suchen ... LG. Enk
Günter K. schrieb: > Der 1. Befehl lautet demnach: > Der Maschinenbel 21 sagt: > "Lade die Werte:"0800" in die Register H und L. Genau dafür gibt es Disassembler! ciao Marci
:
Bearbeitet durch User
Die von Soul E. verlinkte Anleitung https://8bit-wiki.de/fileadmin/8bit-wiki/MicroProfessor_von_MicroTech/MicroProfessor-MPF1/Manual/MPF%201%20Mikroprozessor%20Christiani.pdf ist schon sehr gut (deutsch, einfach geschrieben, enthael auch Uebungen) und wenn Du die Hardware hast, kannst Du die Beispiele einfach durcharbeiten.
Marci W. schrieb: > Genau dafür gibt es Disassembler! Hallo Marci W. Ja bitte, das wäre gut hast Du einen Disassembler für den Z80? Oder ist so etwas Computerabhängig? LG. Enk. Also Günter K.
Günter K. schrieb: > Marci W. schrieb: >> Genau dafür gibt es Disassembler! > > Hallo Marci W. Ja bitte, das wäre gut > hast Du einen Disassembler für den Z80? > Oder ist so etwas Computerabhängig? Ja, klar. Aber Google findet da weit mehr als du brauchst: https://www.google.com/search?&q=Z80%20disassembler Wenn es für ein bestimmtes Betriebssystem sein soll, dann ergänze das in der Suchanfrage. Ich habe z.B. z80dasm in meinem ~/bin (Linux).
Vielleicht damit wir ueber das Prograemmle reden:
1 | 1800 .ORG 0x1800 |
2 | 1800 21 00 08 START: LD hl,0x0800 |
3 | 1803 0E 0F L1: LD c,0x0f |
4 | 1805 CD E4 05 CALL 0x05e4 |
5 | 1808 CD 14 18 CALL SUB1 |
6 | 180B 06 5E LD B,0x5e |
7 | 180D CD 2C 18 L2: CALL SUB2 |
8 | 1810 10 FB DJNZ l2 |
9 | 1812 18 EC JR start |
10 | 1814 0E 03 SUB1: LD C,0x03 |
11 | 1816 11 02 1A LD DE,0x1a02 |
12 | 1819 21 47 18 LD HL,0x1847 |
13 | 181C 37 SCF |
14 | 181D 1A L4: LD A,(DE) |
15 | 181E CE 00 ADC A,0x00 |
16 | 1820 27 DAA |
17 | 1821 0C INC C |
18 | 1822 96 SUB (HL) |
19 | 1823 38 01 JR c,l3 |
20 | 1825 12 LD (DE),A |
21 | 1826 3F L3: CCF |
22 | 1827 2B DEC HL |
23 | 1828 1B DEC DE |
24 | 1829 10 F2 DJNZ l4 |
25 | 182B C9 RET |
26 | 182C C5 SUB2: PUSH bc |
27 | 182D 11 02 1A LD DE,0x1a02 |
28 | 1830 21 03 19 LD HL,0x1903 |
29 | 1833 06 03 LD B,0x03 |
30 | 1835 1A L5: LD A,(DE) |
31 | 1836 CD 76 06 CALL 0x0676 |
32 | 1839 1B DEC DE |
33 | 183A 10 F9 DJNZ l5 |
34 | 183C DD 21 03 19 LD IX,0x1903 |
35 | 1840 CD 24 06 CALL 0x0624 |
36 | 1843 C1 POP BC |
37 | 1844 C9 RET |
38 | 1845 24 60 60 DATA: DB 0x24,0x60,0x60 |
Natuerlich fehlt der Startup-Code, oder wohin soll der CALL zurueckfinden? Ist alles aus dem Microprofessor Handbuch (ich muss sagen, 1983 hat man sich noch richtig Muehe gegeben verstaendliche Handbuecher zu schreiben. Ohne KI. Vielleicht deswegen). Assembled ist das alles mit einem Online-Assembler (hier: https://www.asm80.com/onepage/asmz80.html).
Axel S. schrieb: > Ich habe z.B. z80dasm in meinem ~/bin (Linux). Hallo Axel S. Bitte, dann würde ich das mal gerne in Linux ausprobieren. Kann man das in Windows 10 laden, und auf einen Stick oder SD-Karte legen? (Oder unter Linux aufrufen.) Doch ich sehe es schon kommen, ich muss mich erstmal, richtig in die einzelnen Befehle hineinknien muss, um das zu verstehen, was da abläuft. Und das lehrt auch der Kurs von Christiani nicht gründlich genug. Es ist die Art und Weise, - wie, man das Wissen beibringt. - . (Ja, meiner Erinnerung nach, hat Christiani einen guten Namen also Ruf.) Und es ist auch nicht schlecht. Ich müsste einfach nur anfangen zu lernen, die einfachsten Strukturen die sich zwischen Speicher und Prozessor ergeben, stattfinden zu lassen. Dann ist man schon wirklich sehr - damit beschäftigt. Ich glaube wohl, dass ich es danach, besser verstehe. Und es ist tatsächlich so, die vielen Bilder von einfachen Schaltungen, sind im Grunde genommen nichts anderes als heute mit vielen Schaltungen. Um das zu verstehen, hat es natürlich seine Grenzen. Nur würde ich gerne "sehen" können, wie, was da schaltet. D.h.: Man muss es sich vorstellen können; - und das geht. Ich könnte mir auch vorstellen, dass es für die Uhr, gute Ablauf-Diagramme gäbe. Und nur für die Uhr, wäre man dann schon für einige Seiten beschäftigt. Übrigens, die Uhr, ist aus dem Christiani-Lehrgang. Ja, ich war auch schon mit einem Buch beschäftigt für den 8086. Assembler Programmierung Studienausgabe, - nur sie Software passt nicht zum Betriebssystem. Das wird natürlich geändert. Danach, weiß ich dann auch mehr. LG. Enk
Axel sendete am 18.10.2024 00:25
Axel S. schrieb:
> Ich habe z.B. z80dasm in meinem ~/bin (Linux).
Morgen probiere ich das unter linux aus.
Hallo Leute,
gute Nacht bis morgen.
LG. Enk
Hallo, Günter K. schrieb: > Und das lehrt auch der Kurs von Christiani nicht gründlich genug. Du brauchst keinen Kurs, du brauchst noch nicht mal einen Disassembler. Was du brauchst sind ein paar Blatt kariertes Papier, einen Bleistift, ein Radiergummi und das Z80-Buch von Rodnay Zaks. Da steht nämlich drin was jeder einzelne Befehl genau bewirkt und wie er im Arbeitsspeicher kodiert ist. Und dann nimmst du den Assembler-Quellcode, führst jeden Befehl 'per Hand aus' und notierst dir nach jedem Befehl welche Speicherstellen und Prozessorregister welche Daten/Werte beinhalten. Günter K. schrieb: > ...die einfachsten Strukturen... Was für Strukturen? Was meinst du damit? Günter K. schrieb: > Nur würde ich gerne "sehen" können, wie, was da schaltet. Was würdest du gerne sehen? Wie die einzelnen Transistoren des Prozessors hin und her schalten? Oder wie sich nach jeden Befehl die Speicherinhalte ändern? Günter K. schrieb: > Ja, ich war auch schon mit einem Buch beschäftigt für den 8086. Ich würde den 8086 für den Anfang nicht empfehlen. rhf
Günter K. schrieb: > Hallo Marci W. Ja bitte, das wäre gut > hast Du einen Disassembler für den Z80? Sowas gibt es sogar online! https://www.asm80.com/# > Oder ist so etwas Computerabhängig? NEIN! DOCH! OHHHHH!!! ;-)
Günter, ich habe den Eindruck, dass du zu viel gleichzeitig lernen willst. Oder wie man so schön sagt: Man tanzt auf zu vielen Hochzeiten gleichzeitig. Wenn ich von deinen vielen Fragen mal die herauspicke die ich verstehe, scheinen sich die meisten auf den Befehlssatz der CPU und den Assembler/Disassembler zu beziehen. Dort scheint dein Haupt-Interesse zu liegen, also konzentriere dich darauf. Lerne zuerst, welche Register die CPU hat und welchem Zweck sie dienen. Danach solltest du dich (wie bereits begonnen) schrittweise mit der Dokumentation des Befehlssatzes befassen. Welche Befehle gibt es, was ist die Quelle, was ist das Ziel, was macht die Operation damit? Solange zu damit nicht fertig bist, solltest du dich am besten gar nicht mit dem Schaltplan beschäftigen. Der ist für das Verständnis der CPU und ihrer Programmierung fast vollkommen irrelevant. Natürlich ist die Schaltung nötig, damit die CPU überhaupt arbeitet, aber als Programmierer muss man sie nicht kennen. So wie man als Autofahrer auch keine Ahnung davon haben muss, wie das Auto funktioniert. Man muss nur wissen, wie man das Auto richtig benutzt. Kenntnisse über die Hardware helfen natürlich schon, diverse Eigenschaften besser zu verstehen (z.B. warum kann ich nicht lenken, wenn die Hinterräder rutschen?). Aber das sind Spezialfälle mit denen man sich besser später befasst. Ich kann auch nur dringend davon abraten, sich mit mehreren CPU Architekturen gleichzeitig zu befassen. Damit verwirrst du dich nur selbst. Sogar wenn du noch aktiv arbeiten würdest, wäre es nicht wichtig, viele CPU Architekturen zu kennen. Eine reicht erst mal. Danach (nicht gleichzeitig!) kann man sich schnell in andere einfinden. In unser Gehirn passt viel rein, aber die Einfüllöffnung ist im sehr eng und hat eine lange Leitung. Druckbetankung funktioniert nicht. Günter K. schrieb: > Nur würde ich gerne "sehen" können, wie, was da schaltet. Vergiss das. Da passiert so viel gleichzeitig und schnell nacheinander, das kann kein normaler Mensch durchblicken. Schau dir dieses winzige Beispiel für den 6502 an, dann siehst du was ich meine. http://www.visual6502.org/JSSim/expert.html
1 | 0xa9, 0x00, // LDA #$00 |
2 | 0x20, 0x10, 0x00, // JSR $0010 |
3 | 0x4c, 0x02, 0x00, // JMP $0002 |
4 | |
5 | 0x00, 0x00, 0x00, 0x00, |
6 | 0x00, 0x00, 0x00, 0x40, |
7 | |
8 | 0xe8, // INX |
9 | 0x88, // DEY |
10 | 0xe6, 0x0F, // INC $0F |
11 | 0x38, // SEC |
12 | 0x69, 0x02, // ADC #$02 |
13 | 0x60 // RTS |
Das Programm hat nur 9 Befehle. Jeder Klick auf den Pfeil nach rechts entspricht einem einzigen Taktimpuls. Ein Programmierer muss nicht wissen "was da schaltet", sondern wo die Eingaben her kommen, wo die Ausgaben hin gehen, und was die Befehle dazwischen bewirken. Wie das technisch umgesetzt ist (mit Mikrochips, klappernden Relais oder heißer Luft) soll dem Programmierer ziemlich egal sein. Die elektrischen Vorgänge werden erst bei der Peripherie relevant (Schalter, LEDs, serielle Schnittstellen, ...). Nehmen wir mal an dir gelingt es, die internen Abläufe eines alten Mikroprozessors zu durchblicken. Was hast du davon? Wie viel davon kannst du wohl bei einem aktuellen Mikrocontroller gebrauchen, deren Innenschaltung stets geheim ist und aus 100 oder gar 1000 mal so vielen Transistoren besteht? Gar nichts! Aber wenn du programmieren gelernt hast, dann hast du etwas, dass du auch auf aktueller Hardware anwenden kannst. (Andere Architekturen haben zwar andere Befehle, aber sie funktionieren sehr ähnlich, so dass man sich da wie gesagt schnell einarbeiten kann). Roland F. schrieb: > Ich würde den 8086 für den Anfang nicht empfehlen. Ich auch nicht. Zu komplex für den Anfang.
:
Bearbeitet durch User
Günter K. schrieb: > Axel S. schrieb: >> Ich habe z.B. z80dasm in meinem ~/bin (Linux). Korrektur:
1 | ~ $which z80dasm |
2 | /usr/bin/z80dasm |
Ach, das ist sogar ein System-Paket. Welches?
1 | ~ $dpkg -S /usr/bin/z80dasm |
2 | z80dasm: /usr/bin/z80dasm |
Zeig mir Info zum Paket 'z80dasm'!
1 | ~ $dpkg -s z80dasm |
2 | Package: z80dasm |
3 | Status: install ok installed |
4 | Priority: optional |
5 | Section: devel |
6 | Installed-Size: 85 |
7 | Maintainer: Tomaž Šolc <tomaz.solc@tablix.org> |
8 | Architecture: amd64 |
9 | Version: 1.1.3-1 |
10 | Depends: libc6 (>= 2.7) |
11 | Suggests: z80asm |
12 | Description: disassembler for the Zilog Z80 microprocessor |
13 | The Z80 microprocessor is used in some 1980s home microcomputers, such as the |
14 | Sinclair ZX80, ZX81, Spectrum, Galaksija and in several newer devices, such |
15 | as graphical calculators from Texas Instruments and the original GameBoy. |
16 | . |
17 | This disassembler is useful for reverse engineering programs and operating |
18 | systems written for such devices. It produces assembly source code from binary |
19 | ROM images and tries to guess locations of labels and symbols. Its output can |
20 | be directly converted back to binary with a Z80 assembler, such as z80asm. |
21 | Homepage: http://www.tablix.org/~avian/blog/articles/z80dasm/ |
> Bitte, dann würde ich das mal gerne in Linux ausprobieren.
Dann schau mal, ob es für dein Linux das Paket 'z80dasm' gibt.
Roland F. schrieb: > Günter K. schrieb: >> Nur würde ich gerne "sehen" können, wie, was da schaltet. > > Was würdest du gerne sehen? Wie die einzelnen Transistoren des > Prozessors hin und her schalten? Oder wie sich nach jeden Befehl die > Speicherinhalte ändern? Ja, beides, auch wie der Akkumulator und die ALU angesprochen werden. Ob Teile vom BIT-Muster vom Byte auf die Leitungseingänge wirken, natürlich auch, wie sich nach jeden Befehl die Speicherinhalte geändert haben, zB. der Stack und das Statusregister mit seinen Flags. In dem Buch von Christiani sehe ich die im µP nicht. Und in dem Buch von Zaks sind mehrere Obj-Code angegeben, ich brauch doch nur einen pro Befehl. > > Günter K. schrieb: >> Ja, ich war auch schon mit einem Buch beschäftigt für den 8086. > > Ich würde den 8086 für den Anfang nicht empfehlen. Ja. > > rhf Hallo Roland F. Du hast sehr gut geantwortet. Ja, Sherlock Du auch, und habe Eure wirklich gut gemeinten Worte verstanden, und bin darüber erfreut. Nun, ja, das Buch zum 8086 war bzw. ist schon sehr Verheißungsvoll, und es beginnt damit, ein Zeichen auf den Bildschirm zu bringen. Leider habe ich nicht das Betriebsystem dazu; das gleiche für GW-BASIC und DOS: Wolfgang Link (Passender Name zum Assembler :-) ) Zum Buch liegt eine CD und da sind fertige Programme drauf. Professional Assembler Programmierung Studienausgabe Ungekürzte Originalausgabe (... Der Deutschen National-Bibliothek ... http://dnb.ddb.de abrufbar.) (C) 2004 Franzis Verlag GmbH, 85586 Poing ...DTP-Satz A. Kugge München ISBN 3-7723-7014-4 Aber erst mal zurück zum Z80; - denn man möchte ja erstmal, seine eigenen Erfolge sehen. Und richtig, heute Morgen nach dem Aufstehen dachte ich noch: "Man müsste erst mal Ablauf-Diagramme Zeichnen.) Kann der Computer das nicht auch schneller? Gibt es Computer-Programme zum Zeichnen von Ablauf-Diagramme? Zurück zum Buch: Programmierung des Z80 von RODNAY ZAKS Leider ist dessen Leimung sehr alt und die Blätter lösen sich. Und irgendwo las ich einen Hinweis auf ein anderes Buch von ihm, dem Prozessor selber betreffend. Ich finde es nicht mehr, will aber jetzt weitermachen. LG enk
Wenn ich mich zurück erinnere, was das früher für ein Krampf war mit den Assemblieren (schon Editieren) größerer Files, dann wird mir wieder bewußt wie schön und einfach die Welt mit den modernen Computern ist. Hier mal ein Beispiel, wie man mit zmac (Z80 Assembler) und z80dasm (Z80 Disassembler) umgeht. Das Workdir enthält nur einen Assembler-Quelltext. Drin steckt eine kleine Routine zum schnellen Löschen eines Text-Framebuffers mit 25 Zeilen zu je 40 Zeichen an Adresse 0xE000 (so war das auf dem https://de.wikipedia.org/wiki/Z9001).
1 | ~/Work/zmac $ls |
2 | clrscr.z |
3 | |
4 | ~/Work/zmac $cat clrscr.z |
5 | scrpos EQU 0E000h ;start of screen buffer |
6 | scrlen EQU 40*25 ;screen dimensions |
7 | |
8 | org 1000h |
9 | |
10 | ;fast clear screen |
11 | |
12 | clrscr: push bc ;save registers |
13 | push de |
14 | push hl |
15 | |
16 | ld hl,scrpos |
17 | ld d,h |
18 | ld e,l |
19 | inc de ;DE = scrpos + 1 |
20 | ld bc,scrlen-1 |
21 | ld (hl),' ' |
22 | ldir |
23 | |
24 | pop hl ;restore registers |
25 | pop de |
26 | pop bc |
27 | |
28 | ret |
Wir assemblieren das File; dabei entstehen ein Listing und defaultmäßig ein Binärfile mit dem erzeugten Code:
1 | ~/Work/zmac $zmac clrscr.z |
2 | (kein Output - no news are good news) |
3 | |
4 | ~/Work/zmac $ls |
5 | clrscr.bin clrscr.lst clrscr.z |
6 | |
7 | ~/Work/zmac $hd clrscr.bin |
8 | 00000000 c5 d5 e5 21 00 e0 54 5d 13 01 e7 03 36 20 ed b0 |...!..T]....6 ..| |
9 | 00000010 e1 d1 c1 c9 |....| |
10 | 00000014 |
Das Listing zeige ich jetzt mal nicht, das kannst du dir selber ansehen :) Wir verwenden jetzt z80dasm um das Binärfile zu disassemblieren. Da ein Binärfile keine Startadresse enthält, müssen wir die Startadresse mit "-g 0x1000" angeben.
1 | ~/Work/zmac $z80dasm -g 0x1000 clrscr.bin |
2 | ; z80dasm 1.1.3 |
3 | ; command line: z80dasm -g 0x1000 clrscr.bin |
4 | |
5 | org 01000h |
6 | |
7 | push bc |
8 | push de |
9 | push hl |
10 | ld hl,0e000h |
11 | ld d,h |
12 | ld e,l |
13 | inc de |
14 | ld bc,003e7h |
15 | ld (hl),020h |
16 | ldir |
17 | pop hl |
18 | pop de |
19 | pop bc |
20 | ret |
21 | Warning: Code might not be 8080 compatible! |
Und - voila! - hier ist unser Code wieder. Labels und symbolische Konstanten fehlen natürlich. Aber im Prinzip können wir den Code so wie er ist wieder durch zmac jagen und erhalten das gleiche Binärfile:
1 | ~/Work/zmac $z80dasm -g 0x1000 -o test.z clrscr.bin |
2 | Warning: Code might not be 8080 compatible! |
3 | |
4 | ~/Work/zmac $zmac test.z |
5 | |
6 | ~/Work/zmac $hd clrscr.bin |
7 | 00000000 c5 d5 e5 21 00 e0 54 5d 13 01 e7 03 36 20 ed b0 |...!..T]....6 ..| |
8 | 00000010 e1 d1 c1 c9 |....| |
9 | 00000014 |
10 | ~/Work/zmac $hd test.bin |
11 | 00000000 c5 d5 e5 21 00 e0 54 5d 13 01 e7 03 36 20 ed b0 |...!..T]....6 ..| |
12 | 00000010 e1 d1 c1 c9 |....| |
13 | 00000014 |
Zumindest zmac scheint nicht als Paket verfügbar zu sein. Ich hänge die Quellen zu zmac und z80dasm mal an.
Günter K. schrieb: > Nun, ja, das Buch zum 8086 war bzw. ist schon sehr Verheißungsvoll, > und es beginnt damit, ein Zeichen auf den Bildschirm zu bringen. > Leider habe ich nicht das Betriebsystem dazu; > das gleiche für GW-BASIC und DOS: Deshalb nochmal mein Tipp: Arbeite mit einer vereinfachten Architektur für die es einen Simulator gibt. Z.B. : https://unterrichten.zum.de/wiki/Johnny-Simulator Oder: http://www.viktorianer.de/info/mops.html
:
Bearbeitet durch User
Also ehrlich, meine innere Stimme sagt, daß der "Günter" entweder ein wild gewordener Chat-GPT Bot ist oder ein schon deutlich verwirrter, alter Mann, der tonnenweise Fachbegriffe raushaut, ohne aber sich auf was konzentrieren zu können oder wollen.
Falk B. schrieb: > Also ehrlich, meine innere Stimme sagt, daß der "Günter" entweder ein > wild gewordener Chat-GPT Bot ist oder ein schon deutlich verwirrter, > alter Mann, der tonnenweise Fachbegriffe raushaut, ohne aber sich auf > was konzentrieren zu können oder wollen. Das ist richtig. Und dann kommt dazu dass plötzlich jeder C64-Opa hier meint, jetzt sei die Stunde irgendwelchen Kruden Details oder Anekdoten zu Assembler rauszuhauen. Wie hilft das dem TE? Vielleicht sollte der TE auch nochmal klarstellen was genau sein (Lern)Ziel ist. Rechnerarchitektur vom Transistor bis zu hochoptimierten Architekturen wird an Hochschulen meist in 2 Semestern gelehrt. Dazu gibt es sicher auch genügend Online-Skripte. Dazu die Standardbücher welche Grundlage solcher Vorlesungen sind.
:
Bearbeitet durch User
Günter K. schrieb: > Nun, ja, das Buch zum 8086 war bzw. ist schon sehr Verheißungsvoll, > und es beginnt damit, ein Zeichen auf den Bildschirm zu bringen. > Leider habe ich nicht das Betriebsystem dazu; Hier ist es, dein neues Betreibsystem: https://www.menuetos.net/
Günter K. schrieb: > Gibt es Computer-Programme zum Zeichnen von Ablauf-Diagramme? https://www.websequencediagrams.com/app
Falk B. schrieb: > Also ehrlich, meine innere Stimme sagt, daß der "Günter" entweder ein > wild gewordener Chat-GPT Bot ist oder ein schon deutlich verwirrter, > alter Mann, der tonnenweise Fachbegriffe raushaut, ohne aber sich auf > was konzentrieren zu können oder wollen. Ich denke da irrst du dich. Ich kann mit ihm 100% mitfühlen, denn als ich vor 30 Jahren in der Ausbildung war, wollte ich Computer ebenso detailliert verstehen, wie er. Ich wollte immer zu viel gleichzeitig erforschen, habe mir dabei selbst im Weg gestanden. Ich hatte allerdings einen guten Ausbilder, der meinen Fokus auf die Sachen gerichtet hat, die ich zum jeweiligen Zeitpunkt begreifen konnte.
:
Bearbeitet durch User
Axel S. schrieb: > Dann schau mal, ob es für dein Linux das Paket 'z80dasm' gibt. Ja, das werde ich machen. Ich wollte es für die "Tik Tak Uhr" von Christiani einsetzen. Es ist aber richtig, was die anderen Kollegen sagen, Ich muss erstmal näher zu den Befehlen. Also die Zahlen und das Rechnen kenne ich, auch die Komplementärsubstaktion. Der Sinn der Offset-Speicherung schon weniger, aber ich gehe davon aus, dass es funktioniert. Na ja, dann ist es gut so. Und das hexadezimale Zahlensystem ist sowieso das Bessere. Befehle: Rollen und Schieben ist auch klar. Lade-Befehl: LD Ziel, Quelle ist auch ok. (Auch wenns verdreht ist.) OK. Zum Laden von Regiserinhalten steht auch die indizierte Adressierung zur Verfügung. - Ja, damit das was irgendwo steht geladen werden kann, ist auch zu verstehen. - Weiter lesen abwarten. LG. Enk
Sherlock 🕵🏽♂️ schrieb: > Günter K. schrieb: >> Gibt es Computer-Programme zum Zeichnen von Ablauf-Diagramme? > https://www.websequencediagrams.com/app DANKESCHÖN! LG. Enk.
Günter K. schrieb: > Und das hexadezimale Zahlensystem ist sowieso das Bessere. Verstehe ich nicht! Für mich ist das Hex Dingen nur eine von vielen möglichen Repräsentationen/Darstellungen von Daten.
Arduino F. schrieb: > Günter K. schrieb: >> Und das hexadezimale Zahlensystem ist sowieso das Bessere. > Verstehe ich nicht! > Für mich ist das Hex Dingen nur eine von vielen möglichen > Repräsentationen/Darstellungen von Daten. Na ja, beim Hexadezimalen macht beim Addieren, bei jedem Bit einen Überlauf (Wenn es dran ist, d.h. 1+1). Im BCD-Code muss man aber bei der 9+1, 6 hinzuzählen um 10 zu erhalten. Sehr umständlich. Da werden knapp 30% "verschenkt". Zum Glück, passen diese Zeichen in den 7-Segment-Code. LG. Enk
Arduino F. schrieb: > Günter K. schrieb: >> Und das hexadezimale Zahlensystem ist sowieso das Bessere. > Verstehe ich nicht! > Für mich ist das Hex Dingen nur eine von vielen möglichen > Repräsentationen/Darstellungen von Daten. Und wenn man die Opcodes von 8080/Z80 studiert, ist man Oktal oft besser bedient als Hexadezimal. Auch die Codierung von PDP11 und 68000 zeigte das.
:
Bearbeitet durch User
Moin, Günter K. schrieb: > Und das hexadezimale Zahlensystem ist sowieso das Bessere. Aber doch hoffentlich nur unter besonderer Beruecksichtigung der hier vorgeschlagenen Schreibweisen/Anzeigemoeglichkeiten: Beitrag "Vorschlag zu Hex-Ziffern auf 7-Segment-Anzeigen" Sherlock 🕵🏽♂️ schrieb: > Falk B. schrieb: >> Also ehrlich, meine innere Stimme sagt, daß der "Günter" entweder ein >> wild gewordener Chat-GPT Bot ist oder ein schon deutlich verwirrter, >> alter Mann, der tonnenweise Fachbegriffe raushaut, ohne aber sich auf >> was konzentrieren zu können oder wollen. > > Ich denke da irrst du dich. Ich kann mit ihm 100% mitfühlen, denn als > ich vor 30 Jahren in der Ausbildung war, wollte ich Computer ebenso > detailliert verstehen, wie er. Ich wollte immer zu viel gleichzeitig > erforschen, habe mir dabei selbst im Weg gestanden. Vielleicht bist du ja auch ein wild gewordener Chat-GPT Bot und weisst es nur nicht? scnr, WK
Günter K. schrieb: > Na ja, beim Hexadezimalen macht beim Addieren, bei jedem Bit > einen Überlauf (Wenn es dran ist, d.h. 1+1). > Im BCD-Code muss man aber bei der 9+1, 6 hinzuzählen um 10 zu erhalten. > Sehr umständlich. Da werden knapp 30% "verschenkt". > Zum Glück, passen diese Zeichen in den 7-Segment-Code. Auch wieder eine super zielführende Diskussion jetzt.
(prx) A. K. schrieb: >> Günter K. schrieb: >>> Und das hexadezimale Zahlensystem ist sowieso das Bessere. >> Verstehe ich nicht! >> Für mich ist das Hex Dingen nur eine von vielen möglichen >> Repräsentationen/Darstellungen von Daten. > > Und wenn man die Opcodes von 8080/Z80 studiert, ist man Oktal oft besser > bedient als Hexadezimal. Auch die Codierung von PDP11 und 68000 zeigte > das. Ja, auch interssant. Und die Kinder bräuchten das 1x1 nur bis 64 lernen. :-)) Der Nachteil, die Ziffernketten bei den Zahlen würden viel länger. LG. Enk
Günter K. schrieb: > Und die Kinder bräuchten das 1x1 nur bis 64 lernen. :-)) > Der Nachteil, die Ziffernketten bei den Zahlen würden viel länger. Da die 8080 keine relative Sprünge kennt, kann man darin vergleichsweise einfach direkt in Oktal programmieren, wenn einem Assembler zu abstrakt ist. Bei 6502 und Z80 geht das nicht so einfach.
Dergute W. schrieb: > Vielleicht bist du ja auch ein wild gewordener Chat-GPT Bot und weisst > es nur nicht? Dessen bin ich mir nicht bewusst, darüber muss ich nachdenken.... Habe die Antwort gefunden: Ich denke, als bin ich
Arduino F. schrieb: > Günter K. schrieb: >> Nun, ja, das Buch zum 8086 war bzw. ist schon sehr Verheißungsvoll, >> und es beginnt damit, ein Zeichen auf den Bildschirm zu bringen. >> Leider habe ich nicht das Betriebsystem dazu; > Hier ist es, dein neues Betreibsystem: https://www.menuetos.net/ Lustig! Ich nehme an es an es ist ein Scherz. :-)) Die Programme zu diesem Buch werden zwar geladen, laufen aber nicht, weil das Windows-Betriebsystem zu hoch ist. Vermutlich unter DOS. Das kann WINDOS 10 nicht mehr. Und wenn durch das Assembler (Also nicht der eigentliche selbst s.u.) Ein Zeichen auf den Bildschirm gebracht werden soll, dann darf an dieser Stelle auf dem Bildschirm nichts anders stehen. Doch auch sich das nur vorzustellen. Ist da die Rede von "Direktiven" (Anweisungen an den Assembler). Inzwischen ist mir klar. Die Assemblerliste alleine kann gar nicht assemblieren, denn es braucht ja noch ein Programm das Assembliert, also den eigentlichen *Assembler. Eigentlich müsste das *Assemblerprogamm müsst vor der Assemblerliste gehängt werden, damit man sich vorstellen kann, wie der *Assembler Assembliert hat, und könnte mir ebenso vorstellen, dass dieser Assembler Fehler findet. LG. Enk
Sherlock 🕵🏽♂️ schrieb: > Ich denke da irrst du dich. Ich kann mit ihm 100% mitfühlen, denn als > ich vor 30 Jahren in der Ausbildung war, Er ist nach eigenen Angaben 80! Beitrag "Re: Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?" > Ich hatte allerdings einen guten Ausbilder, der meinen Fokus auf die > Sachen gerichtet hat, die ich zum jeweiligen Zeitpunkt begreifen konnte. Ob das das Forum mit seinen vielen (Borg)stimmen leisten kann? Ob das sinnvoll ist?
Arduino F. schrieb: >> Und das hexadezimale Zahlensystem ist sowieso das Bessere. > Verstehe ich nicht! > Für mich ist das Hex Dingen nur eine von vielen möglichen > Repräsentationen/Darstellungen von Daten. Bome in the air, everywhere I look around . . . Hex in the air, every second every sound . . . ;-)
(prx) A. K. schrieb: > Und wenn man die Opcodes von 8080/Z80 studiert, ist man Oktal oft besser > bedient als Hexadezimal. Auch die Codierung von PDP11 und 68000 zeigte > das. Bitte jetzt noch die Verbindung zur babylonischen Keilschrift herstellen! ;-)
Dergute W. schrieb: > Vielleicht bist du ja auch ein wild gewordener Chat-GPT Bot und weisst > es nur nicht? Ich trolle, also bin ich! (Frei nach Descartes) ;-)
(prx) A. K. schrieb: > Günter K. schrieb: >> Und die Kinder bräuchten das 1x1 nur bis 64 lernen. :-)) >> Der Nachteil, die Ziffernketten bei den Zahlen würden viel länger. > > Da die 8080 keine relative Sprünge kennt, kann man darin vergleichsweise > einfach direkt in Oktal programmieren, wenn einem Assembler zu abstrakt > ist. Bei 6502 und Z80 geht das nicht so einfach. Interssant, bin mal gespannt was da noch kommt. Ja gerade Assembler ist mir am wenigsten abstrakt. LG. Enk
:
Bearbeitet durch User
Sherlock 🕵🏽♂️ schrieb: > Falk B. schrieb: >> Er ist nach eigenen Angaben 80! :-)) 79 im 80. :-)) LG. Enk
Günter K. schrieb:Dann werde ich ja > bald loslegen können. Wenn du es wirklich wirklich wirklich lernen willst, hier ein Tipp: https://de.wikipedia.org/wiki/Know-how-Computer Der ist afaik open-source. Ansonsten hätte ich noch auf Lager: https://falstad.com/circuit/circuitjs.html Da kannst du dich online mit digitalen Verknüpfungen austoben. Zum tieferen Verständnis hilft hier auch https://de.wikipedia.org/wiki/Boolesche_Algebra Wie z.B. ein Volladdierer funktioniert, findet man auch dort: https://de.wikipedia.org/wiki/Volladdierer Wenn du das verstanden hast, kannst dich an https://de.wikipedia.org/wiki/Arithmetisch-logische_Einheit wagen. Und dann wieder zurück zum Know-How-Computer. Dann bestellst du dir mal ein paar Breadboards und Logik-Bausteine vom Typ 74xx00P und für jeden einen 10nF-Kondensator, ein 5-Volt-Netzteil, ein paar Jumperkabel, ein paar 1k-Widerstände, ein paar rote LEDs und ein paar Taster, und schon ist es elektronisch. Die ersten "CPUs" waren genauso aufgebaut. Wenn du dann irgendwann bereit bist fürs "echte Leben", hast du schonmal eine Spannungsversorgung, Breadboards und Jumperkabel. Und dann kaufst du dir einen µC, also so einen super winzigen Chip, zum Lernen ohne Tamtam auf einem Breakout-Board wie diesem hier: https://www.az-delivery.de/products/digispark-board?variant=27602549577 Zum Chip findest du hier ein paar Informationen drumherum: https://de.wikipedia.org/wiki/Microchip_AVR Der Unterschied zwischen Maschinensprache und Assembler ist so gut wie keiner, außer dass viele Assembler Makros unterstützen. Zum Beispiel gibt es in Assembler (egal für welchen Proz) keine Schleifen, sondern nur Sprunganweisungen. Assembler und Maschinencode sind (wie gesagt, bis auf Makros) 1:1. Assembler unterscheiden sich nur in der Schreibweise und sind architektur-abhängig. Bei manchen Prozessoren heißt ein unbedingter Sprungbefehl JP, beim nächsten JMP, beim nächsten JUMP. Das ist so, wie ein Apfel auf Englisch Apple und auf Spanisch Manzana heißt, aber immer noch ein malus domestica ist. Und weil Assembler so architektur-abhängig sind, hat man Programmiersprachen erfunden, etwa die Sprache "C" (https://de.wikipedia.org/wiki/C_(Programmiersprache)). Die meisten C-Compiler beherrschen die Fähigkeit, auch Assemblercode zu verstehen. Modernere Programmiersprachen wie etwa Python, Java, C# etc sind dazu da, Probleme abstrakter lösen zu können, am besten so, dass sie eben nicht nur auf einem speziellen µP lösbar sind, sondern auf egal welchen. Hierzu gibt es dann so genannte "Runtimes", die dies ermöglichen. Software-Entwicklung heutzutage geht eben nicht mehr so: "Ich möchte, dass der Pin 2 vom µC xyz auf 5V geht", sondern so: "Ich möchte, dass das Licht hier im Raum je nach Uhrzeit mit kälterer oder wärmerer Lichttemperatur an geht, und mein Lieblingssong soll auch gespielt werden!" So gesehen ist das Verstehen von Bauteilen, vom Widerstand bis zu einer GPU, wichtig, eine Grundlage. Darum bin ich ja auch hier, weil ich so viele analoge Bauelemente eher anschaue wie "Hä? Wer bist du denn, und was machst du da??" ^-^
:
Bearbeitet durch User
Günter K. (enk) > Es stehen aber auch fragen an, wie der Assembler funktioniert. Günter, kennst du ChatGPT? Das könnte dir bei vielen deiner Fragen helfen: https://chatgpt.com/ Tippe dort mal folgendes ein (oder kopiere den Satz):
1 | Z80 assembler: schreibe ein programm, welches von 0 bis 10 zählt |
Günter K. schrieb: > Interssant, bin mal gespannt was da noch kommt. > Ja gerade Assembler ist mir am wenigsten abstrakt. Assembler ist eine Abstraktionsebene von direktem Code. 8080/Z80 Move in Oktal: 1xy = von y nach x x,y: 0=B,1=C,2=D,3=E,4=H,5=L,6=(HL),7=A 121: Move von C nach D. 166: (HL)=>(HL) ist statt dessen HLT
:
Bearbeitet durch User
Beitrag #7757220 wurde vom Autor gelöscht.
Christoph M. schrieb: > Günter K. (enk) >> Es stehen aber auch fragen an, wie der Assembler funktioniert. > > Günter, kennst du ChatGPT? Das könnte dir bei vielen deiner Fragen > helfen: >
1 | > Z80 assembler: schreibe ein programm, welches von 0 bis 10 zählt |
2 | > |
Es funktioniert erstaunlich gut:
1 | ORG 0x0000 ; Anfang der Programmadresse |
2 | LD A, 0 ; Lade den Zähler mit 0 (Startwert) |
3 | |
4 | LOOP: CP 11 ; Vergleiche A mit 11 (Zielwert) |
5 | JP Z, END ; Wenn A = 11, springe zum Ende des Programms |
6 | |
7 | ; Hier könntest du eine Ausgabe einfügen, falls nötig, z.B.: |
8 | ; OUT (PORT), A ; Ausgabe des Zählers auf einen Port (optional) |
9 | |
10 | INC A ; Erhöhe A um 1 |
11 | JP LOOP ; Springe zurück zur Schleife |
12 | |
13 | END: NOP ; Ende des Programms (oder hier weitermachen) |
14 | HALT ; Halte die CPU an (typisch für das Ende eines Programms) |
Günter K. schrieb: >> Hier ist es, dein neues Betreibsystem: https://www.menuetos.net/ > > Lustig! Ich nehme an es an es ist ein Scherz. :-)) Eigentlich nicht.
Arduino F. schrieb: > Hier ist es, dein neues Betreibsystem: https://www.menuetos.net/ >> >> Lustig! Ich nehme an es an es ist ein Scherz. :-)) > > Eigentlich nicht. Doch, das ist ein Scherz. Mit einem modernen OS hat das sicher nichts zu tun. Es liest sich wie von einem alten Herrn, der Class D-Verstärker für Teufelszeug hält und nachts mit einer Röhre kuschelt.
:
Bearbeitet durch User
Hallo Carsten, oh, da hast Du Dir ja wirklich große Mühe gegeben, dem Günter (und vermutlich nicht nur dem) den Weg und die entsprechenden Ressourcen zu zeigen. Klasse! Nur ein klitzekleiner Punkt: Carsten P. schrieb: > Software-Entwicklung heutzutage geht eben nicht mehr so: "Ich möchte, > dass der Pin 2 vom µC xyz auf 5V geht", sondern so: ... Na ja, aber man fängt doch auch heute noch mit helloWorld bzw. Blinklicht an. ;-) ciao Marci
:
Bearbeitet durch User
Hallo, Günter K. schrieb: > Aber erst mal zurück zum Z80; - denn man möchte ja erstmal, > seine eigenen Erfolge sehen. Wie gesagt Papier, Bleistift, Radiergummi besorgen und dann Kapitel für Kapitel im Z80-Buch durcharbeiten. Oder du besorgst dir einen Z80-Simulator (z.B. https://www.heinpragt-software.com/z80-processor-ide/). Das hat den Vorteil, das du dir direkt ansehen kannst was du da so programmiert hast. Und konzentriere dich für den Anfang auf das Assemblerprogramm, welcher Hex-Code daraus letztlich vom Assembler erzeugt wird ist erstmal unwichtig. rhf
Carsten P. schrieb: > https://de.wikipedia.org/wiki/Microchip_AVR > > Der Unterschied zwischen Maschinensprache und Assembler ist so gut wie > keiner, außer dass viele Assembler Makros unterstützen. So ein Käse! Maschinensprache sind reine (HEX)zahlen! Assembler sind menschenlesbare Befehle, wenn gleich meist abgekürzte, englische Worte. Auch wenn Assembler praktisch 1:1 in Maschinensprache übersetzt wird, liegen Welten dazwischen. Auch eben weil das Programm "Assembler" viele nützliche bzw. notwendige Hilfskonstruktionen bereitstellt, sei es zur Definition von Variablen oder diverse Assemblerdirektiven! Siehe Anhang!
Arduino F. schrieb: > Günter K. schrieb: >>> Hier ist es, dein neues Betriebsystem: https://www.menuetos.net/ >> >> Lustig! Ich nehme an es an es ist ein Scherz. :-)) > > Eigentlich nicht Ok,meine Antwort war in der 5. Zeile. ">> Lustig! ... " Ich hatte es nur flüchtig überflogen. Und eben gründlich durchgelesen. - Tatsächlich wäre das, wirklich zuviel für mich. Allerdings finde ich es von Vorteil, dann bei mehreren Prozessoren wenn andere Prozessoren etwas tun, wenn man dadurch, - andere Programme, evtl. einfacher zu gestalten kann. Allerdings bin ich ja noch nicht am Anfang angekommen. Ich weiß zwar schon einiges, ist aber lange noch nicht ausreichend. LG Enk. PS.: Jetzt lese ich erst mal die nächsten Beiträge durch, und dann möchte ich noch auf einen, den mit dem Progrämmle vom Manual eingehen. Ich kann zwar kein Englisch oder nur sehr schlecht; das werde ich (vielleicht) - irgendwie auch noch hinkriegen.
:
Bearbeitet durch User
Günter K. schrieb: > Aber auch einen passenden Emulator der CPU auf einen anderen Computer. > Interessant wäre noch, wie der Akkumulator von innen arbeitet; - alles > in der CPU sollte sichtbar sein. Jasmin ist auch sehr schön: https://github.com/TUM-LRR/Jasmin Auch der Intel 4004 ist ein schönes Studierprojekt. Auch die Computergeschichte hilft weiter. Assembler sind einfach nur Merkwörter für Opcodes. Beim Intel ist auch toll, wenn die Jump-Befehle (Hexcodes) 7B(Jump if Lower) oder 7E (Jump bei Gleichheit) oder 7A (Jump wenn drüber) oder 7C (Jump bei 0 oder "JL" oder wie auch immer) usw. heißen. Ein Sprung ist einfach, Schritte im Programmcounter nach vorne zu überspringen, oder eben rückwärts ein oder mehrere Schritte zurückspringen Assemblerdirektiven sind einfach eine Formatregelung, die kann man vergleichen mit: auf welchen Papier man schreiben soll. A5, A4, Schönschrift, Gedruckt usw. Nur eben bezogen auf eine voreingestellte Programmstruktur. Intern werden fertige (geschriebene) Programme in einen flüchtigen Speicher geschrieben bzw. dahinein übersetzt, und dann werden die schrittweise mit einem internen Programmzähler abgearbeitet. Interrupt-Listen beim 8086 sind einfach nur Links zu einem komplexeren Unterprogramm, teilweise zu Treibern, oder zu grundlegenden oder wichtigen Betriebssystemfunktionen. Man kann sich das in etwa so vorstellen: Jemand hat ein ganzes großes Hochhaus für sich alleine, und fängt von unten an, sich eine Etage höher zu arbeiten. Auf Jeder Etage werden die Lichter für die Fenster nach draußen individuell eingestellt. Was man dann sehen kann, sind verschiedene Lichtbilder am Hochhaus. Sehr viel anders als die echten Schaltungen in den Schaltkreisen sind die auch nicht. Und eine große Hilfe diesbezüglich sind auch (binäre) Wertetabellen. Wie man mit wenig Code oder mit viel Know How aus ein Programm, das viel aus dem Compi herausholt, kann man bei der Demoscene lernen: https://www.pouet.net (https://www.youtube.com/watch?v=gJhVjIhsMBI) Einen 6502 Emulator habe, ne hatte ich mal auf dem Handy - (in Java geschrieben) - würde aber nicht sagen, dass das so für sich so toll ist. Bringt irgendwie nicht viel, wenn man die Originalzeiten, und Hardware, Zeitschriften usw. nicht um sich hat. Ein C64-Konsole (auf dem Handy) ist so für sich auch nicht unbedingt so der Bringer. Man versteht das ganze auch viel besser, wenn man vorher schon mal ein paar komplexere Platinen hergestellt oder verlötet hatte. Darüberhinaus hilft es auch noch, den Unterschied zwischen Analoger Technik, und der Digitaltechnik im Hinterkopf zu haben. (z.B. https://www.bonedo.de/artikel/ssm-curtis-chips-kurzgeschichte-ueber-den-sound-der-80er-jahre/)
Thomas W. schrieb: > Christoph M. schrieb: >> Günter K. (enk) Hallo Thomas W. ist das das Progrämle aus dem MP-1? > 18.10.2024 17:38 Hallo Thomas W. ist das das Progrämle aus dem MP-1? Ich werde langsam Müde, bei der Beantwortng einiger Beiträge habe ich mich verhäddert. Danke Euch allen, ich melde mich wieder; - da sind aber noch wirklich gute Ratschläge von Euch, die ich wirklich noch bearbeiten möchte - DANKESCHÖN formerror_too_many_quoted_lines
Roland F. schrieb: > allo, > Günter K. schrieb: >> Aber erst mal zurück zum Z80; - denn man möchte ja erstmal, >> seine eigenen Erfolge sehen. > > Wie gesagt Papier, Bleistift, Radiergummi besorgen und dann Kapitel für > Kapitel im Z80-Buch durcharbeiten. ... usw. Nochmal, vielen Dank Euch allen, ich hatte mich schon bei der Beantwortung der Fragen verheddert. Erstmal gute Nacht, morgen habe ich viel Hausarbeit. Ich melde mich wieder. VIELEN DANK auch für die VIELEN GUTEN RATSCHLÄGE! Es sind wirklich gute neue interssante Sachen dabei! Gute Nacht.
Günter K. schrieb: > vielleicht sogar mit 64 Bit. Zum lernen völlig ungeeignet. Monk schrieb: >> 6502, Z80 oder ein 8086 > > Wo bekommst du die her? Ich könnte einige liefern. Derzeit bin ich hin und hergerissen, ob ich ein System mit 68000 aufbaue. Tatsächlich habe ich aber keine wirkliche Verwendung dafür. Aber wollen würd' ich schon gerne. Allerdings gibt es dort kein X,Y,A ... Ansonsten könnte ich mir für den TO auch ein 8032 -mit externem ROM und RAM- vorstellen. Damit kann man sowohl von-Neumann-Architektur, als auch Harvard-Architektur, sogar gemischt oder umschaltbar, betreiben. Vorteil: Timer und UART sind schon an Board. Gruß
Was auch helfen kann, ist sich Lernvideos auf Youtube anzuschauen. Hier ist eines: https://www.youtube.com/watch?v=_J4ahkWtNYw In Deutsch scheint es allerdings weniger Videos zu geben.
Jobst M. schrieb: > Derzeit bin ich hin und hergerissen, ob ich ein System mit 68000 > aufbaue. Tatsächlich habe ich aber keine wirkliche Verwendung dafür. > Aber wollen würd' ich schon gerne. > Allerdings gibt es dort kein X,Y,A ... Ich hatte mir auch mal ueberlegt, ein 68020-System zu bauen (32bit muss sein). Dann wurde mir klar, dass der Verdrahtungsaufwand schon recht heftig ist bei einem 32bit System. Deswegen habe ich es gelassen. Aber: 68008 gibt es ja auch, und sogar einen Bausatz: https://shop.mcjohn.it/en/diy-kit/46-94-68k-mbc.html#/12-kit-to_assemble/16-ram-1024_kb https://hackaday.io/project/177988-68k-mbc-a-3-ics-68008-homebrew-computer Herrlich, was heute machbar ist. Fuer relativ wenig Geld. Gruesse
Rbx schrieb: > Assembler sind einfach nur Merkwörter für Opcodes. Ja, ganz einfach weil sich normale Menschen Wörter deutlich besser merken können als reine Zahlen. Erst recht, wenn sie sich an natürlicher Sprache orientieren, denn die behrrscht der Mensch schon. Bei Autisten ist das anders. > Man versteht das ganze auch viel besser, wenn man vorher schon mal ein > paar komplexere Platinen hergestellt oder verlötet hatte. Unsinn! Um Digitaltechnik zu lernen und zu verstehen muss man nicht VORHER Hardwerker werden. Man wird es bestenfalls HINTERHER.
Rbx schrieb: > Man versteht das ganze auch viel besser, wenn man vorher schon mal ein > paar komplexere Platinen hergestellt oder verlötet hatte. Voraussetzung ist die Fähigkeit zu prozeduralem Denken, also in klar definierten Abläufen. Manche Menschen sind darin sehr gut. Anderen kannst du eine blitzsaubere Anleitung vorsetzen, und sie schaffen es nicht, sie Schritt für Schritt abzuarbeiten, sondern fangen mitten drin an und springen wild drin herum. Keine generelle Voraussetzung ist jedoch, sich die Vorgänge in realen Elementen wie schaltenden Transistoren und leuchtenden LEDs vorzustellen. Das ist nur bei jenen Menschen nötig, denen die Fähigkeit zur Abstraktion schwach ausgeprägt ist. Denen es hilft, sich das in realen Vorgängen vorzustellen.
:
Bearbeitet durch User
https://de.wikipedia.org/wiki/Assemblersprache#Mnemonic "Da die Zahlenwerte der Opcodes schwierig zu merken sind, verwenden Assemblersprachen leichter merkbare Kürzel, sogenannte mnemonische Symbole (kurz Mnemonics)."
Thomas W. schrieb: > https://hackaday.io/project/177988-68k-mbc-a-3-ics-68008-homebrew-computer > > Herrlich, was heute machbar ist. Fuer relativ wenig Geld. Und relativ wenig Sinn. Wenn man mit einem 68k rumspielen will, sollte man einen Amiga nehmen. Denn dann hat man tonnenweise Software dazu und auch Hardware, mit der man was anstellen kann. Ein olles Minimalsystem mit 68k um ein paar IOs klimpern zu lassen und ein olles grünes Terminal mit ein paar Buchstaben zu füllen ist an Langweile kaum zu überbieten.
Falk B. schrieb: > sollte man einen Amiga nehmen Werden die nicht mittlerweile in Gold aufgewogen? :)
Günter K. schrieb: > habe Eure wirklich gut gemeinten Worte verstanden Nein. Ganz offensichtlich nicht. Mir kommen auch erhebliche Zweifel ob weitere Diskussionen mir Dir zielführend sind. Du scheinst in einer Endlosschleife aus hektischer Aktivität ohne klare Zielstellung und ohne Aufgabensplitting festuhängen und nicht in der Lage zu sein zwei Schritte zurückzugehen und mal ganz grundlegend EINE ENZIGE Sache zu definieren die Du verstehen willst. Im Übertragenen Sinn: Du willst mit dem Auto nach Paris und fragst Dich jetzt wie eigentlich Alu Verhüttet wird um die Motorblöcke zu giessen und wie dann die Verbrennung gesteuert wird, Vergaser oder Direkteinspritzer und wie Vulkanisiert man eigentlich Gummi für die Reifen und wie bohrt man eigentlich die Löcher um an das Öl dafür zu kommen, weil man muss ja auch die Generatoren für die Halbleiterwerke bauen für die Steuerchips fürs Auto ... Und egal was man sagt, Du sagts freundlich danke und fragst dann wie das doch gleich mit der Gasdruckfeder funktioniert für das Auto und das Du noch französisch lernen musst. Meine Güte! Lern doch erstmal Auto FAHREN, bevor Du dich im irgendwas sonst kümmerst! Paris ist weit weg und die erste Fahrt sollte wohl erstmal Sonntags um den Block gehen. So wie Du da rangehst, mit einem verkrusteten Christianiverlag, dem Lernmedium von vor 30J, mit CPUs von vor 30J, mit Software und Rechnern und Programmierequipment von vor 30J um damit interne Halbleitervorgänge sehen zu wollen... Mein letzter Versuch: Nehme Dir eine einfache CPU die fast jeder kennt, mit einer Programmierumgebung die aktuell ist und gut unterstützt und für die Du ganz viel Hilfe überall bekommen kannst. Damit machst Du etwas das wir 'hello, World!' Programm nennen. Ein einfaches Programm, das beweist das man ein programm auf der CPU ausführen kann. Die absolute Basis für jede weitere Arbeit. Das wird Dich ein eWeile in Aktion halten. Ohne das Du E-Schrott Container und Flohmärkte nach längst ausgestorbenen Equipment durchsuchen musst und von Silberfischen angenagten Floppy Drive Hüllen nachjagts. Ergo: Kaufe Dir für ganz kleines Geld einen Arduino, installiere die IDE, stecke das USB Kabel an und leg los. WENN Du dann die allergrundlegensten Sachen hinbekommst, schnappst du dir das Datemblatt zum AVR Controller der darauf verbaut ist und sprichst mal die Hardware im Controller direkt an. WENN Du das geschafft hast, kannst Du Dir ja mal den übersetzten Assemblercode ansehen oder auch selbst einzelne ASM Passagen im Programm verwenden. Und wenn Du bis dahin noch nicht verzweifelt bist und noch rüstig genug, kannst Du ja mal die grundlegenden Hardwareinheiten verstehen wollen. Aber das liegt noch sehr weit weg für Dich.
(prx) A. K. schrieb: > Falk B. schrieb: >> sollte man einen Amiga nehmen > > Werden die nicht mittlerweile in Gold aufgewogen? :) Nicht wirklich. Falls jemand ein 68000 System zum Spielen sucht: ich hätte noch einen Atari 1040STF mit Monitor abzugeben.
Axel S. schrieb: > Nicht wirklich. Falls jemand ein 68000 System zum Spielen sucht: ich > hätte noch einen Atari 1040STF mit Monitor abzugeben. https://www.youtube.com/watch?v=efn8Hz6JSIQ ;-)
Falk B. schrieb: > Rbx schrieb: >> Assembler sind einfach nur Merkwörter für Opcodes. > > Ja, ganz einfach weil sich normale Menschen Wörter deutlich besser > merken können als reine Zahlen. Erst recht, wenn sie sich an natürlicher > Sprache orientieren, denn die behrrscht der Mensch schon. > Bei Autisten ist das anders. > >> Man versteht das ganze auch viel besser, wenn man vorher schon mal ein >> paar komplexere Platinen hergestellt oder verlötet hatte. > > Unsinn! Um Digitaltechnik zu lernen und zu verstehen muss man nicht > VORHER Hardwerker werden. Man wird es bestenfalls HINTERHER. Hallo Leute, ich denke es wird ganz verschieden sein, je nach dem wie der Mensch veranlagt ist, wie Rbx zB. über Autisten schrieb. Es wird auch damit zusammenhängen welche Möglichkeiten zur Entwicklung da waren. Ich denke es gibt Leute, die sind wie fürs Handwerk geboren. Eine Frage fürs Forum hätte ich bitte noch gerne. Wie macht man die Buchstaben farbig um besser zu unterscheiden, wer was sagt? Ja ich sehe gerade, die Forumsoftware macht das automatisch. Heute habe ich Haushalts-Tag, in der Zeit sitze ich dann nicht am Rechner. Die guten Vorschläge, nehme ich mir zu Herzen. Außer, dass ich mit dem Z80 weiter machen möchte, dort das Uhren-Programm mit Disassembler analysiern und verstehen lernen; denn wenn es disassembelt ist, werde ich es noch nicht verstanden haben. Das da viel incrementiert wird, oder vielleicht auch viel decrementier um das Zero-Flag abzufragen, kann ich mir schon vorstellen. Es gibt ICs die können selber das Nibbel-Bitmuster in 7-Segment umwandeln. Bei dem MPF-1, sieht es aber nicht so aus. Man kann sich vorstellen, was die Hardware selber macht, braucht nicht programmiert zu werden. Ich wundere mich aber, dass das Prg, so kurz ist. Also jetzt steht erst einmal die Haushalts-Arbeit an. Vielen Dank nochmal für Eure guten Tipps. Auch dem für Bleistift u. Radiergummi. Dem Tipp für die kleinen µCs, und Dem Disassembler für LINUX. Ich melde mich wieder. LG. Enk PS.: Die anderen E-Mails muss ich noch Lesen.
:
Bearbeitet durch User
Günter K. schrieb: > Wie macht man die Buchstaben > farbig um besser zu unterscheiden, wer was sagt? Text markieren, dann auf "Markierten Text zitieren" klicken.
(prx) A. K. schrieb: >> sollte man einen Amiga nehmen > > Werden die nicht mittlerweile in Gold aufgewogen? :) https://www.youtube.com/watch?v=-5ks5ms3z4w LOL
Falk B. schrieb: > Thomas W. schrieb: >> https://hackaday.io/project/177988-68k-mbc-a-3-ics-68008-homebrew-computer >> >> Herrlich, was heute machbar ist. Fuer relativ wenig Geld. > > Und relativ wenig Sinn. Wenn man mit einem 68k rumspielen will, sollte > man einen Amiga nehmen. Dann moechte ich nicht wissen, was Du von meinen Vaxen (Plural von VAX) haelst. Aber ich gebe Dir ein bischen Recht: Meine VAX ist mittlerweile voll emuliert, eine virtuelle Maschine mit Gigabit-Ethernet, Platten-IO-Leistung zum Abwinken, 512MB RAM, CPU-Leistung mehr als genug (zwar nur ein Kern, aber das war im Orginal auch so). Nur die schoene Abwaerme im Herbst und das Rauschen der acht Luefter, das fehlt mir (ich habe mir die Terminal-Farbe bei Putty auf Amber und gruen gesetzt...)
Thomas W. schrieb: > Dann moechte ich nicht wissen, was Du von meinen Vaxen (Plural von VAX) > haelst. Nicht dass es jemand mit vaxxen verwechselt. Da sind manche etwas empfindlich. :) Eine VAX der späteren Generation könnte man als Höhepunkt einer Fehlentwicklung betrachten. Aber all Ding hat seine Zeit.
:
Bearbeitet durch User
Wenn man wirklich sehen will, was in einem Prozessor so abgeht, dann lohnt sich vielleicht ein mehrtägiger Museumsbesuch in Cambridge, wo dieses Ding inzwischen steht: https://www.megaprocessor.com/ https://www.youtube.com/playlist?list=PLNmCdcvSgJj5bllQx5E3A6OsbMq2luA9J Aber ohne Englischkenntnisse auch wieder blöd, sorry.
:
Bearbeitet durch User
Günter K. schrieb: > Ich wundere > mich aber, dass das Prg, so kurz ist. Das liegt daran, dass Routinen aus dem Monitor (=Betriebssystem) des Mikroprofessors mit benutzt werden. Das wären die Tonausgabe, das Wandeln in Siebensegmentcode und die Anzeige auf dem Diplay. Allerdings dürfte die Uhr alles andere als genau gehen, da der Sekundentakt nur grob aus Programmlaufzeiten abgeleitet wird.
(prx) A. K. schrieb: > Eine VAX der späteren Generation könnte man als Höhepunkt einer > Fehlentwicklung betrachten. Aber all Ding hat seine Zeit. Die ganze Menschheitsgeschichte ist voll von Fehlentwicklungen! Und auch die GEGENWART, nicht nur was Computer angeht! Aus den meisten lernt man was, wenn oft leider erst spät und mit einem hohen Preis!
Roland F. schrieb: >> Allerdings gibt es dort kein X,Y,A ... > > Gott sei Dank! Dann lieber Y, M, C, A! https://www.youtube.com/watch?v=CS9OO0S5w2k ;-)
Falk B. schrieb: > (prx) A. K. schrieb: >> Eine VAX der späteren Generation könnte man als Höhepunkt einer >> Fehlentwicklung betrachten. Aber all Ding hat seine Zeit. > > Die ganze Menschheitsgeschichte ist voll von Fehlentwicklungen! Und auch > die GEGENWART, nicht nur was Computer angeht! Aus den meisten lernt man > was, wenn oft leider erst spät und mit einem hohen Preis! Experience is a hard teacher. First comes the test, then the lesson.
Thomas W. schrieb: >> Die ganze Menschheitsgeschichte ist voll von Fehlentwicklungen! Und auch >> die GEGENWART, nicht nur was Computer angeht! Aus den meisten lernt man >> was, wenn oft leider erst spät und mit einem hohen Preis! > > Experience is a hard teacher. First comes the test, then the lesson. Es gibt drei Wege zur Erkenntnis. Durch Nachmachen, das ist der Einfachste. Durch Nachdenken, das ist der Edelste. Durch Erfahrung, das ist der Bitterste. Konfuzius (oder war's Laotse?)
Thomas W. schrieb: > 68008 gibt es ja auch Aber von den 68000 habe ich nun noch einen ganzen Sack. Falk B. schrieb: > Wenn man mit einem 68k rumspielen will, sollte > man einen Amiga nehmen. Davon habe ich bereits einige. Der ist aber nicht das was ich will. Roland F. schrieb: > Gott sei Dank! In der Tat! Aber der TO steht drauf. Hatte gehofft, ihn mit dem 68k ablenken zu können ;-)
Falk B. schrieb: > (oder war's Laotse?) Meine These: alle 3, in dieser Reihenfolge. Erst macht man nach, kapiert aber nichts. Dann denkt man drüber nach, kommt dabei auf großartige Ideen und realisiert sie. Anschließend wird man auf den Boden der Tatsachen zurück geholt.
Jobst M. schrieb: > Thomas W. schrieb: >> 68008 gibt es ja auch > > Aber von den 68000 habe ich nun noch einen ganzen Sack. Dann mach eine Moasik-Legearbeit draus! Oder ein Dominospiel! Nicht zu verwechseln mit Dominaspielen ;-) > Falk B. schrieb: >> Wenn man mit einem 68k rumspielen will, sollte >> man einen Amiga nehmen. > > Davon habe ich bereits einige. Der ist aber nicht das was ich will. Tja, dann wird's nicht besser. Nicht mit 68k.
Falk B. schrieb: > Dann mach eine Moasik-Legearbeit draus! Oder ein Dominospiel! Ich bin fassungslos über diese vollkommen verblödete Idee.
Jobst M. schrieb: > Falk B. schrieb: >> Dann mach eine Moasik-Legearbeit draus! Oder ein Dominospiel! > > Ich bin fassungslos über diese vollkommen verblödete Idee. Ich bin fassunglos über deine Fassungslosigkeit aufgrund eines unlustigen Witzes.
Falk B. schrieb: > Unsinn! Um Digitaltechnik zu lernen und zu verstehen muss man nicht > VORHER Hardwerker werden. Man wird es bestenfalls HINTERHER. Digitaltechnik an sich ist einfach nur Abzählerei. Darüber hinaus geht es aber um Grundtechnik von Schaltungen und Zusammenhängen zu verstehen. Analogtechnik heißt ja auch Analog, weil sie so anschaulich ist. Analog kann man kontinuierliche Verläufe verfolgen, also stufenlos verfolgen, digital eben nur abgezählte, die allenfalls stufenlos imitieren, inklusive der Verzerrung wegen den nötigen Abstufungen. (http://studio96.de/artikel/art010609%20analog%20digital%20wandlung.html) Außerdem kam früher alles bezüglich Computerzusammenhängen mit guten Erklärungen daher. Wenn also jemand etwas von Grund auf verstehen möchte, kommt man auch schlecht an der Analogtechnik vorbei. Ist doch so ähnlich, wie bei einem Apfel und Birne Vergleich: Vergleicht man beide, erkennt man die Unterschiede viel besser und so auch den Apfel und die Birne.
Jobst M. schrieb: > Derzeit bin ich hin und hergerissen, ob ich ein System mit 68000 > aufbaue. Tatsächlich habe ich aber keine wirkliche Verwendung dafür. > Aber wollen würd' ich schon gerne. Mach doch was praktisches. Drumcomputer/Samper z.B.,.. naja, Atari Falcon mit DSP war wohl damals ein bisschen viel auf einmal, und Kompatibilität und Fertigung war wohl auch ziemlich schwierig. Aber wenn man selber was versucht, warum nicht 68000 mit DSP oder mit Cell oder irgendwie sowas? Die Filtertabellen vom Yamaha TX16W Sampler hatten auch etwas für sich - waren aber nur rudimentär angedeutet implementiert, und so kaum nutzbar. Aber mit DSP oder ähnlichem ginge das schon viel besser.
>Aber wenn man selber was versucht, warum nicht 68000 mit DSP oder mit >Cell oder irgendwie sowas? Totaler Käse, Zeitverschwendung. Für Signalverarbeitung ist viel Rechenleistung immer gut. Das geht zwar auch mit einem Attiny, aber 96kHz Stereo 16Bit ist da nicht drinn. Das kleinste, was man heute nehmen würde ist ein ESP32, PiPico, STM32H7 und dann die RasperiPi Liga und dann mit richtig Leistung CUDA und Grafikkarte.
Christoph M. schrieb: >>Aber wenn man selber was versucht, warum nicht 68000 mit DSP oder mit >>Cell oder irgendwie sowas? > Totaler Käse, Zeitverschwendung. > Für Signalverarbeitung ist viel Rechenleistung immer gut. Das geht zwar > auch mit einem Attiny, aber 96kHz Stereo 16Bit ist da nicht drinn. > Das kleinste, was man heute nehmen würde ist ein ESP32, PiPico, STM32H7 > und dann die RasperiPi Liga und dann mit richtig Leistung CUDA und > Grafikkarte. Hallo Leute, grüßt Euch, wie sieht es mit RasperiPi aus? Es geht mir ja darum, etwas -einfaches- zu haben. Also fast zurück, bis nach ELISA von Professor Joseph Weizenbaum. LG. Enk
:
Bearbeitet durch User
Klaus schrieb: > Günter K. schrieb: >> wie sieht es mit RasperiPi aus? > > Weder alt noch einfach. Hallo Klaus, Danke.
Mario M. schrieb: > Günter K. schrieb: >> Ich wundere >> mich aber, dass das Prg, so kurz ist. > > Das liegt daran, dass Routinen aus dem Monitor (=Betriebssystem) des > Mikroprofessors mit benutzt werden. Das wären die Tonausgabe, das > Wandeln in Siebensegmentcode und die Anzeige auf dem Diplay. Allerdings > dürfte die Uhr alles andere als genau gehen, da der Sekundentakt nur > grob aus Programmlaufzeiten abgeleitet wird. Dankeschön Mario, das ist eine gute Anwort. LG. Enk
Günter K. schrieb: > Hallo Leute, grüßt Euch, > wie sieht es mit RasperiPi aus? Jetzt ist es vorbei. Der Raspberry Pi ist ein PC!
:
Bearbeitet durch User
Sherlock 🕵🏽♂️ schrieb: > Raspberry Pi ist ein PC! Naja, es gibt auch Mikrocontroller von Raspberry Pi, den RP2040 oder RP2350. Aber die sind auch nicht sehr "einfach" wie hier gewünscht.
Julian L. schrieb: > Naja, es gibt auch Mikrocontroller von Raspberry Pi, den RP2040 oder > RP2350. Nein. Der "Raspberry Pi" ist ein Computer und die Firma heißt "Raspberry Foundation". Das "Raspberry Pi Pico" Board ist ein Mikrocontroller Board. Das ist nicht der "Raspberry Pi" um den es hier ging. Ich habe mir diese verwirrenden Namen nicht ausgedacht. > Aber die sind auch nicht sehr "einfach" wie hier gewünscht. richtig
:
Bearbeitet durch User
Sherlock 🕵🏽♂️ schrieb: > Julian L. schrieb: >> Naja, es gibt auch Mikrocontroller von Raspberry Pi, den RP2040 oder >> RP2350. > > Nein. Der "Raspberry Pi" ist ein Computer und die Firma heißt "Raspberry > Foundation". Die Firma heisst: "Raspberry Pi Ltd". Deren Seinszweck ist unzweifelhaft die Erzielung von Profit.
Julian L. schrieb: > es gibt auch Mikrocontroller von Raspberry Pi, den RP2040 oder > RP2350. Aber die sind auch nicht sehr "einfach" wie hier gewünscht. Immerhin kann der RP2040 vollständiges CP/M. Womit man dann mit beiden Beinen in der 8080/Z80 Welt steht.
Arduino F. schrieb: > Immerhin kann der RP2040 vollständiges CP/M. > Womit man dann mit beiden Beinen in der 8080/Z80 Welt steht. So wie im Morast. Wer will da heute nicht stehen, nicht wahr? ;-) https://www.youtube.com/watch?v=Gwa7hXrvUG8 Das hat sich's im Morast gereeeecht . . . . ;-) Brüller
:
Bearbeitet durch User
Motopick schrieb: >> Nein. Der "Raspberry Pi" ist ein Computer und die Firma heißt "Raspberry >> Foundation". > > Die Firma heisst: "Raspberry Pi Ltd". Raspberry Pi Holdings Raspberry Pi Ltd Raspberry Foundation
(prx) A. K. schrieb: >> Die Firma heisst: "Raspberry Pi Ltd". > > Raspberry Pi Holdings > Raspberry Pi Ltd > Raspberry Foundation Klingt nach Briefkastenfirmen auf den Cayman Islands ;-)
(prx) A. K. schrieb: > Motopick schrieb: >>> Nein. Der "Raspberry Pi" ist ein Computer und die Firma heißt "Raspberry >>> Foundation". >> >> Die Firma heisst: "Raspberry Pi Ltd". > > Raspberry Pi Holdings > Raspberry Pi Ltd > Raspberry Foundation Was auch immer. Profit! > Klingt nach Briefkastenfirmen auf den Cayman Islands ;-) Moeglicherweise.
:
Bearbeitet durch User
Motopick schrieb: >> Raspberry Pi Holdings >> Raspberry Pi Ltd >> Raspberry Foundation > > Was auch immer. Profit! Ist zwar besonders von Linksextremen als Teufelszeug verschrien, aber eher der Normalfall unternehmerischer Tätigkeit. Natürlich kann und sollte man zwischen "normalem" und pervers hohem Profit unterscheiden. Drogenhandel, Kunstmarkt und Crypto rangieren her im letzgenannten Bereich. ;-) Das Gegenstück dazu heißt Sozialismus. Wird auch von Linksextremen sehr stark propagiert. Aber kaum von welchen, die in diesem leben. https://de.wikipedia.org/wiki/KISS-Prinzip VIVA la revolution! https://www.youtube.com/watch?v=0UZ916Qr8gY Einer der wirklich Großen, der leider viel zu früh gehen musste! Ruhe in Frieden!
Motopick schrieb: >> Raspberry Pi Holdings >> Raspberry Pi Ltd >> Raspberry Foundation > > Was auch immer. Profit! The Raspberry Pi Foundation is a registered charity in England and Wales.
(prx) A. K. schrieb: > Motopick schrieb: >>> Raspberry Pi Holdings >>> Raspberry Pi Ltd >>> Raspberry Foundation >> >> Was auch immer. Profit! > > The Raspberry Pi Foundation is a registered charity in England and > Wales. Soziales Blendwerk!
Falk B. schrieb: > Das Gegenstück dazu heißt Sozialismus. Wird auch von Linksextremen sehr > stark propagiert. Aber kaum von welchen, die in diesem leben. > > https://de.wikipedia.org/wiki/KISS-Prinzip Scheibenkleister, falscher Link! https://www.youtube.com/watch?v=ShbDbKPRkjw
Sherlock 🕵🏽♂️ schrieb: > Günter K. schrieb: >> Hallo Leute, grüßt Euch, >> wie sieht es mit RasperiPi aus? > > Jetzt ist es vorbei. Der Raspberry Pi ist ein PC! Bitte, - ich widerspreche hier nicht. Ich stellte mir vor, dass man ihn leeren kann, jedoch es stimmt schon, es würde wahrscheinlich zu kompliziert werden. Denn Mario M. schrieb ja, Weil > Günter K. schrieb: >> Ich wundere >> mich aber, dass das Prg, so kurz ist. > > Das liegt daran, dass Routinen aus dem Monitor (=Betriebssystem) ... ... und bin mit der Antwort sehr zufrieden. Und ich bin auch damit zufrieden weil Klaus schrieb: > Günter K. schrieb: >> wie sieht es mit RasperiPi aus? > > Weder alt noch einfach. Ist klar, ich wollte es ja -einfach- haben. Jedoch, ich bin kein Troll - (!) Ich bin zwar alt, aber nicht uninteressiert. Ich kann aber mittlerweile erkennen, dass wenn Progamme im Hintergrund laufen, dass ich in dem Moment nicht weiß, was sich eigentlich abspielt. Das sagen mir die Bücher bisher nicht. Und auch beim Z80 ist die Programmierung viel komlexer, weil er mehr kann. Vielleicht könnte ich das Uhren-Prg. von Christiani in eine Eieruhr umschreiben. Sobald ich aber CPU-Emulator und dazu das Laufende Programm sehe, würde ich es sehr wahrscheinlich verstehen können. (Was ein Schwingkreis ist und andere Sachen weiß ich auch.) Erstaunlich ist auch, dass der MPF-1 mit seinem "Monitor" noch läuft, dass das E-PROM sich nicht (Radioaktiv) gelöscht hat. Als ich die Uhr laufen sah, war ich begeistert. :-)) ;-) In dem Christiani-Lehrgang ist auch kein kompletter Befehlssatz. Und der von Zaks, gibt für einen Befehl mehrere Op-Codes an. Es ist wirklich nicht einfach beschrieben. Ich suche gleich im Internet. Letztendlich sollte man auch ein Monitor, am Besten mit RGB-Signal betrieben werden können. Nun ja, - vielleicht mache ich weiter mit dem 6502. Mal sehen was ich im Internet noch finde, habt Ihr noch Internet-Adressen dazu? LG. Enk
Günter K. schrieb: > Letztendlich sollte man auch ein > Monitor, am Besten mit RGB-Signal betrieben werden können. Damit bist du weit weg von "einfach". Lass die Idee mal ruhen bis du das Gefühl hast den Mikrocontroller, eine Menge Peripherie und die Software dazu zu beherrschen. Für dich sind erst mal LEDs und später eine serielle Konsole als Ausgabeschnittstellen angemessen.
:
Bearbeitet durch User
Falk B. schrieb: > Arduino F. schrieb: >> Immerhin kann der RP2040 vollständiges CP/M. >> Womit man dann mit beiden Beinen in der 8080/Z80 Welt steht. > > So wie im Morast. Wer will da heute nicht stehen, nicht wahr? ;-) > > https://www.youtube.com/watch?v=Gwa7hXrvUG8 > > Das hat sich's im Morast gereeeecht . . . . ;-) Brüller Ich mag deinen Ton nicht. Und doch ist es so, dass es sich, mehr oder weniger, im ganzen Thread um das satteln von quasi toten Pferden dreht.
Arduino F. schrieb: > Und doch ist es so, dass es sich, mehr oder weniger, im ganzen Thread um > das satteln von quasi toten Pferden dreht. Andere fahren und pflegen Autos, die älter sind, als sie selbst.
Sherlock 🕵🏽♂️ schrieb: > Günter K. schrieb: >> Letztendlich sollte man auch ein >> Monitor, am Besten mit RGB-Signal betrieben werden können. > Für dich sind erst mal LEDs und später eine serielle Konsole als > Ausgabeschnittstellen angemessen. Mein erster Z80 war "stand-alone". Da gab es keine serielle Konsole. Allerdings war er vollstaendig selbst entwickelt und gebaut. Da war der Anschluss einer einfachen(!) Videoschnittstelle einfacher. Die "klaute" per BUSRQ dem Z80 den Speicher, und konnte 32 Zeichen auf 32 Zeilen darstellen. Immerhin monochromatisch. :) Das ist leider bei einem "Fertigsystem" nicht so einfach moeglich. RGB in Pixelform kam dann einige Jahre spaeter.
Motopick schrieb: > Die "klaute" per BUSRQ dem Z80 den Speicher, und konnte 32 Zeichen > auf 32 Zeilen darstellen. Kennst du das Verfahren des Sinclair ZX80? Absolut minimalistisch.
(prx) A. K. schrieb: > Motopick schrieb: >> Die "klaute" per BUSRQ dem Z80 den Speicher, und konnte 32 Zeichen >> auf 32 Zeilen darstellen. > > Kennst du das Verfahren des Sinclair ZX80? Absolut minimalistisch. Die Kenntnis kam erst spaeter. Gar so minimalistisch ging es bei mir nicht. Und meiner hatte immerhin 3 kByte statt blos 1 kByte.
Günter K. schrieb: >> Jetzt ist es vorbei. Der Raspberry Pi ist ein PC! > > Bitte, - ich widerspreche hier nicht. > Ich stellte mir vor, dass man ihn leeren kann, In der Tat. Leeren ist deine Kernkompetenz! > jedoch es stimmt schon, es würde wahrscheinlich zu kompliziert werden. Aber nicht doch! >> Günter K. schrieb: >>> wie sieht es mit RasperiPi aus? >> >> Weder alt noch einfach. > Ist klar, ich wollte es ja -einfach- haben. > Jedoch, ich bin kein Troll - (!) Ich bin zwar alt, > aber nicht uninteressiert. Für Psychiologen. Und Neurologen. Und Antropologen. Sie haben alle gelogen! ;-) > Ich kann aber mittlerweile erkennen, dass wenn > Progamme im Hintergrund laufen, dass ich in dem Moment nicht weiß, > was sich eigentlich abspielt. Das merkt man. > Das sagen mir die Bücher bisher nicht. Ist halt nur toter Baum! Der spricht seine eigene Sprache! > Und auch beim Z80 ist die Programmierung viel komlexer, weil er mehr > kann. Kann sein! > Vielleicht könnte ich das Uhren-Prg. von Christiani in eine Eieruhr > umschreiben. Na rumeiern kannst du doch schon ganz gut! > Sobald ich aber CPU-Emulator und dazu das Laufende Programm sehe, > würde ich es sehr wahrscheinlich verstehen können. Oder auch nicht. > (Was ein Schwingkreis ist und andere Sachen weiß ich auch.) > Erstaunlich ist auch, dass der MPF-1 mit seinem "Monitor" noch läuft, > dass das E-PROM sich nicht (Radioaktiv) gelöscht hat. Lieber fernsehmüde als radioaktiv! > Als ich die Uhr laufen sah, war ich begeistert. :-)) ;-) Trommelwirbel > In dem Christiani-Lehrgang ist auch kein kompletter Befehlssatz. Links-Zwo-Drei-Vier reicht doch! > Und der von Zaks, gibt für einen Befehl mehrere Op-Codes an. > Es ist wirklich nicht einfach beschrieben. Oder einfach zu verstehen? Oder einfach sinnlos? > Ich suche gleich im Internet. Letztendlich sollte man auch ein > Monitor, am Besten mit RGB-Signal betrieben werden können. Wie man das wohl im Jahr 2024 am Besten anstellt? Am Besten erstmal an die Ostsee fahren und Sand (SiO2) schürfen! Alles andere folgt daraus! > Nun ja, - vielleicht mache ich weiter mit dem 6502. Oder dem 4711er? > Mal sehen was ich im Internet noch finde, Alles! Und noch mehr! > habt Ihr noch Internet-Adressen dazu? http://www.alles-was-ich-wissen-will.de
Moin, Die MSP430 haben einen schönen Maschinenbefehlssatz und Architektur; darauf zu lernen ist bestimmt kein Fehler. Es gibt freie SW mit Debugger und die günstigen T.I. Launchpad Bords haben minimal alles drauf, was man braucht. Der Debugger erlaubt das Beobachten des Programmablaufs und aller CPU Register. Das wäre halt mein Vorschlag. Da kann man gut damit lernen. Auch Assembler Programmieren ist unterstützt. Zilog hat da noch die Z-Encore! uC. Da gibts auch ein freies IDE mit Debugger und einfaches Single Wire Debugging, den man sich selber bauen kann. Der Z8 hat auch eine schöne Architektur. Auch gegen AVR ist wenig einzuwenden. Nur die uralten PICs würde ich mir nicht antun wollen. Wenngleich auch die neueren in der Hinsicht wesentlich günstiger sind. Der F6014 z.B. ist noch ziemlich freundlich und man kann viel damit machen. Auch Microchip hat da freie SW. Arduino ist auch sehr brauchbar. Man kann ja auch dort auf HW Ebene operieren und muß nicht alles unbedingt mit fertigen Libs machen. Aber da gibt es keinen Debugger. Auch mit dem 8051 kann man sich gründlich austoben. Keil hat einen begrenzten Compiler dafür. Man kann auch von Silicon Labs einen bekommen. Beim Keil kann man ja auch ohne HW Simulieren. Da brauchst nicht einmal eine Bord. Der Keil uV2 ist da noch am Einfachsten. Wenig Overhead. Bare Metal. Möglichkeiten, derer, gibt es also sicherlich genug. Mache es Dir nicht unnötig zu kompliziert. Vermeide die lähmende "Analysis-Paralysis". Mach einfach. Duck und weg, Gerhard
Günter K. schrieb: > In dem Christiani-Lehrgang ist auch kein kompletter Befehlssatz. Das brauchst Du fuer den Anfang nicht: Ich hatte Dir das Programmiermodell der Z80 gezeigt (siehe Beitrag "Re: Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?"). Die Arbeit wird mit dem Akku gemacht, die anderen Register sind als Hilfsspeicher zu sehen (LD A, H kopiert den Inhalt von A nach H). > Und der von Zaks, gibt für einen Befehl mehrere Op-Codes an. > Es ist wirklich nicht einfach beschrieben. Wenn Du eine Befehl (z.B. ADD, Abb. 4.7) ausfuehren willst, musst Du natuerlich auch schreiben, was Du addieren kannst: Addiere A, B, C, D, E, H oder L zu dem Akku, das Ergebnis ist im Akku (die Z80 ist sehr primitiv). Oder einfach eine Konstante (#immediate). Besonders fuer Hochsprachen (Pascal, Fortran, Basic) sind die indirekte Zugriffe (d.h. Du addierst das Byte, das Du im Speicher findest wo der Inhalt des Registers HL zeigt). Die Zugriffe mit IX und IY sind ebenso indiziert. D.h. es gibt fuer einen Befehl (ADD) 11 verschiedene OPCode, je nachdem, welche die Quelle (was addiert werden soll) ist. > Ich kann aber mittlerweile erkennen, dass wenn > Progamme im Hintergrund laufen, dass ich in dem Moment nicht weiß, > was sich eigentlich abspielt. Das sagen mir die Bücher bisher nicht. > Und auch beim Z80 ist die Programmierung viel komlexer, weil er mehr > kann. Das kann ich so nicht stehen lassen: Z.B. ADD A,(HL) hat ein schoenes Bild, erklaert den Datenfluss und das Ergebnis. Und wenn Du wirklich das komplette Datenblatt sehen willst, gehe einfach zum Hersteller: https://www.zilog.com/docs/z80/um0080.pdf Freundliche 332 Seiten. Gruesse
Hallo, Günter K. schrieb: > Und der von Zaks, gibt für einen Befehl mehrere Op-Codes an. Stichwort: Adressierungsarten. rhf
Roland F. schrieb: > Hallo, > Günter K. schrieb: >> Und der von Zaks, gibt für einen Befehl mehrere Op-Codes an. > > Stichwort: Adressierungsarten. Ja, ok. das verstehe ich. Aber da sind oft viel zu viele Hexzeichen, zB. CALL B0 und bei ADD A, B da steht auch B0. (Nun ja, die andereren gehören zum Beispiel.) Ich verstehe einfach fast nichts vom Befehlssatz. > > rhf Hallo Roland und alle, jetzt hab' ich den Zaks nochmal in die Hände genommen. Ich hatte schon allerhand Zeugs geschrieben, doch so lernt man sich kurz zu fassen. Ich war aus der Seite ausgestiegen, um ein Wort in Wikipedia zu suchen, auf einmal war alles weg. In Zukunft passiert mir das nicht mehr. ... und schon habe ich wieder jede Menge geschrieben. Jede Menge Tabellen die ich nicht verstehe, bin im Buch weiter nach vorne gegangen, (will nicht zuviel schreiben). Da stand zu Exponent und Mantisse, schrieb man im Buch(bei Gleitkommazahlen, für das Vorzeichen "S"); ich habs nur erraten. Also "nichts","+" oder "-". Dann steht über BITS, MSD; was heist das? Ja, für die PIO muss ich das Buch Nr. C201 besorgen. Hier gibt es nur 6 Flags. [(Bei den 64-Bit-Prozessoren hat man schon ein 32-Bit-Flagregister.) Das war nur nebenbei.] Es erscheint mir alles viel zu viel, aber ich habe den MPF-1 nun mal. Nur mit LEDs u. Arduino o.ä. anfangen ist gar nicht so schlecht. Aber bitte nur in Maschinensprache, bzw. Assembler. Jetzt guck ich mal nach, ob es noch Programme und Bücher für den Junior-Computer(6502), gibt es da noch was? Von dem fehlt die Speicherkarte und ebenfalls eine passende Peripherie. Ich suche mal weiter im Internet. LG. Enk
Günter K. schrieb: > Nur mit LEDs u. Arduino o.ä. anfangen ist gar nicht so schlecht. > Aber bitte nur in Maschinensprache, bzw. Assembler. Ist doch kein Problem! Was hält dich ab?
Arduino F. schrieb: >> Nur mit LEDs u. Arduino o.ä. anfangen ist gar nicht so schlecht. >> Aber bitte nur in Maschinensprache, bzw. Assembler. > > Ist doch kein Problem! > Was hält dich ab? Sein Chaos im Kopf . . .
Günter K. schrieb: > Roland F. schrieb: >> Hallo, >> Günter K. schrieb: >>> Und der von Zaks, gibt für einen Befehl mehrere Op-Codes an. >> >> Stichwort: Adressierungsarten. > Ja, ok. das verstehe ich. > Aber da sind oft viel zu viele Hexzeichen, zB. CALL B0 > und bei ADD A, B da steht auch B0. > (Nun ja, die andereren gehören zum Beispiel.) > > Ich verstehe einfach fast nichts vom Befehlssatz. Dann ist es so. Dann wird Dir der Junior auch nicht helfen, weil die Probleme und Nomenklatur identisch ist (OK, Stack und Zero-page). Die (deutschen) Junior-Buecher von Elektor findest Du bei http://retro.hansotten.nl/ , die Buecher bei http://retro.hansotten.nl/6502-sbc/elektuur-junior/elektor-junior-literature/elektor-books/ Natuerlich hat der Zaks auch ein Buch ueber die 6502 geschrieben, "Programmieren des 6502". Die Junior-Platine ist stand-alone, Speicherkarten braucht man nicht. Ich verabschiede von diesem Thread (mir fehlt das Ziel und die Mitarbeit) und wuensche Dir alles Gute. Gruesse
Thomas W. schrieb: > Günter K. schrieb: > >> In dem Christiani-Lehrgang ist auch kein kompletter Befehlssatz. > > Das brauchst Du fuer den Anfang nicht: Ich hatte Dir das > Programmiermodell der Z80 gezeigt (siehe > Beitrag "Re: Einfache CPU, einfacher Rechner, nur zum Lernen, > Erfahrung?"). Die Arbeit wird > mit dem Akku gemacht, die anderen Register sind als Hilfsspeicher zu > sehen (LD A, H kopiert den Inhalt von A nach H). > >> Und der von Zaks, gibt für einen Befehl mehrere Op-Codes an. >> Es ist wirklich nicht einfach beschrieben. > > Wenn Du eine Befehl (z.B. ADD, Abb. 4.7) ausfuehren willst, musst Du > natuerlich auch schreiben, was Du addieren kannst: Addiere A, B, C, D, > E, H oder L zu dem Akku, das Ergebnis ist im Akku (die Z80 ist sehr > primitiv). > > Oder einfach eine Konstante (#immediate). Besonders fuer Hochsprachen > (Pascal, Fortran, Basic) sind die indirekte Zugriffe (d.h. Du addierst > das Byte, das Du im Speicher findest wo der Inhalt des Registers HL > zeigt). Die Zugriffe mit IX und IY sind ebenso indiziert. > > D.h. es gibt fuer einen Befehl (ADD) 11 verschiedene OPCode, je nachdem, > welche die Quelle (was addiert werden soll) ist. > >> Ich kann aber mittlerweile erkennen, dass wenn >> Progamme im Hintergrund laufen, dass ich in dem Moment nicht weiß, >> was sich eigentlich abspielt. Das sagen mir die Bücher bisher nicht. >> Und auch beim Z80 ist die Programmierung viel komlexer, weil er mehr >> kann. > > Das kann ich so nicht stehen lassen: Z.B. ADD A,(HL) hat ein schoenes > Bild, erklaert den Datenfluss und das Ergebnis. > > Und wenn Du wirklich das komplette Datenblatt sehen willst, gehe einfach > zum Hersteller: https://www.zilog.com/docs/z80/um0080.pdf > > Freundliche 332 Seiten. > > Gruesse Deine Beiträge kommen bei mir gut an. Dein genanntes Beispiel, das Progrämmle, das, hatte ich vor, noch mal zu lesen, was ich nur überflog. Das nächste mal, wenn ich soetwas lese, schreibe ich Deinen Namen, zB.: "Thomas W. schrieb:" und Datum u. Zeitpunkt auf. Das Manual vom MPF-1 habe ich nicht. LG. Enk
Dieses Wochenende waren auf dem VCFB einige CPU-Lern-Systeme zu sehen (siehe Anhang). https://vcfb.de/2024/ausstellungen.html#sonderausstellung
:
Bearbeitet durch User
Thomas W. schrieb: Günter K. schrieb: >> Aber da sind oft viel zu viele Hexzeichen, zB. CALL B0 >> und bei ADD A, B da steht auch B0. >> (Nun ja, die andereren gehören zum Beispiel.) >> >> Ich verstehe einfach fast nichts vom Befehlssatz. > > Dann ist es so. Dann wird Dir der Junior auch nicht helfen, weil die > Probleme und Nomenklatur identisch ist (OK, Stack und Zero-page). > > Die (deutschen) Junior-Buecher von Elektor findest Du bei > http://retro.hansotten.nl/ , die Buecher bei > http://retro.hansotten.nl/6502-sbc/elektuur-junior/elektor-junior-literature/elektor-books/ > > Natuerlich hat der Zaks auch ein Buch ueber die 6502 geschrieben, > "Programmieren des 6502". > > Die Junior-Platine ist stand-alone, Speicherkarten braucht man nicht. > > Ich verabschiede von diesem Thread (mir fehlt das Ziel und die > Mitarbeit) und wuensche Dir alles Gute. > > Gruesse Ach, das ist aber schade, trotzdem ein ;-) :-) Das Buch vom Junior, spricht mich schon sehr an. Und ich bin auch nicht ganz ohne Erfahrung. Morgen will ich versuchen, das Buch zu bestellen. Das Buch sieht gut aus, und erscheint mir besser lesbar. Doch auch das ist sehr viel Lesestoff. Allerdings, so denke ich, dass er noch Speicherbausteine braucht. Denn auf anderen Bildern sah ich ihn, mit einer doppelten Platine; ich habe an ihn nur mit einer Platine. Sicherlich gibt es heute auch schnellere Lade-Möglichkeiten. Natürlich kann das nicht schneller sein, als der Computer selbst ist - oder doch - wenn nur die Speicherbausteine geladen werden, kann es schneller gehen. Nur der Computer selbst ist nicht schneller. Ich hoffe, das ich den anderen hier im Thread nicht lästig gewirkt habe. Wenn es lästig erscheint, ist es nicht so gemeint. Danke für die Mitbeteiligung, für heute erst mal gute Nacht, LG. Enk Günter K.
:
Bearbeitet durch User
Thomas W. schrieb: > Und wenn Du wirklich das komplette Datenblatt sehen willst, gehe einfach > zum Hersteller: https://www.zilog.com/docs/z80/um0080.pdf ACK! Ich finde, es würde auch nichts dagegen sprechen, sich irgend ein Modul mit AVR-uC für ein paar Euro zu holen. Da kann Günter dann problemlos in Assembler programmieren. ESP ist schon deutlich zu komplex, alleine durch das ganze Boot-Procedere beim Start, und der Tensilica Befehlssatz wird ja auch nicht gerade an die große Glocke gehängt (obwohl man nach ein wenig suchen die kompletten technical references findet). Z80 ist halt wirklich seehr einfach, sehr gut dokumentiert (siehe z.B. das von Dir verlinkte DB). Aber AVRs habe ich auch schon from scratch in Assembler hochgezogen. Ist ähnlich einfach wie beim Z80. Die einfacheren ARM-Strukturen (z.b. M3) gehen auch noch ganz gut from scratch. Da ist halt der Befehlssatz a bissle komplexer durch die ganzen verschiedenen Befehlssätze (thumb etc). Wenn Günter Elektriker ist, dann wird er ja wenigstens die logischen Grundstrukturen (Gatter, Flip Flops, Zähler etc.) schon man in der Ausbildung kennen gelernt haben, denke ich. Günters Idee, das ominöse Uhrenprogramm zu disassemblieren und zu verstehen, halte ich eher für eine blöde Idee, es sei denn, der Weg ist das Ziel. <SCNR> Ich denke, die geringen Englischkenntnisse von Günter könnten ein größeres Problem sein. Günter soll doch bitte mal mitteilen, wie er denn jetzt starten wird, dann könnte man auch sagen, ob das eher eine gute oder schlechte Idee ist. Zu den von Günter beschriebenen Lernsystemen (MicroProfessor etc.) kann ich nix sagen. Mein erstes Z80-System habe ich mit Hilfe der Zilog-Doku (die damals gar nicht so leicht zu bekommen war als Schüler), dem TI Logik Datenbuch und dem Klassiker von Rolf Dieter Klein entwickelt... uuups, ich schweife ab... Also Günter: was sind denn aktuell Deine Pläne? ciao Marci P.S.: natürlich kann man mit einem uC-System eine relativ genaue Uhr basteln, wenn man gut programmiert (Ablaufpfade beachten) und Takte zählt. Denn normalerweise kommt der Takt ja von einem Quarz. Das reicht doch zum experimentieren.
:
Bearbeitet durch User
Marci W. schrieb: > Also Günter: was sind denn aktuell Deine Pläne? Hallo Marci W. Euer Interesse freut mich sehr. Logische Bausteine der Elektronik, gab es in der Ausbildung noch nicht. Das waren noch die 60er Jahre. Die Spannung war noch auf 220 im Dreieck. Oft mit kassischer Nullung VDE 0100 Ü. Aber Schalter sind ja auch logisch, (ebenso wie bei Konrad Zuse) trotzdem ließ ich mich danach auf Abendschule darin ausbilden, bekam sehr gute Zertifikate, die ich noch habe. Das ist alles sehr, sehr lange her. Viele meiner Kollegen sind schon gestorben. Morgen versuche ich etwas über den Junior-Computer zu bekommen. Denn den habe ich auch noch vom Speicher des Hauses geholt. Arduinos, habe ich auch. Warum ich das nicht kapiere, weiß ich auch nicht. Um es aber wirklich zu verstehen, muss ich ins Eingemachte also den Prozessor selbst, auch beim Arduino. Ich wünsche Euch eine gute Nacht.
:
Bearbeitet durch User
Hat hier eigentlich schon jemand den NDR Kleincomputer erwähnt? https://de.wikipedia.org/wiki/NDR-Klein-Computer Den gibt es in den Geschmacksrichtungen Z80, 6502, 68000/08/20, 8080, 8088 und HD64180. Prinzipiell könnte man sich aber auch Karten für 8032, 6800/9, 8086, Z8000 oder NS320xx herstellen. 2017 wurde eine Neuauflage gestartet. Gruß
Günter K. schrieb: > Das Buch vom Junior, spricht mich schon sehr an. http://retro.hansotten.nl/6502-sbc/elektuur-junior/elektor-junior-literature/junior-deutsch/
Günter K. schrieb: > Ich kann aber mittlerweile erkennen, dass wenn Progamme > im Hintergrund laufen, dass ich in dem Moment nicht weiß, > was sich eigentlich abspielt. Das sagen mir die Bücher > bisher nicht. Hmm. Also... ich bin jetzt 55 und nehme seit zwei Jahren Klavierunterricht. Natürlich hat mich gleich interessiert, ob es bekannte, charakteristische Unterschiede zwischen Kindern und Erwachsenen als Instrumentalschülern gibt. Was ich aus Büchern und einschlägigen Foren zusammengetragen habe, lässt sich ungefähr so zusammenfassen: "Erwachsene Instrumentalschüler haben potenziell den Vorteil, dass sie zeitweilige Durststrecken kraft ihrer Lebenserfahrung besser überwinden können. Häufig wird das aber geradezu ins Gegenteil verkehrt, weil Erwachsene in der Regel zielorientierter sind und fast immer zu schnell zu viel wollen und sich daher von den Mühen des Übens und dem trotzdem langsamen Fortschritt abschrecken lassen. Kinder leben viel mehr im Augenblick; wenn ihnen die Tätigkeit an sich Spaß macht, haben sie kein Problem damit, denselben Ablauf hunderte Male zu wiederholen, weil sie sich am konkreten Tun und am Lernfortschritt erfreuen, aber nicht dauern reflek- tieren, wie weit das große Ziel noch entfernt ist." Du erkennst Dich enventuell wieder...?! > Und auch beim Z80 ist die Programmierung viel komlexer, > weil er mehr kann. Komplexer -- verglichen womit? > In dem Christiani-Lehrgang ist auch kein kompletter > Befehlssatz. Und der von Zaks, gibt für einen Befehl > mehrere Op-Codes an. Quark. > Es ist wirklich nicht einfach beschrieben. Doch. Es ist -- wie so oft -- zum Teil ein rein sprachliches Problem. "...Wörter [sind] Abkürzungen für alte Denkvorgänge..." (Tucholsky) Wenn man über den Aufbau des Prozessors redet, würde ich den Ausdruck "Befehl" vollkommen vermeiden. Statt dessen gibt es die"Op-Codes"; sie werden in Form von Zahlen (häufig Hex-Zahlen, aber auch oktal oder binär) niedergeschrieben und repräsentieren eindeutig eine bestimmte Verarbeitungsoperation im Prozessor. (Auch mögliche Präfix- Bytes durchbrechen die Eindeutigkeit nur scheinbar.) Außerdem gibt es "Mnemonics"; das sind kurze Buchstabenfolgen (i.d.r. Abkürzungen englischer Worte), die einen Hinweis auf den Sinn, den Inhalt des/der Op-Code(s) geben. Die Mnemonic "LD" (für "load") ist beispielsweise ein Sammel- becken für Dutzende unterschiedliche OpCodes. Wenn mich mein Gedächtnis nicht verlassen hat, dann führt "LD A,n" zum OpCode 0x3E, "LD A,(nnnn)" entspricht 0x3A, und "LD A,(HL)" ergibt (...Mist. Jetzt muss ich doch nachschlagen...) 0x7E. Unterschiedliche OpCodes -- unterschiedliche intere Wirkung -- unterschiedliche Operanden und Adressierungsarten -- aber identische Mnemonic "LD". Von "Befehlen" würde ich nur sprechen, wenn über den Aufbau von Programmen diskutiert wird und der kleinste Bestandteil eines solchen gemeint ist. ("...der letzte Befehl vor dem relativen Sprung...").
Falk B. schrieb: > Auch wenn Assembler praktisch 1:1 in Maschinensprache > übersetzt wird, liegen Welten dazwischen. Für das Verständnis des angehenden Programmierers nicht. (Für das Erstellen nützlicher Programme allerdings sehr wohl.) > Auch eben weil das Programm "Assembler" viele nützliche > bzw. notwendige Hilfskonstruktionen bereitstellt, sei > es zur Definition von Variablen oder diverse > Assemblerdirektiven! Variablentabelle kann man notfalls von Hand führen. Der wichtigste Fortschritt beim Assembler ist m.E. das selbsttätige Bestimmen der (absoluten) Speicheradressen für die Befehle des Programmes: Versuche mal, im Hex-Code irgendwo drei Befehle einzufügen, wenn Du nicht vorher in weiser Voraussicht ein paar NOPs eingefügt hattest...
Günther K. schrieb >Jede Menge Tabellen die ich nicht verstehe, >bin im Buch weiter nach vorne gegangen, (will nicht zuviel schreiben). >Da stand zu Exponent und Mantisse, >schrieb man im Buch(bei Gleitkommazahlen, für das Vorzeichen "S"); >ich habs nur erraten. Also "nichts","+" oder "-". >Dann steht über BITS, MSD; was heist das? Das erste, was man vielleicht verstehen muss, ist, dass man nicht alles verstehen muss. Man muss mit kleinen Erfolgen anfangen. Kannst du das Gerät schon einschalten und kennst du schon einige Tasten, die man drücken muss?
Günter K. schrieb: >> Wie gesagt Papier, Bleistift, Radiergummi besorgen und dann Kapitel für >> Kapitel im Z80-Buch durcharbeiten. So habe ich auch angefangen zu assemblieren. Erst die Mnemoniks aufschreiben, dann die Befehle in Hex dahinter, dann die Adressen davor und dann die Sprünge abgezählt und eingetragen. Und nach jeder Teilfunktion 10 Bytes freigelassen. Dann muß man bei Fehlern nicht alles neu schreiben, sondern fügt einen Sprung zur korrigierten Funktion ein. Die fehlerhafte wird ausge-NOPt. Dann muß man auch den EPROM nicht jedesmal löschen. Das ist aber schon 40 Jahre her.
Christoph M. schrieb: > an muss mit kleinen Erfolgen anfangen. Kannst du das Gerät schon > einschalten und kennst du schon einige Tasten, die man drücken muss? Ich glaube so weit ist er noch nicht. Er befindet sich noch in der Geräteauswahlphase. Danach kommt die Dokumentationsbeschaffungsphase. Anfang 2026 wird dann ein erster Einschaltversuch unternommen.
Günter K. schrieb: > Es erscheint mir alles viel zu viel Zu viel gleichzeitig. Du springst wild hin und her zwischen den Fachthemen. Der Umgang mit der PIO hilft dir nicht, die CPU zu verstehen. Andererseits will man wenigstens eine LED ansteuern, damit es etwas zu sehen gibt. Bei Mikrocontrollern wie den AVR ist das Ansteuern von LEDs ganz einfach, weil es CPU Register gibt, deren Bits 1:1 mit den I/O Pins verbunden sind. Das Springen zwischen Büchern hilft nicht, dem Lehrpfad eines Autors zu folgen. > CALL B0 ruft die Prozedur auf, die an Adresse B0 im Programmspeicher beginnt. Ich möchte nochmal mein Assembler Tutorial für AVR empfehlen: http://stefanfrings.de/avr_workshop/index.html Eine simplere überschaubarere Hardware kann es nicht geben und du hast dort direkt einen fließenden Übergang zu größeren Arduino Modulen, die ebenfalls mit AVR bestückt sind und genau so programmiert werden. Das Tutorial zeigt Schritt für Schritt, wie man mit dem Datenblatt und der Doku vom Befehlssatz voran kommt. Am Ende hat man ein kleines Spiel, das man den Enkeln schenken kann.
:
Bearbeitet durch User
Hippelhaxe schrieb: > Und der von Zaks, gibt für einen Befehl >> mehrere Op-Codes an. > > Quark. Wieso? Bei Intels 8080 Mnemotechnik gab es pro Befehl exakt einen Opcode, aber Zilog fasste z.B, alle Varianten der Addition unter ADD zusammen. Weshalb ADD diverse Opcodes hat.
:
Bearbeitet durch User
Tipp: Der Google Übersetzer kann ganze PDF Dateien (wie Datenblätter und Befehlssätze) ins deutsche übersetzen. https://translate.google.com/?hl=de&sl=auto&tl=de&op=translate Dazu müssen sie allerdings Text enthalten. Eingescannte Telefaxe aus den 80er Jahren sind dazu nicht geeignet.
Günter K. schrieb: > Jede Menge Tabellen die ich nicht verstehe, bin im Buch > weiter nach vorne gegangen, (will nicht zuviel schreiben). > Da stand zu Exponent und Mantisse, [...] ??? Was machst Du denn? Hast Du in der 1. Klasse auch gleich schon das Lösen partieller Differentialgleichungen gelernt, oder vielleicht doch erstmal nur das Einmaleins? > schrieb man im Buch(bei Gleitkommazahlen, für das > Vorzeichen "S"); ich habs nur erraten. Also "nichts", > "+" oder "-". > > Dann steht über BITS, MSD; was heist das? Lass' doch um Himmels Willen erstmal den ganzen Krempel weg, den Du für den Anfang nicht brauchst. > Es erscheint mir alles viel zu viel, Ja klar -- weil Du planlos von Problem zu Problem springst. Ich habe vor über 40 Jahren mit einem geliehenen LC80 angefangen, und da ich erstmal kein Programmierhandbuch dazu hatte, sondern nur die Bedingungsanleitung mit ein paar Beispielprogrammen, war ich gezwungen, diese Beispiele zu analysieren und die dort verwendeten Befehle (OpCodes und Mnemonic) zu verstehen. Das waren wohl ungefähr ein oder zwei Dutzend; damit musste ich auskommen. "JMP" (0xC3) gehörte dazu, "JR" (0x18) auch, ebenso "CALL" (0xCD) und "RET" (0xC9) -- wobei Unterprogrammtechnik beim allerersten Anfang schon verzichtbarer Luxus ist. Von "JC" und "JZ" weiss ich den OpCode nicht mehr, aber bedingte Sprünge will man auch ganz zu Anfang haben -- kann man auch mit relativen Sprüngen machen, das vereinfacht die Adressrechnerei bei Programmänderungen. Was braucht man noch? 0x3E und 0x3A sowie die Gegenstücke (deren OpCodes ich vergessen habe) sowie "INC A" und "DEC A". "IN" und "OUT" wird man noch haben wollen; vielleicht auch noch AND und ADD. Das sind alles in allem vielleicht zwei Dutzend verschiedene OpCodes -- und damit kann man funktionierende Programme schreiben! Ja -- die Programme sind Musterbilder an Umständlichkeit. Richtig! -- Aber das ist ganz am Anfang, wo es darum geht, das Prinzip zu begreifen, erstmal SCHEISSEGAL.
Günter K. schrieb: > Es gibt ICs die > können selber das Nibbel-Bitmuster in 7-Segment umwandeln. 7-Segment Dekoder (SN74LS47) habe ich noch nie an CPUs oder µCs benutzen müssen. Das ist doch ne schöne Aufgabe, die sich bequem in Software erledigen läßt, Stichwort Tabellenzugriff. Der 8051 hat dafür einen eigenen Befehl (MOVC A, @A+DPTR).
Peter D. schrieb: > So habe ich auch angefangen zu assemblieren. Erst die > Mnemoniks aufschreiben, dann die Befehle in Hex dahinter, > dann die Adressen davor und dann die Sprünge abgezählt > und eingetragen. > Und nach jeder Teilfunktion 10 Bytes freigelassen. Dann > muß man bei Fehlern nicht alles neu schreiben, sondern > fügt einen Sprung zur korrigierten Funktion ein. Die > fehlerhafte wird ausge-NOPt. Dann muß man auch den EPROM > nicht jedesmal löschen. Kommt mir teilweise sehr vertraut vor... :) Faszinierend fand ich, dass ich bei der Zettel-und-Stift- Entwicklung DRASTISCH weniger Fehler mache als beim sofortigen Eintippen in den Computer. > Das ist aber schon 40 Jahre her. Das klingt wie eine Kritik...?! Klavierschüler fangen auch nicht im ersten Jahr mit Rachmaninoff an, sondern mit Übungen im Fünftonraum...
(prx) A. K. schrieb: > Hippelhaxe schrieb: >> Und der von Zaks, gibt für einen Befehl >>> mehrere Op-Codes an. >> >> Quark. > > Wieso? Hatte ich wenige Zeilen weiter unten erklärt und begründet: Das Wort "Befehl" hat keine ausreichende Unterscheidungskraft. "OpCode" ist relativ eindeutig, und "Mnemonic" auch. Ob "LD A,B" und "LD C,D" derselbe Befehl ist oder nicht, ist Definitionssache, über die ich keine Lust habe zu streiten. Die Mnemonic ist eindeutig dieselbe (nämlich "LD"), die OpCodes sind eindeutig verschieden.
Hippelhaxe schrieb: >> Das ist aber schon 40 Jahre her. > > Das klingt wie eine Kritik...?! Ich meinte: Das ist nun schon 40 Jahre her.
Ich will niemanden beleidigen, aber dieser Gedanke geht mir seit einer Woche nicht aus dem Kopf: Hat man mit 80 Jahren noch genug Lebenszeit übrig, die gesamte historische Entwicklung der Mikrocomputer nachzuvollziehen, um am Ende ungefähr den aktuellen Stand zu erreichen? So, jetzt ist es raus.
Sherlock 🕵🏽♂️ schrieb: > Hat man mit 80 Jahren noch genug Lebenszeit übrig, > die gesamte historische Entwicklung der Mikrocomputer > nachzuvollziehen, Vermutlich nicht... die hat man schätzungsweise auch mit 55 Jahren nicht mehr... > um am Ende ungefähr den aktuellen Stand zu erreichen? Du meinst, eine KI zu programmieren, die Bilder von Menschen erzeugen kann, die siebenfingrige Hände haben und bei Übelkeit Bierflaschen erbrechen? Warum zum Teufel sollte man das wollen?
Günter K. schrieb: > Es geht mir ja darum, etwas -einfaches- zu haben. Auf Tipps genau zu diesem Punkt gehst du ja gar nicht ein.
Hippelhaxe schrieb: > Du meinst, eine KI zu programmieren muss nicht ganz so weit gehen denn da sind wir ja nicht mehr bei Mikrocontrollern. > Warum zum Teufel sollte man das wollen? Erkläre du es! Das war deine Idee.
:
Bearbeitet durch User
Hallo, Jobst M. schrieb: > Hat hier eigentlich schon jemand den NDR Kleincomputer erwähnt? > ... > Den gibt es in den Geschmacksrichtungen > Z80, > 6502, > 68000/08/20, > 8080, > 8088, > HD64180, > 8032, > 6800/9, > 8086, > Z8000, > NS320xx Bring ihn nicht auf falsche Gedanken, du bist gerade dabei die Büchse der Pandora zu öffnen rhf
Viel zu wenig Herausforderung... ich schlage vor: Cosmac Elf (1802 ganz ohne Betriebssystem und Monitor) oder MMD1 - 8080 in Oktal programmieren.
Wolfgang R. schrieb: > ich schlage vor: Cosmac Elf (1802 ganz ohne Betriebssystem und Monitor) Der lässt sich übersichtlich direkt in Hex programmieren, ohne auf einen Assembler zurückgreifen zu müssen. Und hat einen übersichtlichen Befehlssatz.
(prx) A. K. schrieb: > Ja, aber die Anzeige passt nicht dazu, die ist Hex. Mist, ja stimmt, da ist der MMD1 konsquenter.... (prx) A. K. schrieb: > Die LED neben der Datenanzeige ist Q? Ja.
Auch gut zum Lernen könnte die Tastenprogrammierbare Steuerung von Kainka sein: https://www.elektronik-labor.de/Lernpakete/TPS/TPS0.html Dafür gibt es auch einen Emulator: https://wkla.no-ip.biz/hosting/vtps/index.html
:
Bearbeitet durch User
Günter K. schrieb: > . > Das Manual vom MPF-1 habe ich nicht. > LG. Enk Lieber Günter, Du hast den MPF-1. Du hast damit bereits erfolgreich ein Uhrenprogramm abgetippt und gestartet. Vor einigen Tagen hat dir "soul eye" alle Links zu den Manuals hier angegeben, mit dem deutschsprachigen Christiani Lehrgang. Beitrag "Re: Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?" Auf was wartest du? Damit kannst du loslegen, der MPF-1 ist ein Super Lehrsystem. Bleib erstmal dabei. Vermischung mit anderen uP, anderen Assemblersprachen und komplizierteren Peripherie-ideen bringt dich momentan nicht weiter. Mit dem vorhandenen System bist du gut aufgdstellt und hast Tage oder Wochen gute Lehrarbeit vor dir.
> Hat man mit 80 Jahren noch genug Lebenszeit übrig, die gesamte > historische Entwicklung der Mikrocomputer nachzuvollziehen, um am Ende > ungefähr den aktuellen Stand zu erreichen? Man könnte es ja in Relation zu einem Studium der Technische Informatik setzen, welches mit 4.5 a abgefrühstückt sein sollte. Die durchzschnittliche Restlaufzeit für 80 jährigen beschwanzten Deutschen liegt bei 7,88 a (Sterbetafel 2023). Passt also. https://de.statista.com/statistik/daten/studie/1783/umfrage/durchschnittliche-weitere-lebenserwartung-nach-altersgruppen/
Günter K. schrieb: > Arduinos, habe ich auch. Warum ich das nicht kapiere, > weiß ich auch nicht. Ich schon . . . > Um es aber wirklich zu verstehen, > muss ich ins Eingemachte also den Prozessor selbst, auch beim Arduino. Nö, im Gegenteil. Man fängt "ganz oben" an, auf der Arduino-Ebene mit seinen Funktionen. digitalWrite, digitalRead. Damit kannst du alles machen, was du in deiner Situation brauchst und vielleicht auch noch verstehen kannst. OK, ein paar Grundkonstrukte von C braucht es auch, allen voran if(). Damit kannst du dein Uhr bauen und noch viel mehr. https://docs.arduino.cc/language-reference/de/ Schau an, die Doku gibt es sogar auf Deutsch! Viel Glück, du wirst es brauchen.
Sherlock 🕵🏽♂️ schrieb: > Hat man mit 80 Jahren noch genug Lebenszeit übrig, die gesamte > historische Entwicklung der Mikrocomputer nachzuvollziehen, um am Ende > ungefähr den aktuellen Stand zu erreichen? > > So, jetzt ist es raus. Du bist ja mutig! Aber mal wieder eher langsam. Beitrag "Re: Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?"
Falk B. schrieb: > Nö, im Gegenteil. Man fängt "ganz oben" an, auf der Arduino-Ebene mit > seinen Funktionen. digitalWrite, digitalRead. Damit kannst du alles > machen, was du in deiner Situation brauchst und vielleicht auch noch > verstehen kannst. OK, ein paar Grundkonstrukte von C braucht es auch, > allen voran if(). Damit kannst du dein Uhr bauen und noch viel mehr. Naja... Man kann auch in der Arduinowelt direkt mit ASM starten. Siehe Anhang. Vorgesehen ist das allerdings nicht, wird aber unterstützt. Vorgesehen ist C++ für Anwendungen. Wird am breitesten unterstützt. Auch C geht. digitalWrite, digitalRead sind z.B. in C geschrieben Die meisten Libs sind in C++ abgefasst.
Arduino F. schrieb: > Naja... > Man kann auch in der Arduinowelt direkt mit ASM starten. Kann man. Aber ob das für den OP sinnvoll oder gar MÖGLICH ist, wage ich zu bezweifeln.
Arduino F. schrieb: > Man kann auch in der Arduinowelt direkt mit ASM starten Nur ist man dann nicht mehr in der Arduino Welt. Trotzdem ist ASM auf einem AVR keine schlechte Idee die Grundlagen von Rechnerarchitekturen zu verstehen. Einfach genug ist es dafür.
Cyblord -. schrieb: > Trotzdem ist ASM auf einem AVR keine schlechte Idee die Grundlagen von > Rechnerarchitekturen zu verstehen. Einfach genug ist es dafür. Stimmt. Dann nimmt man aber nicht die Arduino-IDE sondern das olle Atmelstudio oder das neue Microchip Studio, denn dort ist auch der Simulator schon mit drin. Einfacher geht es kaum. Aber für den OP vermutlich zu viel oder zu "neu", er hat ja eine Vorliebe für CPUs der 1970er . . .
Falk B. schrieb: > Dann nimmt man aber nicht die Arduino-IDE sondern das olle Atmelstudio > oder das neue Microchip Studio, denn dort ist auch der Simulator schon > mit drin. Einfacher geht es kaum Eben deswegen habe ich mein Assembler Tutorial ein zweites nal empfohlen. Upps, jetzt 3x 😅
Falk B. schrieb: > Stimmt. Dann nimmt man aber nicht die Arduino-IDE sondern das olle > Atmelstudio oder das neue Microchip Studio Korrekt. Sherlock 🕵🏽♂️ schrieb: > Eben deswegen habe ich mein Assembler Tutorial ein zweites nal > empfohlen. Ich habe den Eindruck, sinnvolle Tipps kommen beim TE nicht an.
Cyblord -. schrieb: > Nur ist man dann nicht mehr in der Arduino Welt. Die Arduino Welt besteht aus einer Menge Boards, von vielen Herstellern und quasi ebenso vielen verschiedenen µC, von 8 Bit bis 64 Bit. Aus 4(?) verschiedenen IDEs Aus min. 2 verschiedenen Frameworks. Einmal das übliche, mehr oder weniger dem Arduino AVR Framework/Core entsprechend, und einmal extra für SPS. Auch wenn man da das Framework weglässt, ist man immer noch in der Welt. Verzichtet nur auf einen großteil Komfort
Wolfgang R. schrieb: > (prx) A. K. schrieb: >> direkt in Hex > > Direkt in Binär. Über Kippschalter. Härter geht nicht. Das war jetzt gemein. Wie soll ich denn diese fixe Idee wieder loswerden...?
Hippelhaxe schrieb: > Wie soll ich denn diese fixe Idee wieder loswerden...? An solchen Rechnerlein kann man üben, wie man ROM-lose Rechner startet. Startprogramm per Klaviatur ins RAM schreiben und dann Reset. Die 1802 CPU hatte einen eigens für sowas gebauten Load-Modus. Ich hatte das mal genutzt, um auf ein selbst gebautes ROM-loses 1802 Teil über eine serielle Schnittstelle das Programm vor dem Reset ins RAM schreiben zu können.
:
Bearbeitet durch User
(prx) A. K. schrieb: > Hippelhaxe schrieb: >> Wie soll ich denn diese fixe Idee wieder loswerden...? > > An solchen Rechnerlein kann man üben, wie man ROM-lose > Rechner startet. Startprogramm per Klaviatur ins RAM > schreiben und dann Reset. Genau. Muss eigentlich auch mit einem Z80 gehen: CPU per Busrequest in Schockstarre versetzen, SRAM beschreiben und dann los. SRAM könnte gern batteriegestützt sein, damit man nicht jedes Mal von vorn anfängt; vielleicht kann man auch parallele EEPROMs oder FRAMs dranklöppeln...
Hippelhaxe schrieb: > Muss eigentlich auch mit einem Z80 gehen: CPU per > Busrequest in Schockstarre versetzen, SRAM beschreiben > und dann los. Irgendwo oben findet sich ein Link auf ein Platinchen mit einem PIC Mikrocontroller zusätzlich zum eigentlichen Mikroprozessor. Der wird vmtl genau das machen. Ist etwas unzeitgemäss. Meine 1802 Lösung verwendete dazu den LOAD Modus in Verbindung mit einem per Pins statt Register konfigurierbaren AY-3-1015 als Async-Schnittstelle. Mehr war nicht nötig. Und natürlich CD4000 als Logikbausteine, keine systemfremden TTLs. Hippelhaxe schrieb: > damit man nicht jedes Mal von vorn anfängt Liegt dabei im Flash vom PIC oder AVR, der auch als Bootloader dient.
:
Bearbeitet durch User
(prx) A. K. schrieb: > Hippelhaxe schrieb: >> Muss eigentlich auch mit einem Z80 gehen: CPU per >> Busrequest in Schockstarre versetzen, SRAM beschreiben >> und dann los. > > Irgendwo oben findet sich ein Link auf ein Platinchen > mit einem PIC Mikrocontroller zusätzlich zum eigentlichen > Mikroprozessor. Der wird vmtl genau das machen. Ist etwas > unzeitgemäss. Ja. Der PIC wird wieder einen PC als Entwicklungssystem brauchen, und das finde ich nicht schön. Kommt mir immer so vor, als verwende man ein CNC-Bearbeitungszentrum, um eine Zaunlatte gerade abzuschneiden... Wer aus Spaß an der Freude handwerkelt, sollte das auch mit einer ordinären Säge können... > Meine 1802 Lösung verwendete dazu den LOAD Modus in > Verbindung mit einem per Pins statt Register > konfigurierbaren AY-3-1015 als Async-Schnittstelle. Mehr > war nicht nötig. Und natürlich CD4000 als Logikbausteine, > keine systemfremden TTLs. Setzt halt auch eine serielle Datenquelle für den Boot-Code voraus.
Hippelhaxe schrieb: > Setzt halt auch eine serielle Datenquelle für den > Boot-Code voraus. Ja. Die Zeit, als ich vor meinem AIM65 sass und direkt darauf entwickelte, mit Kassettenrecorder als Massenspeicher, ist glücklicherweise vorbei. Schon damals war etwas wie der KIM-1 zu umständlich. Wenn ich also schon aus Jux mit Urschleim bastele, dann nicht zu extrem.
:
Bearbeitet durch User
(prx) A. K. schrieb: > Hippelhaxe schrieb: >> Setzt halt auch eine serielle Datenquelle für den >> Boot-Code voraus. > > Ja. Die Zeit, als ich vor meinem AIM65 sass und direkt darauf > entwickelte, mit Kassettenrecorder als Massenspeicher, ist > glücklicherweise vorbei. Schon damals war etwas wie der KIM-1 > zu umständlich. > > Wenn ich also schon aus Jux mit Urschleim bastele, dann nicht > zu extrem. Nix dagegen; jeder, wie er mag. Ich finde halt den Gedanken faszinierend, ein System zur Verfügung zu haben, das ohne fremde SOFTWARE auskommt. Die Hardware darf gern halbwegs zeitgemäß sein... Kassettenrecorder als Massenspeicher würde ich mir mangels Kassetten und mangels Recorder auch nicht mehr antun wollen...
Christoph M. schrieb: > Das erste, was man vielleicht verstehen muss, ist, dass man nicht alles > verstehen muss. Hallo Christoph M. Danke für die guten Tipps. Vielleicht ist sein Buch für den 6502 ja besser. Wozu dient eine Sprache, wenn man weder Zeichen noch Wörter zu verstehen braucht? LG Enk
Hippelhaxe schrieb im Beitrag #775926 > Genau. > > Muss eigentlich auch mit einem Z80 gehen: CPU per > Busrequest in Schockstarre versetzen, SRAM beschreiben > und dann los. > > SRAM könnte gern batteriegestützt sein, damit man nicht > jedes Mal von vorn anfängt; vielleicht kann man auch > parallele EEPROMs oder FRAMs dranklöppeln... Hallo Hippelhaxe, Danke für Deinen Beitrag. Danke für die Tipps. welche Bauteile kriegt man heute noch dafür? Gibt es noch EEPROMs oder FRAMs zu kaufen? Gibt es Tricks um die heutige Schnelligkeit in etwa zu benutzen. Du hast Dir ja schon die richtigen Gedanken dazu gemacht, das finde ich sehr gut. LG. Enk
Günter K. schrieb: > Danke für die Tipps. Die Tipps nutzen dir gar nichts. Du weißt doch jetzt gar nicht mehr, was du anschauen sollst. Also nochmal: Nimm deinen MPF-1, Doku ist oben verlinkt in Deutsch. Und ignoriere ab sofort ALLE anderen Tipps.
Günter K. schrieb: > welche Bauteile kriegt man heute noch dafür? > Gibt es noch EEPROMs oder FRAMs zu kaufen? > Gibt es Tricks um die heutige Schnelligkeit in etwa zu benutzen. > Du hast Dir ja schon die richtigen Gedanken dazu gemacht Für dich sind das die falschen Gedanken, weil sie dich wieder auf den falschen Weg bringen (vom aktuellen Lernsystem ablenken). EEPROM waren unbezahlbar teuer, als dein Lernsystem aktuell war, also praktisch nicht existent. FRAM wurden erst viel später erfunden, ich glaube um 2005 herum. Auf die Z80 Architektur zu wechseln macht für dich im Moment nur dann Sinn, wenn sie zu einer erheblich simpleren Schaltung führt, die dich weniger vom Assembler ablenkt, als der aktuelle Lerncomputer. Das sehe ich hier nicht gegeben.
:
Bearbeitet durch User
Beitrag #7759537 wurde vom Autor gelöscht.
Schau dir Dieses Video an: https://www.youtube.com/watch?v=kqGNVuqevkY&t Etwas gewöhnungsbedürftig, aber die Beispiele zeigen wie es geht einen Emulator zu schreiben. Damit kann man auch die Grundlagen (hoffe ich, ich kenn sie ja schon^^) einigermassen verstehen. Und danach: machen, einfach machen. Machen ist wie wollen, nur krasser.
Mal sehen wie lange es dauert, bis die Leute mit Helfersyndrom merken, daß sie mit einem verwirrten Menschen sprechen, der nie und nimmer was sinnvolles mehr zustande bringen wird, egal welche Tips man ihm gibt. Oder sie einfach nur von einem ganz guten Troll veralbert werden.
Jens B. schrieb: > Machen ist wie wollen, nur krasser. Tausend mal schaut der Wille durchs Fenster, bis die Tat durch die Tür schreitet.
Moin, Günter K. schrieb: > Vielleicht ist sein Buch für den 6502 ja > besser. Ich wuerde sagen, die sind gleichgut. Gruss WK
Falk B. schrieb: > Mal sehen wie lange es dauert, bis die Leute mit Helfersyndrom > merken, > daß sie mit einem verwirrten Menschen sprechen, der nie und nimmer was > sinnvolles mehr zustande bringen wird, egal welche Tips man ihm gibt. > Oder sie einfach nur von einem ganz guten Troll veralbert werden. Ob ein Mensch ein Gentleman ist, erkennt man an seinem Benehmen denjenigen Menschen gegenüber, von denen er keinen Nutzen hat. Quelle: William Lyon Phelps
Sherlock 🕵🏽♂️ schrieb: > Auf die Z80 Architektur zu wechseln ... Vergiss den Satz, der MPF-1 ist ja ein Z80. Jetzt bin ich auch schon durcheinander vor lauter Architekturen. Der Satz müsste mit "Auf eine andere Architektur zur zu wechseln ..." beginnen, dann wäre er passend Alles was von dem MPF-1 weg führt, egal wie toll, sollte von jetzt an gemieden werden. Sonst dreht sich der Günter noch länger ihm Kreis, bis ihm so schwindelig ist, dass er umkippt.
:
Bearbeitet durch User
Arduino F. schrieb: > Ob ein Mensch ein Gentleman ist, erkennt man an seinem Benehmen > denjenigen Menschen gegenüber, von denen er keinen Nutzen hat. > Quelle: William Lyon Phelps Wahre Worte sind nicht schön. Schöne Worte sind nicht wahr. Laotse
Günter K. schrieb: > Arduino F. schrieb: >> Günter K. schrieb: >>> Nun, ja, das Buch zum 8086 war bzw. ist schon sehr Verheißungsvoll, >>> und es beginnt damit, ein Zeichen auf den Bildschirm zu bringen. >>> Leider habe ich nicht das Betriebsystem dazu; >> Hier ist es, dein neues Betreibsystem: https://www.menuetos.net/ > > Lustig! Ich nehme an es an es ist ein Scherz. :-)) > > Die Programme zu diesem Buch werden zwar geladen, > laufen aber nicht, weil das Windows-Betriebsystem zu hoch ist. > Vermutlich unter DOS. Das kann WINDOS 10 nicht mehr. Das hier muss man doch nochmal aufspießen: Das ist ein eigenständiges, in Assembler (https://flatassembler.net) programmiertes System, das normalerweise auf Diskette geladen werden kann, weil der Code so sparsam ist. Das heißt, das ist kein Windows Programm, und auch kein DOS Programm. Es ist ein eigenes OS. Für sowas gibt es u.a. hervorragende PC-Emulatoren (wie Bochs (https://bochs.sourceforge.io), oder (z.B.) im VM-Ware-Player läuft das auch ganz gut.
Hallo Leute, heute habe ich ein par Sachen eingekauft, mal sehen, was ich damit machen kann. U.a.: Ein Raspberry Pi Pico WH (C) 2022 FCC ID 2ABCB.PICOW IC.20953.PICOW In diesem Falle ist es kein PC. Links oben ist eine LED Ein Stück darunter ist ein BOOTSEL(Schalter) R'= Raspberry Pi Leider kann ich nicht lesen was auf dem mittleren schwarzen R'Chip steht. Unten rechts neben dem quadratischen R'Chip steht: DEBUG Es hat einen Trapezförmigen USB-Anschluss. Habe aber kein weiteres Dokument dazu. (Meine Güte, was sind die Bauteile klein!) Gibt es Programme oder Schaltungen, die man nicht debuggen muss? LG Enk
Moin, Günter K. schrieb: > Gibt es Programme oder Schaltungen, die man nicht debuggen muss? Wenn man's beim ersten Mal gleich richtig macht, muss man auch nix debuggen. scnr, WK
Dergute W. schrieb: > Moin, > > Günter K. schrieb: >> Gibt es Programme oder Schaltungen, die man nicht debuggen muss? > > Wenn man's beim ersten Mal gleich richtig macht, muss man auch nix > debuggen. > > scnr, > WK DANKE LG. Enk
Beitrag #7759622 wurde vom Autor gelöscht.
Sherlock 🕵🏽♂️ schrieb: > Alles was von dem MPF-1 weg führt, egal wie toll, sollte von jetzt an > gemieden werden. Sonst dreht sich der Günter noch länger ihm Kreis, bis > ihm so schwindelig ist, dass er umkippt. DANKESCHÖN! LG. Enk
Cyblord -. schrieb: > Günter K. schrieb: >> Es geht mir ja darum, etwas -einfaches- zu haben. > > Auf Tipps genau zu diesem Punkt gehst du ja gar nicht ein. Hallo Cyblord, vieles, ist eben nicht so einfach, sonst würde ich nicht weiter fragen. Mal sehen, was der neue µC Pico von Raspberry Pi bringt. LG. Enk
Rbx schrieb: Das heißt, das ist kein Windows Programm, und auch kein DOS Programm. ... Günter K schrieb: > Vermutlich unter DOS. Das kann WINDOS 10 nicht mehr. Das Buch fragt nach DOS, also werde ich kein anderes Betriebssystem nehmen. Also, ich sehe wirklich den guten Rat, aber in diesem Fall geht es ja um DOS, worüber dann das Assembler läuft. Ich hatte mir sagen lassen, die DOSBOX funktioniert auch bei LINUX. Probiert habe ich es noch nicht. Selbstverständlich habe ich den MPF-1 nicht vergessen, und ich weiß, dass es auch hier ein ganz anders Assembler ist. Hier handelt es sich um den 8086. Eine Entwicklung die bis in unsere Zeit führt. Und Falk, Dich spreche ich noch einmal extra an. Hier in diesem Beispiel, ist ein Grund, warum ich an dieser Stelle einen Rat für meinen Fall hier, nicht annehme; wobei ich nichts gegen das neue Betriebsystem sage. Und auch garnichts gegen Dich Rbx sage. LG. Enk
:
Bearbeitet durch User
Günter K. schrieb: > Also, ich sehe wirklich den guten Rat, > aber in diesem Fall geht es ja um DOS, worüber dann das Assembler läuft. > Ich hatte mir sagen lassen, die DOSBOX funktioniert auch bei LINUX. > Probiert habe ich es noch nicht. > Selbstverständlich habe ich den MPF-1 nicht vergessen, und ich weiß, > dass es auch hier ein ganz anders Assembler ist. > Hier handelt es sich um den 8086. Eine Entwicklung die bis in unsere > Zeit führt. Du entfernst dich mit jeden neuen Beitrag weiter von deinem Ziel. Das wird so nix.
Günter K. schrieb: > Mal sehen, was der neue µC Pico von Raspberry Pi bringt Wieso kaufst du so ein Teil wenn du kein Englisch kannst? Das Datenblatt gibt es nicht auf deutsch. https://cdn-reichelt.de/documents/datenblatt/A300/RASPBERRY_PI_PICO_DB_EN.pdf Hier eine gut gemachte Übersicht auf Deutsch mit Beispielen: https://www.elektronik-kompendium.de/sites/raspberry-pi/2604131.htm Zitat: "Er lässt sich mit MicroPython, CircuitPython, C/C++ und Visual Studio Code programmieren" Also nichts mit Assembler obwohl das natürlich auch geht. Ich hätte ja ein MFA System vorgeschlagen. Das ist ein System auf 8085 was in der Ausbildung bei den Elektronik Berufen in den 90er verwendet wurde. Der große Vorteil ist dass es didaktisch sehr gut aufgebaute Literatur auf Azubi Niveau gibt. Mit dem Bussignalgeber konnte man das Ding in Singlestep betreiben und jedem Byte zuschauen. Betrieben wurde das Sytem über die V24 Schnittstelle mit einem ganz normalen Terminal Programm. Der grosse Nachteil ist, dass die Systeme auf Ebay immer noch sehr teuer sind und sehr oft ziemlich verbastelt wurden. Ich hab mir mal vor Zeiten ein MFA System gebaut was CPU RAM ROM und V24 auf einer 100x100 Platine vereint. Da geht aber einiges an Lernefekt verloren. https://www.mfa-8085.de/
Falk B. schrieb: > Mal sehen wie lange es dauert, bis die Leute mit Helfersyndrom > merken, > daß sie mit einem verwirrten Menschen sprechen, der nie und nimmer was > sinnvolles mehr zustande bringen wird, egal welche Tips man ihm gibt. > Oder sie einfach nur von einem ganz guten Troll veralbert werden. Überflüssig s. o. - ! Vorhin war es ein Beispiel warum ich einen Rat zu diesem Zweck nicht angenommen habe. Wobei dieser Rat ohne weiters weiters nützlich sein kann. Enk.
Beitrag #7759690 wurde vom Autor gelöscht.
Cyblord -. schrieb: > Ich habe den Eindruck, sinnvolle Tipps kommen beim TE nicht an. Doch, der Tip ist doch gut, warum soll das bei mir nicht ankommen? Welche MC mit welcher einfachen CPU würdest Du bzw. Ihr vorschlagen? LG. Enk
Hallo Cyblord, vieles, ist eben nicht so einfach, sonst würde ich nicht weiter fragen. Mal sehen, was der neue µC Pico von Raspberry Pi bringt. Bin ich hier auf dem richtigen Gleis? LG. Enk
Günter K. schrieb: > Bin ich hier auf dem richtigen Gleis? Ja klar! 32Bit Dualcore Risc Maschinen sind total ASM freundlich.
Arduino F. schrieb: > Günter K. schrieb: >> Bin ich hier auf dem richtigen Gleis? > > Ja klar! > 32Bit Dualcore Risc Maschinen sind total ASM freundlich. DANKESCHÖN! LG Enk
Günter K. schrieb: > DANKESCHÖN! Übrigens: Das mit menuetos war kein Witz, sondern ernst. Aber das mit dem ASM freundlich war bitterer Sarkasmus.
Arduino F. schrieb: > Günter K. schrieb: >> DANKESCHÖN! > > Übrigens: > Das mit menuetos war kein Witz, sondern ernst. > Aber das mit dem ASM freundlich war bitterer Sarkasmus. Hallo Arduino F., oooh, wie soll ich das, - nur verstehen - ? Arduino F., was hälst Du denn von Arduino? Nun muss ich ins Bett, bis später.
Günter K. schrieb: > der neue µC Pico von Raspberry Pi bringt. >> Aber das mit dem ASM freundlich war bitterer Sarkasmus. > oooh, wie soll ich das, - nur verstehen - ? Du? Wahrscheinlich garnicht. Bis ich Dir erklärt habe warum ein 32bit dualcore RISC nur von autistischen Masochisten mit ASM programmiert wird, bist Du bereits dabei Infos zum Transputer zusammenzutragen, mit dem Du Dich unbedingt beschäftigen willst. Und diese Endlosschleife dreht sich weiter und weiter und weiter. Nur das Du niemals irgendeine CPU verstehen und programmieren wirst. Weil Dein Fokus von CPU zu CPU zur nächsten Aufgabe, zum nächsten Teilproblem zur nächsten Architektur zum nächsten Projekt springt. Unfähig mal lange genug zu verweilen um die Informationen korrekt zu verarbeiten die Dir gegeben werden. Wir können uns endlos mit Deinem Aufmerksamkeitsdefizit beschäftigen, oder Dich ziehen lassen. Ist ja egal was man sagt. Du hast es vergessen so bald Dich das nächste triggert. Wie eine Katze die einen Laserpointer jagt.
Michael schrieb: > Infos zum Transputer zusammenzutragen Transputer in Assembler, das hat was ;). Das ist was für Laberköppe ob der Geschwätzigkeit. Es geht, führt aber leicht zu Code, den man nur schreiben aber nicht mehr lesen kann. Da schreibt man lieber erst einen Compiler für.
:
Bearbeitet durch User
Günther K. schrieb: >heute habe ich ein par Sachen eingekauft, mal sehen, >was ich damit machen kann. U.a.: >Ein Raspberry Pi Pico WH (C) 2022 >FCC ID 2ABCB.PICOW > IC.20953.PICOW Das Problem ist, dass es vielleicht zu viele Handgriffe sind, so ein System in Betrieb zu nehmen. Du kannst es aber damit probieren: https://projects.raspberrypi.org/en/projects/get-started-pico-w/1 Hier gibt es eine Anleitung auf Deutsch für das LED-Blink Programm. Die sollte funktionieren, wenn man das Programmiersystem wie oben installiert hat. https://www.elektronik-kompendium.de/sites/raspberry-pi/2707041.htm
Vergiß das alte Z80 Geraffel, dazu findest Du nur wenig für Einsteiger taugliches und auch wenig in deutsch. Der Kieser Meder aus der DDR zum Z80 ist doch sehr theoretisch aufgebaut. Es ist also sehr schwer, mit dem Z80 zu basteln, da er ja nur eine CPU ist und haufenweise externe Beschaltung braucht: https://www.amazon.de/Mikroprozessortechnik-Aufbau-Anwendung-Mikroprozessorsystems-U880/dp/B0029I3YOU Viel bastlerfreundlicher sind daher µCs, z.B. die MCS51-Serie. Dazu gibt es viel Einsteigerliteratur in deutsch. Sehr bekannt ist das Kochbuch: https://www.amazon.de/Microcontroller-Kochbuch-MCS51-Andreas-Roth/dp/3826607228 Die Tools auf der CD werden wohl nur noch unter DOSBox laufen. Man braucht auch kein großes Entwicklungsboard mehr, ein AT89C51RB2 hat alles onboard. Mit Flip lädt man ein Programm über die UART in dessen Flash. https://www.digikey.de/de/products/detail/microchip-technology/AT89C51RB2-3CSUM/1245778 Die MCS51 lassen sich sehr bequem in Assembler programmieren. Z.B. haben sie schon 8Bit Multiplikation und Division, sowie Befehle für Daten- und Sprungtabellen. Noch ohne PC lernen, entwickeln, programmieren, debuggen zu wollen ist aber nur was für extrem schmerzbefreite. Im Alter hat man für sowas keine Kraft mehr und erst recht nicht mehr die Zeit.
:
Bearbeitet durch User
Günter K. schrieb: > Ein Raspberry Pi Pico Ich kann dazu nur den Kopf schütteln. 🤦 Mehrere Leute haben dir davon abgeraten. Der RP2040 ist für den Anfang viel zu komplex, zu neu, nicht für Assembler gedacht, und nicht auf deutsch dokumentiert. Günter K. schrieb: > Bin ich hier auf dem richtigen Gleis? ganz sicher: nein
:
Bearbeitet durch User
Damit spiele ich manchmal stundenlang. Einfach super. Gruss
Günter K. schrieb: > heute habe ich ein par Sachen eingekauft, mal sehen, > was ich damit machen kann. U.a.: > > Ein Raspberry Pi Pico WH (C) 2022 > FCC ID 2ABCB.PICOW > IC.20953.PICOW Du verarscht uns doch. Was soll dann das ganze Gerede von Assembler. Das paßt hinten und vorne nicht zusammen.
Peter D. (peda) >Du verarscht uns doch. >Was soll dann das ganze Gerede von Assembler. >Das paßt hinten und vorne nicht zusammen. Ihr seit zu befehlshörig. Der Kunde weiß oft nicht was er will, deshalb muss man "out of the box" denken und dem Kunden das für ihn Passende anbieten. Ich gehe davon aus, dass Günther denkt, moderne Programmiersprachen sind zu kompliziert und Assembler wäre das einfachste. Wenn er den PiPico mit Micropython ausprobiert und erst mal sieht, wie einfach damit eine LED anzusteuern ist, ändert er seine Meinung vielleicht.
Christoph M. schrieb: > Ich gehe davon aus, dass Günther denkt Die einen sagen so, die anderen so. Christoph M. schrieb: > ändert er seine Meinung vielleicht. Mit Sicherheit! Günther ändert seine Meinung auch mehrfach im Satz. Deswegen kommt er ja nicht zu Potte.
Sherlock 🕵🏽♂️ schrieb: >> Bin ich hier auf dem richtigen Gleis? > > ganz sicher: nein Es fährt ein Zug, nach Nirgendwo . . . ;-)
Michael schrieb: > Günther ändert seine Meinung auch mehrfach im Satz. Das nennt man heute opinion fluid . . .
Schau Dir mal den Commander X16 an. Das ist vielleicht genau das, was Du suchst? Ein moderner retro Lern- und Spielcomputer mit aktueller Hardware. https://8bit-museum.de/der-neue-retro-computer-commander-x16/ Es gibt auch eine Website und mehrere YouTube Videos dazu.
Thorsten R. schrieb: > Commander X16 W65C816S 8/16–bit Microprocessor Super Wahl! Den kennt dann wirklich keiner und Günther kann nach Herzenslust alles selber lernen und herausfinden. Man sollte als blutiger Anfänger immer eine möglichst obskure und maximal komplizierte Wahl treffen damit man völlig unbeeinträchtigt von anderen lernen kann.
Michael schrieb: > W65C816S > 8/16–bit Microprocessor > > Super Wahl! > Den kennt dann wirklich keiner und Günther kann nach Herzenslust alles > selber lernen und herausfinden. Das ist der große Bruder vom 6502, 100% kompatibel zum Befehlssatz + Erweiterungen. Das Problem von Günther wird hier so oder so nicht gelöst.
Falk B. schrieb: > 100% kompatibel zum Befehlssatz + > Erweiterungen. Schon klar. Natürlich mit komplexerer HW und da Günther es ganz genau wissen will welches Bit wann gekippt wird ...
Günter K. schrieb: > Arduino F., was hälst Du denn von Arduino? Hmmm... Ich wenigen Worten: Es kommt mir in einigen Belangen entgegen. z.B. die Mächtigkeit/Portabilität von C++ und die Vielfalt an einfach nutzbarer Hardware. Tausende, wenn nicht gar zehntausende arbeiten Weltweit an Erweiterungen, in Form von Boarddefinitionen und Libraries. Nicht zu vergessen, die Hardware und Toolchainentwickler, auf dessen Schultern "wir Arduino" reiten dürfen. Vor ca 10 Jahren bin ich durch Zufall darauf gestoßen, als ein Kollege eine kleine Ablaufsteuerung benötigte und ihm eine SPS zu teuer war. Eine kurze Geschichte.... Ca mittags wurde mir ein "Starterkit" mit UNO, Käbelchen, Steckbrett, Relais usw. überreicht. War einmal ein Weihnachtsgeschenk für eins seiner Kinder, aber die konnten alle nix damit anfangen. Nach ca. 1H war die Software auf dem PC, und die ersten Beispiele getestet. 2H später, war der Prototype fertig. Nix kompliziertes. Ein paar IO und etwas Zeitabhandlung. Nie vorher hatte ich einen ATMega bewusst wahrgenommen. Etwas C im Hintergrund, aber von C++ nur gehört. Der schnelle Einstieg hat mich fasziniert. Jetzt nach 10 Jahren, gibt es immer noch Herausforderungen. C++ verstehe ich nun einigermaßen. Meine Vorbildung in anderen OOP Sprachen hat geholfen. Assembler kommt bei mir kaum vor. Manchmal möchte/muss ich sehen was der Compiler baut. Nur ganz selten fasse ich es selber an. z.B. hier, eins der Experimente: Arduino F. schrieb: > Man kann auch in der Arduinowelt direkt mit ASM starten. Siehe Anhang. > Vorgesehen ist das allerdings nicht, wird aber unterstützt.
Christoph M. schrieb: > Ich gehe davon aus, dass Günther denkt, moderne Programmiersprachen sind > zu kompliziert und Assembler wäre das einfachste. Wenn er den PiPico mit > Micropython ausprobiert und erst mal sieht, wie einfach damit eine LED > anzusteuern ist, ändert er seine Meinung vielleicht. Hallo Christoph M., guten Tag alle zusammen, Danke für die Antwort. - Das, wovon Du ausgehst ist richtig. Assembler (bzw. Maschinensprache) kann man noch nachvollziehen. Wenn ich mit Micropython auch nachvollziehen kann, wie das die Maschine macht, wäre das ok. Inzwischen, vermute ich stark, ich weiß es eben noch nicht, durch die Worte die ich darüber gelesen habe, dass Assembler und Assembler 2-erlei ist. Einmal das Assembler-Programm das man schreibt, zum anderen das Assembler-Programm, welches das Assembing durchführt. Dazu habe ich noch nichts gelernt. So ein Programm habe ich noch nie gesehen. Im übertragenen Sinne ist es im Grunde genommen, die Maschinensprache die mich interessiert. Aber ich habe nochmal hochgescrolt und gute Zeilen gelesen. Darauf gehe ich noch ein. Der 6502 ist der mir bisher sympatichste Prozessor. Nur der 8086 ist eben der, der der Zeit gefolgt ist. Dafür muss ich noch die DOSBOX installieren. Nein, ich habe meine Meinung nie geändert, weder im Satz, noch in den Abschnitten. LG. Günter alias Enk
Günter K. schrieb: > Einmal das Assembler-Programm das man schreibt, > zum anderen das Assembler-Programm, welches das Assembing durchführt Und drittens: die Programmiersprache Assembler.
Sherlock 🕵🏽♂️ schrieb: > Günter K. schrieb: >> Einmal das Assembler-Programm das man schreibt, >> zum anderen das Assembler-Programm, welches das Assembling durchführt > > Und drittens: die Programmiersprache Assembler. Ja, Danke, Das ist richtig! LG. Günter K.
Günter K. schrieb: > Nur der 8086 ist eben der, der der Zeit gefolgt ist. Nicht wirklich. Den kannst du eher mit einem kleinen Häuschen vergleichen, dass mit ein paar Balkonen erweitert wurde. Danach hat man eine Burg drumherum gebaut, die ständig mit weiteren Gebäuden, Erkern, Türmchen, Balkonen, Tunneln und Geheimgängen erweitert wird. Das Häuschen ist nur noch ein Zimmer innerhalb der Burg. Was wir heute im PC stecken haben ist das exakte Gegenteil von durchschaubar. Aus gutem Grund gibt es keine Mikrocontroller auf Basis der 8086 Architektur. Der 80186 ging ein bisschen in die Richtung, ist aber ebenfalls Geschichte.
:
Bearbeitet durch User
Hallo, Günter K. schrieb: > Einmal das Assembler-Programm das man schreibt,... Ersetze in diesem Zusammenhang mal Assembler-Programm durch "Assembler-Quelltext meines Programms". > ...zum anderen das Assembler-Programm, welches das Assembing durchführt. Und in diesem Zusammenhang durch "Übersetzungsprogramm, das das den Assembler-Quelltext meines Programms in den Binärcode meines Mikroprozessors übersetzt". rhf
Hallo, Sherlock 🕵🏽♂️ schrieb: > Das Häuschen ist nur noch ein > Zimmer innerhalb der Burg. Ich würde eher sagen es ist nur noch ein Zimmer innerhalb der Metropole, in der die Burg steht. rhf
Günter K. schrieb: > Der 6502 ist der mir bisher sympatichste Prozessor. Darum geht es aber nicht. Wenn Du Dich mit Assembler beschäftigen willst, dann nützt Dir nur eine Architektur was, die auch weit verbreitet ist. Hier im Forum gibt es einen Großteil, der sich mit AVR auskennt und auch bereit ist, mal über Deinen Code zu schauen. AVR wäre also mein ganz heißer Tipp oder Dein bisheriges Assemblergerede war nur eine ganz große Luftnummer. 8051, MSP430, PIC Assembler kennen auch noch einige, aber da wird die Luft schon dünner. Sprut hat ja mal mit PIC angefangen. Die recht eigenwillige PIC Architektur muß man nicht mögen, aber da findet man doch viele Grundlagen erklärt: https://www.sprut.de/electronic/pic/index.htm Und Abschreckendes: https://www.sprut.de/misc/rip.htm
Günter K. schrieb: > Inzwischen, vermute ich stark, ich weiß es eben noch > nicht, durch die Worte die ich darüber gelesen habe, > dass Assembler und Assembler 2-erlei ist. > Einmal das Assembler-Programm das man schreibt, Das ist der sog. "Quelltext"; beim Programmieren in Assemblersprache eben ein "Assembler-Quelltext". > zum anderen das Assembler-Programm, welches das > Assembing durchführt. Das ist im Slang "der Assembler". > Dazu habe ich noch nichts gelernt. So ein Programm > habe ich noch nie gesehen. Im übertragenen Sinne ist > es im Grunde genommen, die Maschinensprache die mich > interessiert. Und warum programmierst Du dann nicht einfach in "Maschinensprache" (=Hex-Code)? Wenn ich das richtig verstanden habe, besitzt Du inzwischen einen MPF-1 ("Mikroprofessor"), da ist ein Z80 drinn. Was zum Teufel hindert Dich? Anstecken, einschalten, loslegen... Wie ich weiter oben schon erklärte, kommst Du zu Anfang mit ca. zwei Dutzend Befehlen aus; das hält den Lernaufwand in Grenzen. > Der 6502 ist der mir bisher sympatichste Prozessor. Nur > der 8086 ist eben der, der der Zeit gefolgt ist. ??? Assemblersprache lernt man heute i.d.R. nicht, um reale Programmierprobleme zu lösen, sondern um ein Gefühl dafür zu bekommen, was im Innern eines Prozessors abläuft.
Peter D. schrieb: > Günter K. schrieb: >> Der 6502 ist der mir bisher sympatichste Prozessor. > > Darum geht es aber nicht. Wenn Du Dich mit Assembler > beschäftigen willst, dann nützt Dir nur eine Architektur > was, die auch weit verbreitet ist. ... oder wenigstens "war". > Hier im Forum gibt es einen Großteil, der sich mit AVR > auskennt [...] Wie man so lesen kann, haben erstaunlich viele auf ihrem Weg auch mal mit dem Z80 zu tun gehabt -- womit wir wieder beim Mikroprofessor wären...
Hippelhaxe schrieb: > Wie man so lesen kann, haben erstaunlich viele auf ihrem > Weg auch mal mit dem Z80 zu tun gehabt -- womit wir wieder > beim Mikroprofessor wären... Altersfrage. Irgendwann sterben dem in Ehren ergrauenden Forum die Teilnehmer weg. Dann weiss von den paar Übrigen keiner mehr, warum das mal so war. :)
:
Bearbeitet durch User
PS: Ist ja fast eine geschlossene Gesellschaft hier. Und wenn mal ein Neuling kommt, der nicht gleich wieder verbissen wird, dann stellt sich heraus, dass er 80 ist.
(prx) A. K. schrieb: > Hippelhaxe schrieb: >> Wie man so lesen kann, haben erstaunlich viele auf ihrem >> Weg auch mal mit dem Z80 zu tun gehabt -- womit wir wieder >> beim Mikroprofessor wären... > > Altersfrage. Irgendwann sterben dem in Ehren ergrauenden > Forum die Teilnehmer weg. Logisch -- aber das wird ja hoffentlich weder dieses noch nächstes Jahr der Fall sein; also können noch viele Z80- Minimalsysteme auf Lochrasterplatine gebastelt werden...
Sherlock 🕵🏽♂️ schrieb: > ... Tunneln und Geheimgängen erweitert wird. Das Häuschen ist nur noch ein > Zimmer innerhalb der Burg. > > Was wir heute im PC stecken haben ist das exakte Gegenteil von > durchschaubar. Aus gutem Grund gibt es keine Mikrocontroller auf Basis > der 8086 Architektur. Der 80186 ging ein bisschen in die Richtung, ist > aber ebenfalls Geschichte. Das ist sehr schön erklärt. Ich werde mal versuchen, nur ein Zeichen auf den Bildschirm zu bringen. Es wird folgendes Programm sein. Ich tippe es aber erst mal ein. LG. Enk.
Günter K. schrieb: > das Assembler-Programm, welches das Assembing durchführt. > Dazu habe ich noch nichts gelernt. So ein Programm habe ich noch nie > gesehen. Im übertragenen Sinne ist es im Grunde genommen, die > Maschinensprache die mich interessiert. Assembler IST die Maschinensprache. Die pure Hardware führt Assembler aus. Im Assembler Mnemonik ist in den Bits codiert welche Hardware in der CPU was in welcher Abfolge zu tun hat.
Günter K. schrieb: >> Ja klar! >> 32Bit Dualcore Risc Maschinen sind total ASM freundlich. > DANKESCHÖN! > LG Enk Als Steigerung bietet sich noch die "8bit-Computing mit FPGA" von Josef an. Beitrag "8bit-Computing mit FPGA" ... und dann gerade mal 10 Jahre weiter sind wir da ... bei den OpCodes Beitrag "Re: 8bit-Computing mit FPGA" Oder, als Vorprojekt, diese Info Beitrag "Re: Ein 8bit-Rechner auf dem Spartan-3A-Starterkit" Da kann sich Günter jetzt mal reinwühlen. Da hat er zu tun bis er über 90 ist.
Günter K. schrieb: > Ich werde mal versuchen, nur ein Zeichen auf den Bildschirm zu bringen. Also auf meinem Bildschirm tauchen sogar schon ganze Sätze von dir auf!
Günter K. schrieb: > Ich werde mal versuchen, nur ein Zeichen auf den Bildschirm zu bringen. Ohne BIOS, ohne Windows API und ohne zu lernen, wie die (welche auch immer) Grafikkarte bzw. GPU funktioniert? Ich dachte, du wolltest dich auf die Bits in der CPU konzentrieren. Dann bleibe um Gottes Willen bei deinem Z80 Lernsystem! So lange du wild hin und her springst lernst du gar nichts.
:
Bearbeitet durch User
Michael schrieb: > Assembler IST die Maschinensprache. Keineswegs. Die ist binär und es kommt oft vor, dass nicht der Programmierer die binäre Form des Befehls bestimmt, sondern der Assembler. Wenn mehrere Möglichkeiten.
Michael schrieb: > Günter K. schrieb: >> das Assembler-Programm, welches das Assembing durchführt. >> Dazu habe ich noch nichts gelernt. So ein Programm habe >> ich noch nie gesehen. Im übertragenen Sinne ist es im >> Grunde genommen, die Maschinensprache die mich interessiert. > > Assembler IST die Maschinensprache. HIMMELHERRGOTT! NICHT SCHON WIEDER! 1. Maschinensprache ist Maschinensprache ist Maschinensprache! > Die pure Hardware führt Assembler aus. Schwachsinn! 2. Die Hardware führt MASCHINENCODE aus! 3. Ein "Assemblerprogramm" (=Assemblerquelltext) ist eine TEXTDATEI! Mit der kann kein Prozessor irgenwas anfangen! 4. Um aus einem "Assemblerprogramm" (=Assemblerquelltext) ein ausführbares Programm zu machen, ist ein ÜBERSETZER nötig, der die Textdatei einliest und Maschinencode ausspuckt! Dieses Übersetzerprogramm wird "Assembler" genannt. > Im Assembler Mnemonik ist in den Bits codiert welche Hardware > in der CPU was in welcher Abfolge zu tun hat. Nein! In den Assemblerbefehlen (=ASCII-Zeichenketten) ist codiert, welche Maschinenbefehle das Übersetzungsprogramm nacheinander erzeugen soll! Richtig ist allerdings, dass Assemblersprachen in der Regel so ausgedacht sind, dass im Wesentlichen eine 1:1-Zuordnung zwischen Assemblerbefehlen und Maschinencode existiert. Merke: Ein Rezept ist keine Mahlzeit -- sondern nur eine Vorschrift, wie die Mahlzeit herzustellen ist...
(prx) A. K. schrieb: > Michael schrieb: >> Assembler IST die Maschinensprache. > > Keineswegs. Die ist binär und es kommt oft vor, dass nicht der > Programmierer die binäre Form des Befehls bestimmt, sondern der > Assembler. Wenn mehrere Möglichkeiten. Erbsenzählerei. Assembler kann meistens 1:1 in die eindeutige Maschinensprache übersetzt werden. Bis auf sehr wenige Ausnahmen. Damit ist Assemblersprache lediglich eine Eingabehilfe für Maschinensprache. Mit sehr wenig Spielraum für den Assembler. Daher ist es nicht falsch das Gleich zu setzen.
:
Bearbeitet durch User
Soweit ich das sehe, ist Z80 ein absterbender Ast. AVR sind nicht wirklich komplexer, aber dafür deutlich aktueller/billiger. Somit sollte eigentlich klar sein, womit man sich eher beschäftigen sollte.
Hippelhaxe schrieb: > Richtig ist allerdings, dass Assemblersprachen in der Regel > so ausgedacht sind, dass im Wesentlichen eine 1:1-Zuordnung > zwischen Assemblerbefehlen und Maschinencode existiert Von 1:N bis N:1 ist alles dabei. Mal gibt's mehrere Befehle für den gleichen Opcode, etwa SBR und ORI bei AVR. Mal gibt's mehrere Opcodes für ADD. Intel war anno 8080 radikaler, aber das ist lange her.
:
Bearbeitet durch User
Günter K. schrieb: >> der 8086 Architektur. Der 80186 ging ein bisschen in die Richtung, ist >> aber ebenfalls Geschichte. > > Das ist sehr schön erklärt. > > Ich werde mal versuchen, nur ein Zeichen auf den Bildschirm zu bringen. > Es wird folgendes Programm sein. Ich tippe es aber erst mal ein. > LG. Enk. Bzw. das Progrämmchen, welches hier folgt: ... Leider fehlt der OpCode. ************************************************************************ * * * * Aufgabe 1: Einlesen eine Taste auf * Bildschirmmit mit definierter Rueckkehr ins Betriebsystem * Progammname: Prog1.ASM * ************************************************************************ * .Model SMAL .Code MOV AH,08H ; liest Tastatur - bringt Int 21H ; Zeichencode nach AL MOV DL,AL MOV AH,02H ; bringt Zeichen aus Register INT 21H ; DL zur Anzeige MOV AH,4CH ; Definierte Rueckkehr Int 21H ; zum Betriebssytem END ------------------------------------------------------------------------ Dieses Programm kann noch nicht laufen weil DOS fehlt. LG.Enk
(prx) A. K. schrieb: > Dann weiss von den paar Übrigen keiner mehr, warum das > mal so war. :) Zu mindestens sollte man den Unterschied zwischen CISC und RISC kennen. Letzteres ist ja beim ARM dominierend und so auch eher Programmiertechniken wichtig. Man kann aber genau so gut Algorithmen auf dem Papier in C und in Assembler entwickeln und wird dann nicht dümmer. Darüberhinaus werden auch gleich die Vorteile von C offensichtlich (neben einigen Schwächen) oder auch die Vorteile von Assembler (neben einigen Schwächen). Bei Mikrocontrollern ist oft der, den du gerade nicht hast, wichtig - weswegen für den Anfang eine Emulation auf dem PC hilfreich ist. Wenn man damit durch ist, kann man sich mit den Datenblättern der älteren gut bekannten Mcs auseinandersetzen und sollte sich dann auch ansprechende Hardware besorgen. FPGA oder 3D-Druck haben ihre Vorteile - aber eben auch Nachteile, aber spätestens da sollte man wissen, wo man eigentlich hin möchte. Codes gehörten auch zu den Grundlagen, über die muss man auch Bescheid wissen, helfen auch verstehen: https://de.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange
Günter K. schrieb: > Dieses Programm kann noch nicht laufen weil DOS fehlt. Darum ja auch mein Vorschlag den Rasberry Pico als CP/M System zu verwenden. Damit passt dein "DOS", Assembler und Z80/8080(?) Emulation in eine Streichholzschachtel
Rbx schrieb: > Zu mindestens sollte man den Unterschied zwischen CISC und RISC kennen. Gar nicht so einfach, bei allem, was die Leute so RISC nennen. Etwa "variable length RISC" bei Coldfire. 6502 so einzutüten hat hier auch jemand geschafft.
Hallo Leute, leider sind mir bei der letzte Programmeingabe vermutlich einige Tabulatoren durch die Gegend gesprungen. In Zukunft mache ich die Sternrahmen kleiner. LG. Enk PS.: Jetzt mache ich erst mal Mittagschlaf.
:
Bearbeitet durch User
(prx) A. K. schrieb: > Hippelhaxe schrieb: >> Richtig ist allerdings, dass Assemblersprachen in der Regel >> so ausgedacht sind, dass im Wesentlichen eine 1:1-Zuordnung >> zwischen Assemblerbefehlen und Maschinencode existiert > > Von 1:N bis N:1 ist alles dabei. Ich könnte mich jetzt rausreden und behaupten, ich hätte gemeint, dass ein (nicht-Macro-)Assembler aus einem Befehl im Quelltext stets genau einen Maschinenbefehl erzeugt... :) (Wäre aber gelogen, also mache ich's nicht.) Oder gibt's etwa auch dafür Gegenbeispiele? > Mal gibt's mehrere Befehle für den gleichen Opcode, etwa > SBR und ORI bei AVR. Ahh! Stimmt. Mea culpa. Kennt der MSP430 auch. > Mal gibt's mehrere Opcodes für ADD. Intel war anno 8080 > radikaler, aber das ist lange her. Mir ist klar, dass die 1:1-Zuordnung nicht wörtlich stimmt; allerdings denke ich, dass es "vergröbert", also gruppenweise richtig ist: Ein Sprung wird tatsächlich zu einem Sprung übersetzt, eine ALU-Operation zu einer ALU-Operation und so weiter. Das ist ja bei einem Compiler für eine Hochsprache keineswegs immer so.
Günter K. schrieb: > Dieses Programm kann noch nicht laufen weil DOS fehlt. Es ruft Funktionen von einem Betriebssystem auf, dessem Quelltext nicht vorliegt. Dieses wiederum ruft BIOS Funktionen auf, deren Quelltext nicht vorliegt. Dieses ruft Funktionen des ROMS der Grafikkarte auf, deren Quelltext nicht vorliegt. Die Signale der CPU sind so schnell, dass sie nicht einmal mit einem Logic Analyzer beobachtet werden können. Am Herzen des Systems zu basteln ist unmöglich, wäre auch finanzielll betrachtet eine maximale Dummheit. Also absolut unggeeignet zum Lernen der Grundlagen.
:
Bearbeitet durch User
Günter K. schrieb: > Dieses Programm kann noch nicht laufen weil DOS fehlt. Und vor allem lernst Du an diesem Beispielprogramm nichts, weil Du es Dir nicht selbst ausgedacht hast.
Vielleicht sollte man beim Thema Assembler einen Vergleich wagen: Assembler ist wie die menschliche Sprache: Es gibt verschiedene. Hat man einmal Spanisch gelernt, kann man damit in China nicht viel anfangen. Kann man Z80 Assembler auswendig, funktioniert schon wieder nichts mehr auf einen AVR. Aus diesem Grunde macht Assembler nur für Spezialisten wirklich Sinn und Assembler wird heute nur noch wenig verwendet (höre ich einen Aufschrei hier?). Es macht Sinn, eine verallgemeinernde Sprache wie z.B. Python zu verwenden, die auf so ziemlich vielen Systemen vom mittelgroßen Mikrocontroller bis zum PC läuft.
(prx) A. K. schrieb: > PS: Ist ja fast eine geschlossene Gesellschaft hier. Vielleicht doch ne geschlossene Anstalt?
Hippelhaxe schrieb: > Oder gibt's etwa auch dafür Gegenbeispiele? Die Assembler mancher RISCs bauen einen "load immediate" Befehl je nach Wert der Konstanten aus mehrere Operationen zusammen. Oder aus einem "load relative" und einer Konstanten in der Nähe.
Hippelhaxe schrieb: > Logisch -- aber das wird ja hoffentlich weder dieses noch > nächstes Jahr der Fall sein; also können noch viele Z80- > Minimalsysteme auf Lochrasterplatine gebastelt werden... Du bist auch in den 80er hängen geblieben . . .
Michael schrieb: > Assembler IST die Maschinensprache. > Die pure Hardware führt Assembler aus. Nö. > Im Assembler Mnemonik ist in den Bits codiert welche Hardware in der CPU > was in welcher Abfolge zu tun hat. Auch nö. Die Mnemonik sind menschenlesbare Kodierung der reinen Zahlen der Maschinensprache. Beitrag "Re: Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?"
Falk B. schrieb: > Vielleicht doch ne geschlossene Anstalt? Meine Rede seit Jahren. Früher war A&B die Offene und Offtopic die Geschlossene. In Erstere durfte jeder rein, in Letztere nur mit Anmeldung. Die Offene wurde dann aufgrund hoffnungsloser Überbelegung geschlossen.
Falk B. schrieb: > Die Mnemonik sind menschenlesbare Kodierung Die man 1zu1 in den hex Code übersetzen kann, der eine binäre Folge repräsentiert, in der codiert ist welche HW... Komm schon, das kannst Du besser.
Arduino F. schrieb: > Soweit ich das sehe, ist Z80 ein absterbender Ast. Absterbend? Der ist schon lange tot! So wie V8 Big Block! > AVR sind nicht wirklich komplexer, aber dafür deutlich > aktueller/billiger. Aktueller ja. Aktuell, naja. Die Dinger gibt es auch schon reichlich 25 Jahre, wenn auch immer wieder mal mit leicht aufgebohrter CPU und vor allem Drum herum. > Somit sollte eigentlich klar sein, womit man sich eher beschäftigen > sollte. KI!!!! ;-)
Hippelhaxe schrieb: > allerdings denke ich, dass es "vergröbert", also gruppenweise > richtig ist Auch ein Compiler macht aus einer Operation nicht ihr Gegenteil. Ein AVR Assembler wiederum macht aus der vorgeblichen Ladeoperation CLR die ALU-Operation EOR. Es ist nicht einfach, Begriffe und Sachverhalte so zu definieren, dass man darin keine Löcher und Widersprüche findet. In der ebenfalls von Logik geprägten Juristerei auch nicht.
:
Bearbeitet durch User
Günter K. schrieb: > Bzw. das Progrämmchen, welches hier folgt: ... > Leider fehlt der OpCode. so ein quatsch. Du springst wild zwischen den Architekturen hin und her. Von Z80,6502,8086 und Raspberry Pi Pico. Dabei hast nicht die leiseste Vorstellung wie du zu den entsprechenden Hex codes kommst. Es wurden dir so viele Wege aufgezeigt wie du arbeiten kannst. Das setzt aber voraus, dass du dich auf eine Architektur festlegst und dann loslegst. Dazu gehört selbstverständlich das Einarbeiten in die entsprechenden Tools. Lass dir gesagt sein ASM mit 8086 ist zwar machbar für dich aber in den nächsten 10 Jahren unerreichbar.
Arduino F. schrieb: > Günter K. schrieb: >> Dieses Programm kann noch nicht laufen weil DOS fehlt. > > Darum ja auch mein Vorschlag den Rasberry Pico als CP/M System zu > verwenden. > Damit passt dein "DOS", Assembler und Z80/8080(?) Emulation in eine > Streichholzschachtel Hallo Arduino F. und alle. Gut das werde ich machen und ich habe auch noch den Arduino. Das Wesendliche ist mir, sehen zu können, was sich abspielt. An und für sich, sollte es für jeden Prozessor Assembler geben, weil ja jeder Prozessor in Maschinensprache arbeitet. Kann man Mikrophyton in Assembler übersetzen? Ich hatte mal gehört, Python wäre eine Interpreter-Sprache stimmt das? Den Lehrgang zu dem Rasberry Pico suche ich noch raus, auch, weil ich zu wenig Englisch kann. LG. Enk
:
Bearbeitet durch User
Moin, Vll. wäre eine uralte Bord mit Monitor, Keypad und LED Display das Richtige. Da ist ein PC nicht unbedingt nötig. Ich denke da in erster Linie an die alten Motorola Bords. Ich fing mit 6802 und HC11 an. Beim 6802 war alles auf der Bord. Der HC11 EVB brauchte ein Terminal. Das war alles Maschinen-Nahe. Man mußte die OPCodes direkt als Hex Nummer eingeben. Es funktionierte. Würde ich mir das heute noch antun wollen? Nicht wirklich. Eine Simulation mit uV2 ist da auch nicht zu verachten. Der MCS51 Befehlssatz ist zum Lernen nicht schlecht. Auch die Z8 Architektur ist nicht schlecht. MSP430 hat auch seinen Reiz und vorzügliche SW. Auch mit PIC kann man mit ASM zurechtkommen. Auch bei uC gilt: "Dem Hungrigen schmeckt alles". Daran steckt in diesen Kontext schon ein "Bitchen" Wahrheit. AVR ist auch nicht zu verachten. Wer will, findet alles Notwendige dazu in der Welt für Peanuts oder frei. Reden ist Silber, Machen ist Gold! Nach all der schon verspritzten Forumstinte ist es an der Zeit, zu machen. Es wurde schon viel zu viel geredet. Den Rpi halte ich im Kontext hier für eine recht unglückliche Wahl. Dafür habe nicht mal ich echte Lust dazu. Ich finde, Acht-Bitter dagegen, haben auch in unserer Zeit immer noch einen gewissen Reiz und Charm. Aber auch dort, hat eine Sprache wie C Sinn, wenn es um die Verwirklichung von Entwicklungsaufgaben geht. ASM da nur, wenn die Umstände es nahelegen. C ist ohnehin nur einen Katzensprung von ASM entfernt und kann je nach Implementierung sehr HW-Nahe sein. C hat praktische Nähe zu ASM. Das kann sehr nützlich sein. Duck und weg, Gerhard
Falk B. schrieb: > Hippelhaxe schrieb: >> Logisch -- aber das wird ja hoffentlich weder dieses noch >> nächstes Jahr der Fall sein; also können noch viele Z80- >> Minimalsysteme auf Lochrasterplatine gebastelt werden... > > Du bist auch in den 80er hängen geblieben . . . Und? Aktuell benötige ich eine Art MIDI-Recorder. Passende Linux-Software ist bereits installiert, aber der MIDI-to- USB-Konverter führt im Zusammenspiel mit dem Kernel zu stotternder Übertragung... Ich vermisse meinen LC80. Mit dem hätte ich das Problem schon lange gelöst...
Falk B. schrieb: > Aktueller ja. Aktuell, naja. Die Dinger gibt es auch > schon reichlich 25 Jahre Das stimmt. Deswegen sind AVR sehr gut dokumentiert. Und man kann sie noch problemlos für wenig Geld kaufen (bisher kein Ende in Sicht). Z80 und 6502 existierten in einer anderen Zeit, als es noch kein Internet gab und normale Menschen keinen eigenen PC hatten. Wer sich mit denen beschäftigt, sollte nach Büchern Ausschau halten. Bei mir in der Stadtbücherei wurden sie inzwischen ausgemustert. Auch die Bücher über DOS und CP/M. Da dem Günter für sein Z80 Gerät die ganze Doku auf deutsch (das war ihm wichtig) vorliegt, spricht meiner Meinung nach fast nichts dagegen, die Grundlagen auf diesem Gerät zu lernen. Die Art wie es dokumentiert ist wird ihn sicher eher ansprechen, als die moderne Art von Arduino. Das ist eher was für die Generationen nach ihm. Ich schreibe "fast nichts", weil ich mir Sorgen um die Reparierbarkeit mache. Den Z80 und die zugehörigen I/O Bausteine kann man (bei seriösen Händlern) nicht mehr kaufen. Stattdessen häufen sich Berichte über schlechte Fälschungen.
:
Bearbeitet durch User
(prx) A. K. schrieb: > Es ist nicht einfach, Begriffe und Sachverhalte so zu definieren, dass > man darin keine Löcher und Widersprüche findet Vor allem, weil wir hier gerade eine Zeitspanne von mehr als 50 Jahren abdecken.
Hippelhaxe schrieb: > Günter K. schrieb: > >> Dieses Programm kann noch nicht laufen weil DOS fehlt. > > Und vor allem lernst Du an diesem Beispielprogramm nichts, > weil Du es Dir nicht selbst ausgedacht hast. Ja, ja, das stimmt -; selbst bei diesem Beispiel treten Fragen auf. Genau wohin wird das Zeichen auf dem Bildschirm gesendet. Dann muss der Bildschirm vermutlich in der Grafikkarte auch einen Speicherplatz haben. Aber wohin auf dem Bildschirm? Wenn da aber schon schon eines ist. LG.Enk
Hippelhaxe schrieb: > Ich vermisse meinen LC80. > Mit dem hätte ich das Problem schon lange gelöst... Faustkeile waren auch sehr vielfältig nutzbar! ;-)
Sherlock 🕵🏽♂️ schrieb: > Den Z80 und die zugehörigen I/O Bausteine kann man (bei seriösen > Händlern) nicht mehr kaufen. Angesichts des Angebots und des Alters der Bausteine, die ich da schon mal bekam, habe ich den Eindruck, dass Kessler seit Anbeginn der Zeiten noch nie das Lager ausfegte. Und abverkauft wird, was seit Jahrzehnten Staub ansetzt. https://www.kessler-electronic.de/de/Article?s=z80
:
Bearbeitet durch User
Günter K. schrieb: > Genau wohin wird das Zeichen auf dem Bildschirm gesendet. > Dann muss der Bildschirm vermutlich in der Grafikkarte > auch einen Speicherplatz haben. Richtig. An der Darstellung ist auch ein Zeichensatz beteiligt, der die Pixel der Buchstaben festlegt. Dieser wiederum wird beim Start des DOS von der Festplatte geladen. Das ist ein Fass ohne Boden, wenn man da wirklich jedes Bit sehen will.
(prx) A. K. schrieb: > och nie das Lager ausfegte. Und abverkauft wird, was seit Jahrzehnten > Staub ansetzt. https://www.kessler-electronic.de/de/Article?s=z80 Z85C3008PSC Z80-SCC CMOS 8MHz DIP40 11,50 € Für weniger als die Hälfte des Geldes bekommt man heute einen RP2040 mit geschätzt 1000x mehr CPU-Leistung und 250kB RAM, das Vierfache dessen, was ein Z80 direkt adressieren kann. So sieht Goldstaub aus . . .
Günter K. schrieb: > An und für sich, sollte es für jeden Prozessor Assembler geben, > weil ja jeder Prozessor in Maschinensprache arbeitet. So absolut ist das falsch https://www.greenarraychips.com/home/documents/greg/PB003-110412-F18A.pdf Gerhard O. schrieb: > C ist ohnehin nur einen Katzensprung von ASM > entfernt Früher, mag das mal ein Makroassembler gewesen sein. Heute optimiert das soweit, dass man manchmal erstaunlich wenig des C im Maschinencode wiederfindet. Oder deutlich umsortiert. Rbx schrieb: > Zu mindestens sollte man den Unterschied zwischen CISC und RISC kennen. > Letzteres ist ja beim ARM dominierend und so auch eher > Programmiertechniken wichtig. Hmmm... Wenn ich mich richtig erinnere, hatte man bei CISC ein strengeres Auge auf Menschenfreundlichen ASM/Maschinen Code. RISC Dialekte sind eher auf Compiler ausgerichtet. Wenige ASM Statements, aber dafür rasante Ausführung.
:
Bearbeitet durch User
(prx) A. K. schrieb: > https://www.kessler-electronic.de/de/Article?s=z80 Falk B. schrieb: > Z85C3008PSC Z80-SCC CMOS 8MHz DIP40 11,50 € Das ist aber kein Z80, sondern eine serielle Schnittstelle. Eine Z80-CPU haben die nicht mehr im Programm. Mouser, Digikey, Reichelt, Conrad auch nicht. Dort gibt es noch welche: https://www.mos-electronic-shop.de/z80z84-c-33_106_281.html https://pinball-parts.shop/detail/index/sArticle/32760
:
Bearbeitet durch User
Arduino F. (Firma: Gast) (arduinof) 22.10.2024 16:01 >So absolut ist das falsch >https://www.greenarraychips.com/home/documents/greg/PB003-110412-F18A.pdf Nö, es ist absolut auch da richtig.
Falk B. schrieb: > Hippelhaxe schrieb: >> Ich vermisse meinen LC80. >> Mit dem hätte ich das Problem schon lange gelöst... > > Faustkeile waren auch sehr vielfältig nutzbar! ;-) Mag wohl sein, aber echtzeitfähige Faustkeile, die Logikpegel verarbeiten können, sind mir nicht bekannt.
Christoph M. schrieb: > ist absolut auch da richtig 1. Forth ist eine Hochsprache 2. Es gibt keinen Assembler, und keine Assembler Sprache dafür.
Sherlock 🕵🏽♂️ schrieb: > (prx) A. K. schrieb: >> Es ist nicht einfach, Begriffe und Sachverhalte so >> zu definieren, dass man darin keine Löcher und >> Widersprüche findet > > Vor allem, weil wir hier gerade eine Zeitspanne von > mehr als 50 Jahren abdecken. Nun ja... Mathematik deckt DEUTLICH mehr als 500 Jahre ab... Was sagt das über die Informatiker, die sich gern mit mathematisch-abstrakten Begriffen schmücken...?!
Hippelhaxe schrieb: > Mathematik deckt DEUTLICH mehr als 500 Jahre ab... Im Gegensatz zur IT ist die Mathematik ausgereift. Die beiden haben auch völlig unterschiedliche Triebfedern.
:
Bearbeitet durch User
Arduino F. schrieb: > Christoph M. schrieb: >> ist absolut auch da richtig > > 1. Forth ist eine Hochsprache > 2. Es gibt keinen Assembler, und keine Assembler Sprache dafür. Aber auch bei Forth muss der Comuter mit Bits rechnen, die sich irgendwie in einer Struktur finden lassen. LG. Enk
Arduino F. schrieb: > 1. Forth ist eine Hochsprache > 2. Es gibt keinen Assembler, und keine Assembler Sprache dafür. Dennoch gibt es Forth-Systeme, bei denen man in Forth in Assembler-Befehlen schreiben kann, ohne auf externe Assembler zurückgreifen zu müssen. BTDT
:
Bearbeitet durch User
Das führt alles zu nichts. Versuch dir mal das hier reinzuziehen: https://www.youtube.com/playlist?list=PLeGPdggHFfEO0YsZf8LkKmtumaAwrRXvH Die Folgen 6 und 7 sind am nächsten am Thema. Aber ich empfehle dir, alle Folgen anzuschauen. Und wenn du was nicht verstehst, hier konkret nachzufragen.
:
Bearbeitet durch User
Günter K. schrieb: > Aber auch bei Forth muss der Comuter mit Bits rechnen, die sich > irgendwie in einer Struktur finden lassen. Nennt sich Hauptspeicher.
(prx) A. K. schrieb: > Dennoch gibt es Forth-Systeme, bei denen man in Forth in > Assembler-Befehlen schreiben kann, ohne auf externe Assembler > zurückgreifen zu müssen. Und sogar strukturiert. Sieht halt etwas ungewohnt aus. Forth-Stil eben.
:
Bearbeitet durch User
Günter K. schrieb: > Aber auch bei Forth muss der Comuter mit Bits rechnen, die sich > irgendwie in einer Struktur finden lassen. Was aber nicht unbedingt was mit Assembler zu tun hat, wie dir auch das PDF verraten haben könnte. (prx) A. K. schrieb: > Dennoch gibt es Forth-Systeme, bei denen man in Forth in > Assembler-Befehlen schreiben kann, ohne auf externe Assembler > zurückgreifen zu müssen. Ja! Durchaus üblich. Aber eben nicht beim FA18A
Sherlock 🕵🏽♂️ schrieb: > Hippelhaxe schrieb: >> Mathematik deckt DEUTLICH mehr als 500 Jahre ab... > > Im Gegensatz zur IT ist die Mathematik ausgereift. > Die beiden haben auch völlig unterschiedliche Triebfedern. Pascal ist ja eine Mathematisch orientierte Hochsprache. Und wie ich die Entwicklung sehe, wird auch IT, das in den Griff haben haben. Nur dann lebe ich nicht mehr. Immerhin wurde inzwischen die ganze Gen-Kette analysier.' Auch wenn ich hier und da mal abschweife. Der 6502 wird die CPU werden. Die Leute die Programme portierbar mache, haben die haben die einen Berufsnamen? Also es wird sein, der emulierte 6502. Ab Donnerstag, LG Enk,
Günter K. schrieb: > Pascal ist ja eine Mathematisch orientierte Hochsprache. Nein, du meinst bestimmt Fortran. Pascal war für Ausbildung/Lehre bestimmt/beabsichtigt.
Günter K. schrieb: > Die Leute die Programme portierbar mache, > haben die haben die einen Berufsnamen? Das Berufsbild nennt sich wohl im Volksmund: Programmierer!
:
Bearbeitet durch User
Günter K. schrieb: > Pascal ist ja eine Mathematisch orientierte Hochsprache. Das ist eine mathematisch orientierte Hochspache! life ← {⊃1 ⍵ ∨.∧ 3 4 = +/ +⌿ ¯1 0 1 ∘.⊖ ¯1 0 1 ⌽¨ ⊂⍵} (APL, Game of life als Einzeiler)
:
Bearbeitet durch User
(prx) A. K. schrieb: > (prx) A. K. schrieb: >> Dennoch gibt es Forth-Systeme, bei denen man in Forth in >> Assembler-Befehlen schreiben kann, ohne auf externe Assembler >> zurückgreifen zu müssen. > > Und sogar strukturiert. Sieht halt etwas ungewohnt aus. Forth-Stil eben. Aber es fehlt das Dictionary, denn LDA und STA sind nicht Standard-Token (DEC, BEGIN und UNTIL sehr wohl). Das Konzept des Dictionaries ist schon genial. Ich hatte mal eine kleine SUN die einen FORTH-Interpreter in der Konsole hatte. Aber wenn schon: Hello_World in Brainfuck, eine Turing-vollstaendige Sprache (https://de.wikipedia.org/wiki/Brainfuck):
1 | ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++. |
Ich habe eine Diplom-Pruefung in formalen Sprachen ablegen muessen, das hat Schaeden hinterlassen. P.S.: Hast Du eine APL-Tastatur?
Günter K. schrieb: > Der 6502 wird die CPU werden. Ich verstehe nicht, was hier abläuft. Du hast schon einen funktionierenden Z80 Lerncomputer vorliegen. Eine alte Möhre, aber geeignet und bestens dokumentiert. Ich könnte verstehen, wenn du etwas moderneres anschauen willst, aber warum zur Hölle nun ausgerechnet den 6502? Der ist doch ebenso ein ausgestorbenes Fossil der 80er Jahre, dazu noch ein weniger verbreitetes. Um zu Programmieren muss man vor allem eins können: Strukturiert schrittweise auf das Ziel hin arbeiten. Davon sehe ich hier wenig.
:
Bearbeitet durch User
Thomas W. schrieb: > P.S.: Hast Du eine APL-Tastatur? Ich habe zwar in APL mit Programmierung angefangen, aber seit ~40 Jahren praktisch nichts mehr damit gemacht.
Thomas W. schrieb: > Ich habe eine Diplom-Pruefung in formalen Sprachen ablegen muessen, das > hat Schaeden hinterlassen. Ich bin zwar von Haus aus nicht der große Theoretiker, aber mit "Automatentheorie und Formale Sprachen" konnte ich etwas anfangen.
:
Bearbeitet durch User
(prx) A. K. schrieb: > Ich habe zwar in APL mit Programmierung angefangen, aber seit ~40 Jahren > praktisch nichts mehr damit gemacht. J ist wohl ein aktueller Nachfolger: https://code.jsoftware.com/wiki/Main_Page
Also… es kristallisiert sich nun Folgendes heraus: Dieser Thread braucht unbedingt 200 weitere Personen, welche das Thema bis zur Unkenntlichkeit und darüber hinaus zerpflücken. Gerne auch mit noch mehr Selbstdarstellern, welche allen anderen dringend mitteilen möchten was für tolle Hechte sie sind. Das Potential sich zum Affen zu machen hat dieser Thread auf jeden Fall. Es bleibt gewiss unterhaltsam. Danke dafür!
Norbert schrieb: > Dieser Thread braucht unbedingt 200 weitere Personen, welche das Thema > bis zur Unkenntlichkeit und darüber hinaus zerpflücken. Längst zu spät dafür. Zu viele Köche haben den Brei ungenießbar gemacht. Ein solches Projekt benötigt einen Mentor, kein naturgemäss kakophonisches Forum.
:
Bearbeitet durch User
Sherlock 🕵🏽♂️ schrieb: > Günter K. schrieb: >> Der 6502 wird die CPU werden. > > Ich verstehe nicht, was hier abläuft. Das ist auch alles nicht zu verstehen. Traffic-Generator oder so etwas. > Du hast schon einen funktionierenden Z80 Lerncomputer vorliegen. Eine > alte Möhre, aber geeignet und bestens dokumentiert. Der ist auch genial: Die Christiani-Lehrbriefe sind nicht so toll (1980!), aber wenn man sich z.b. die Orginal-Doku (Multitech hatte sogar die Handbuecher auf Deutsch uebersetzt und zu der Mappe dazugelegt [Gucke hier: https://electrickery.hosting.philpem.me.uk/comp/mpf1/doc/MPF-I_Handbuch.pdf]) kommt man schon ziemlich weit (das war ca. 1980 - 1983) > Ich könnte > verstehen, wenn du etwas moderneres anschauen willst, aber warum zur > Hölle nun ausgerechnet den 6502? Der ist doch ebenso ein ausgestorbenes > Fossil der 80er Jahre, dazu noch ein weniger verbreitetes. Er hat einen Junior: Wenn das Ding laeuft, ist das mehr als genug. Im Eprom ist sogar ein kleiner Editor/Assembler dabei, gut dokumentiert (die Buecher [auf Deutsch] habe ich dem TO gezeigt. I/O ist mit einer 6532 (I/O + 128 Byte RAM), 1 ganzes Kilobyte RAM, 1 KB EPROM (im original mit einem 2708 [-5V/+5V/+12V mit Power-Up-Sequencing]). Jetzt traeumt er von der Erweiterungskarte, fuer das zweite Kilobyte, die 6522, TTY-Interface (mit 2400 Baud [in Worten: zweitausendvierhundert]) und Kassetteninterface (mit PLL-Chip). Man hat viel gelernt. > Um zu Programmieren muss man vor allem eins können: Strukturiert > schrittweise auf das Ziel hin arbeiten. Davon sehe ich hier wenig. Deswegen halte ich mich auch zurueck: Morgen (Mittwoch) kommt eine neue Sau durchs Dorf (ich bleibe dabei: Ohne PDP11 ist das Haus nicht komplett, https://www.tindie.com/products/obso/pdp-11-replica-kit-the-pidp-11/). Oder eine kleine uVAX (https://en.wikipedia.org/wiki/MicroVAX, perfekt fuer den Herbst, wenn Du die Heizung noch nicht einschalten willst). Du hast keinen Terminak: Kein Problem (dank 3D-Druck und Raspberry Pi): https://github.com/jpasqua/FauxVT?tab=readme-ov-file
Thomas W. schrieb: >> Hölle nun ausgerechnet den 6502? Der ist doch ebenso ein ausgestorbenes >> Fossil der 80er Jahre, dazu noch ein weniger verbreitetes. > > Er hat einen Junior: Wenn das Ding laeuft, ist das mehr als genug. Im Er hat einen an der Waffel! Da sind nicht nur charakterliche Defizite sonden schon eine wie auch immer geartete Form der Demenz. So eine Art CPU-Tourette. Ne, nicht lustig, einfach nur traurig.
Arduino F. (Firma: Gast) (arduinof) 22.10.2024 16:01 >>>So absolut ist das falsch >>>https://www.greenarraychips.com/home/documents/greg/PB003-110412-F18A.pdf mchris: >>Nö, es ist absolut auch da richtig. Arduino F. schrieb: > 1. Forth ist eine Hochsprache > 2. Es gibt keinen Assembler, und keine Assembler Sprache dafür.
1 | : arduinof 10 0 do ." Voll" 112 dup 101 100 4 0 do emit loop CR loop ; |
Thomas W. schrieb: > Er hat einen Junior: Wenn das Ding laeuft, ist das mehr als genug Ok, meinetwegen. Aber dann soll er um gottes Willen jetzt auch dabei bleiben.
Sherlock 🕵🏽♂️ schrieb: > Günter K. schrieb: >> Der 6502 wird die CPU werden. > > Ich verstehe nicht, was hier abläuft. > > Du hast schon einen funktionierenden Z80 Lerncomputer vorliegen. Eine > alte Möhre, aber geeignet und bestens dokumentiert. Ich könnte > verstehen, wenn du etwas moderneres anschauen willst, aber warum zur > Hölle nun ausgerechnet den 6502? Der ist doch ebenso ein ausgestorbenes > Fossil der 80er Jahre, dazu noch ein weniger verbreitetes. Ja, der Z80 ist schwerer zu verstehen mit seinen vielen Tabellen im Zaks. Der 6502 ist leichter zu verstehen. Und damit kann man auch viel machen. Zugegeben beim Z80 wird man durch die Vielen Register fleksibler sein, und erhat nur 6 Flags im Statusregister, das ist auch ein Vorteil. Es sollte im Ganzen einfacher sein. LG. Enk
Moin, Logo: Wenn der Bauer nicht schwimmen kann, liegts an der Badehose - daher: Wenn der Enk nicht programmieren kann, liegts am Prozessor. scnr, WK
Dergute W. schrieb: > Moin, > > Logo: > Wenn der Bauer nicht schwimmen kann, liegts an der Badehose - daher: > Wenn der Enk nicht programmieren kann, liegts am Prozessor. > > scnr, > WK Ja, das ist so. Ich sollte wenigstens mit dem einfacheren Prozessor anfangen. Dass ich nicht programmieren kan, das stimmt ja. LG. Enk
Also Leute, vielen Dank für Eure Hilfe! Ich weiß andere Leute sind auch noch da. Richtig ist auch der Ratschlag, auf einer Linie zu bleiben. Und dann hab ich noch das "Haustier", gemeint ist der PET Computer von Comodore, :-)) (Ein bisschen Englich kann ich doch, doch dann kam der Tinnitus) und da habe ich noch den C64. - Ob die noch laufen? Die Elkos müssen dazu noch ausgetauscht werden. Die Schwierigkeit hierbei wäre die weitere Peripherie, doch irgendwie wirds schon werden. Zur Vereinfachung für Kinder hatte Wolfgang Back den 1-Bit Computer entworfen. Nun der Nobel-Preisträger Richard Freemann hat mit dessen Prozessor seine Konnektionsmaschine gebaut. Ein Bit ist selten alleine. Also Dankeschön an alle Die Fragen sind als 1. beantwortet Mein 1. Programm wird eine Eieruhr sein. Also, ich melde mich erst wieder wenn die Eieruhr läuft. LG Enk PS.: Ob dieser Thread geschlossen wird überlasse ich den Moderatoren, sumit auch vielen Dank an die Moderatoren. Ich bitte Euch auch um Entschuldigung für meine vielleicht oft unglückliche Ausdruchsweise. Wenn geschlossen wird, ist das ok. Ich melde mich wieder, wenn was neues ansteht.
Hallo Leute, ich war unabsichtlich unhöflich weil ich mich im Internet nicht so gut auskenne. Wenn Ihr noch was zu sagen habt, ist das ok. Ich wollte einfach nur nicht - so, abbrechen. Nochmals vielen Dank für Eure Hilfe. Euch alles Gute und viel Erfolg bei Euren Projekten. LG. Günter K.
:
Bearbeitet durch User
(prx) A. K. schrieb: > Zu viele Köche haben den Brei ungenießbar gemacht. So ungenießbar ist das hier doch gar nicht. In diesem Thread hier stehen viele gute Hinweise drin. Also für Interessierte auf jeden Fall ein Lesezeichen wert, trotz der wirren Worte zwischendrin. Einen Lob-Thread für Hahnenkämpfe zu missbrauchen, ist da viel schlimmer. Naja, Schmeicheleien..da kann man schon verstehen, warum manche hier empfindlich reagieren. Wenn man mit Entscheidungsproblemen zu kämpfen hat, kann man sich auch in der Artikelsammlung hier umsehen, da ist oft was dabei, was auf einen schon gut ansprechend wirken kann.
>Also Dankeschön an alle >Die Fragen sind als 1. beantwortet >Mein 1. Programm wird eine Eieruhr sein. Hier hat einer eine Eieruhr mit der TPS gemacht: https://www.elektronik-labor.de/Lernpakete/TPS/TPS17.html#b13 So programmiert man eine TPS: https://www.youtube.com/watch?v=Jo7aX1WqtD8 Die virtuelle TPS kann man auf dem Arduino laufen lassen: https://github.com/willie68/Arduino_TPS
Günter K. schrieb: > Wenn Ihr noch was zu sagen habt, ist das ok. > Ich wollte einfach nur nicht - so, abbrechen. > Nochmals vielen Dank für Eure Hilfe. > Euch alles Gute und viel Erfolg > bei Euren Projekten. > > LG. Günter K. Hallo Günter, 6502 ist eine gute Wahl. Viel Erfolg beim Lernen!
Christoph M. schrieb: > Hier hat einer eine Eieruhr mit der TPS gemacht: > https://www.elektronik-labor.de/Lernpakete/TPS/TPS17.html#b13 Ich denke mal auch, die TPS ist, für einen blutigen Laien wie hier, eine gute Idee zum Einsteig in die Programmierung.
:
Bearbeitet durch User
>> Du hast schon einen funktionierenden Z80 Lerncomputer >> vorliegen. [...] > > Er hat einen Junior: [...] Habe gerade nochmal nachgelesen: Offenbar hat er beides : Einen MPF-1 (mit Z80) und einen Junior-Computer (mit 6502). Zu meinem Bedauern hat er sich entschieden, sich intensiver mit dem 6502 zu befassen... **schnief**
Günter K. schrieb: > Ja, der Z80 ist schwerer zu verstehen mit seinen vielen > Tabellen im Zaks. Das liegt dann aber an der Beschreibung im Zaks (den ich nicht kenne) -- und nicht am Aufbau des Z80. Für den Anfang kommt man mit (einer Auswahl aus) den Befehlen der Grundgruppe aus. Darüberhinaus ist die eine Hälfte der Grundgruppe ganz regelmäßig aufgebaut, was den Lernaufwand stark reduziert. Sei's drum. Du hast Dich entschieden; das ist ein guter Anfang. Ich wünsche viel Erfolg und viel Spaß.
Beitrag #7760632 wurde vom Autor gelöscht.
Egal was, aber einfach mal anfangen wär schon was...
Wolfgang R. schrieb: > Egal was, aber einfach mal anfangen wär schon was... Wird nicht passieren. Es gibt Leute die machen und Leute die labern. Den Unterschied merkt man sofort.
Hippelhaxe schrieb: > Einen MPF-1 (mit Z80) und einen Junior-Computer (mit 6502). Und einen Commodore PET und einen Commodore 64 Offenbar betreibt er ein Museum.
Falk B. schrieb: > Hippelhaxe schrieb: >> Ich vermisse meinen LC80. >> Mit dem hätte ich das Problem schon lange gelöst... Das wird das letzte Stück sein was ich abgeben werde. Soll in dich in die Liste eintragen. ;-))) MfG alterknacker
Al. K. schrieb: > Falk B. schrieb: >> Hippelhaxe schrieb: >>> Ich vermisse meinen LC80. >>> Mit dem hätte ich das Problem schon lange gelöst... > > Das wird das letzte Stück sein was ich abgeben werde. Naja, einen halbwegs unverbastelten LC80 würde ich sofort nehmen... > Soll in dich in die Liste eintragen. > ;-))) Hmm... ich bräuchte das Ding in der Gegenwart -- und nicht in 10 Jahren als Grabbeigabe... :)
Hippelhaxe schrieb: > Naja, einen halbwegs unverbastelten LC80 würde ich sofort > nehmen... So was wird man beim Knacker nicht finden. Das Ding ist wahrscheinlich an allen Ecken vom Lötkolben angeschmolzen und einmal durch den Staubsaugerbeutel gezogen.
Cyblord -. schrieb: > So was wird man beim Knacker nicht finden. Das Ding ist wahrscheinlich > an allen Ecken vom Lötkolben angeschmolzen und einmal durch den > Staubsaugerbeutel gezogen. Na ja, mein lieber du liegst sehr oft falsch mit deinen Behauptungen, aber das ist ja auch bekannt. Beitrag "Bastler_LC80 war Steuerungszentrale einer Kleinmodellbahn." Hier kann man sehen was aus einen Verbastelten LC80 wieder werden kann. Mein letzter sieht natürlich besser aus, und er Funktioniert immer noch. ;-))) MfG alterknacker
Al. K. schrieb: > Hier kann man sehen was aus einen Verbastelten LC80 wieder werden kann. Ich habe ganz vergessen, wie viel Wärme die ICs damals noch abgegeben hatten. Kann man sich heute (für so wenig Funktionale Leistung) kaum noch vorstellen.
Al. K. schrieb: > Hippelhaxe schrieb: >> Ich vermisse meinen LC80. >> Mit dem hätte ich das Problem schon lange gelöst... > > Das wird das letzte Stück sein was ich abgeben werde. > > Soll in dich in die Liste eintragen. Für die DDR-Computer gibt es einen wunderbaren Emulator: http://www.jens-mueller.org/jkcemu/index.html Wozu sollte man sich da noch verstaubte Hardware hinstellen, die zu altersbedingten Ausfällen neigt? Gerade zum Lernen hat ein Emulator nur Vorteile. Man kann der CPU genau auf die Finger schauen, was sie gerade macht. Registeranzeige, Takt runterdrehen bis auf 0, Einzelschrittbetrieb. Man kann den Code disassemblieren oder neuen hinzufügen während er läuft. Etc. pp. Natürlich gibts auch für 6502 basierte Hardware phantastische Emulatoren. Z.B. https://vice-emu.sourceforge.io/ PS: ja ich habe auch noch einen Z9001 im Schrank stehen und einen C64 nebst 1541. Und auf dem Dachboden lungert noch ein Z1013 und sogar ein EC1834 herum. Das ist aber nur (N)ostalgie. Ob der C64 mit einen FBAS→HDMI Converter läuft?
Wenn man nicht davon von der Vorstellung abgeschreckt ist, bei einem Computerspiel etwas lernen zu können, wäre das Spiel "Turing-Complete" einen Blick wert. Gibt es für kleines Geld bei Steam. Fängt damit an, dass du einen Eingang mkt dem Ausgang verbindest, der natürlich alles so weitergivt, wie es reinkommt. 2te Lektion ist dann ein Not-Gatter dazwischen. Danach werden dann die anderen Gatter vorgestellt. Dann Halbaddierer usw bis hin zur ALU mit eigenen Opcodes. Fand ich sehr schön um die allgemeine Funktionsweise von Computern zu verstehen.
Axel S. schrieb: > Gerade zum Lernen hat ein Emulator nur Vorteile. Man kann der CPU genau > auf die Finger schauen, was sie gerade macht. Registeranzeige, Takt > runterdrehen bis auf 0, Einzelschrittbetrieb. Man kann den Code > disassemblieren oder neuen hinzufügen während er läuft. Etc. pp. > > Natürlich gibts auch für 6502 basierte Hardware phantastische > Emulatoren. Z.B. https://vice-emu.sourceforge.io/ > > PS: ja ich habe auch noch einen Z9001 im Schrank stehen und einen C64 > nebst 1541. Und auf dem Dachboden lungert noch ein Z1013 und sogar ein > EC1834 herum. Das ist aber nur (N)ostalgie. Ob der C64 mit einen > FBAS→HDMI Converter läuft? Es gibt Interessenten welche das Original besitzen wollen, keinen Emulator. Warum gibst du deine nicht gebrauchte alte funktionierende Hardware nicht ab. Es gibt Sammler dafür die sich freuen wenn du nicht Mondpreise dafür haben willst. MfG alterknacker
Hippelhaxe schrieb: > Naja, einen halbwegs unverbastelten LC80 würde ich sofort > nehmen... > >> Soll in dich in die Liste eintragen. >> ;-))) > > Hmm... ich bräuchte das Ding in der Gegenwart -- und nicht > in 10 Jahren als Grabbeigabe... :) Das was dein heißgeliebter LC80 mit Müh und Not macht, erledigt ein PIC/AVR/MSP430/Whatever mit DEUTLICH weniger Aufwand an Hardware, Stromverbrauch, Programmieraufwand etc. Die kann man alle für nen Appel & Ei kaufen, tonnenweise!
Falk B. schrieb: > Das was dein heißgeliebter LC80 mit Müh und Not macht, erledigt ein > PIC/AVR/MSP430/Whatever mit DEUTLICH weniger Aufwand an Hardware, > Stromverbrauch, Programmieraufwand etc. Die kann man alle für nen Appel > & Ei kaufen, tonnenweise! Es ist erstaunlich das du dein Wissen hier teilst, das wusste bis jetzt niemand. ;-)))) MfG alterknacker
Al. K. schrieb: > Es gibt Interessenten welche das Original besitzen wollen, keinen > Emulator. Na klar. Aber zum Lernen hat das Original nur Nachteile. Das fängt schon mit dem Massenspeicher an. Hast du noch einen funktionsfähigen Kassettenrecorder zu deinem LC80? Und läuft auf deinem LC80 ein Debugger, Assembler, Reassembler nebenher? > Warum gibst du deine nicht gebrauchte alte funktionierende Hardware > nicht ab. Hab ich doch geschrieben. Nostalgie. Das meiste war auch seit >10 Jahren nicht mehr eingeschaltet. Wer weiß ob das noch funktioniert? Oder es krankt an nicht (mehr) verfügbaren Peripheriegeräten. Ich schalte sie aber absichtlich nicht an. Denn wenn sie dann nicht mehr funktionieren, sind sie definitiv für die Tonne...
Sherlock 🕵🏽♂️ schrieb: > Al. K. schrieb: >> Hier kann man sehen was aus einen Verbastelten LC80 wieder werden kann. > > Ich habe ganz vergessen, wie viel Wärme die ICs damals noch abgegeben > hatten. Kann man sich heute (für so wenig Funktionale Leistung) kaum > noch vorstellen. Kleines Anekdoetchen: Das Living Computer Museum (gegruendet von Paul Allen) hatte mehrere Rechner laufen. Die erste Maschine (IBM4361) wurde sehr schnell virtualisiert, sie hatten mehrere PDP10 und eine VAX 780-5 am laufen. Nach dem Tod von Allen war die Zeit des Museums zu Ende. Die PDP10-KL liessen sich gut verkaufen (fuer 189000 US$ bei Cristie's versteigert [https://www.uni-kiel.de/de/detailansicht/news/144-versteigerung-uni-rechner-ergebnis]), die VAX hat der https://sdf.org/ uebernommen. Es kam ein Bettelbrief: Wir brauchen jetzt Drei-Phasen-Strom, und die monatlichen Kosten fuer den Betrieb dieser VAX sind ca. 500US$ (die kWh wurde fuer 10USc angeboten). Das konnte der Verein nicht schultern, hat jetzt nur noch eine Vaxstation 4000-96 (ist auch schneller, leiser). In den 30 Jahren ist schon etwas Fortschritt passiert.
Axel S. schrieb: > Gerade zum Lernen hat ein Emulator nur Vorteile. Man kann der CPU genau > auf die Finger schauen, was sie gerade macht. Mir persönlich fehlt bei Emulatoren die Möglichkeit, den Logiktester oder das Multimeter anzuschließen. Oder eine LED. Die Emulation ist mir im wahrsten Sinne des Wortes unbegreifbar. Damals als ich die Grundlagen lernte, brauchte ich das, um es zu verstehen.
Axel S. schrieb: > Wozu sollte man sich da noch verstaubte Hardware > hinstellen, die zu altersbedingten Ausfällen neigt? Vorsicht, ich bin nicht der TO. Ich möchte ein paar MIDI-Geschichten probieren, die der LC80 ganz sicher stemmen könnte. (Das weiss ich deshalb, weil ich früher einen besessen und ähnliches Zeug schon gemacht habe...) Wenn ich nicht einen LogiLink-MIDI-to-USB-Konverter hier liegen hätte, der an meiner Linuxkiste nur stark stotternde Aufzeichnung produziert, hätte ich gar nicht mit diesem Thema angefangen... > Gerade zum Lernen hat ein Emulator nur Vorteile. "... NUR Vorteile..." Das sehe ich nicht so. Mit einem Emulator kann man erstmal nur "so tun, als ob". Eine Weile mag das erstmal genügen, ja. Ein Einplatinenrechner ist tatsächlich echtzeitfähig, und man kann damit echte, harte Hardware steuern -- zum Beispiel Endlagenschalter abfragen, Motoren linksrum oder rechtsrum drehen lassen, Schrittmotoren ansteuern... Das hätte bei mir schon eine gesteigerte Lernmotivation zur Folge. > Man kann der CPU genau auf die Finger schauen, was sie > gerade macht. Registeranzeige, Takt runterdrehen bis > auf 0, Einzelschrittbetrieb. Man kann den Code > disassemblieren oder neuen hinzufügen während er läuft. > Etc. pp. Das meiste davon geht auch auf echter Hardware. Für den Z9001 hatte ich mir damals einen Testmonitor programmiert, der bot eine komplette Registeranzeige und einen Einzel- schrittbetrieb. Mein Disassembler ist allerdings nie fertig geworden... Auf dem LC80 sind solche Späße natürlich mangels komfortabler Anzeige nicht machbar... aber darum geht es mir ja auch nicht.
Axel S. schrieb: > Al. K. schrieb: > >> Es gibt Interessenten welche das Original besitzen wollen, >> keinen Emulator. > > Na klar. Aber zum Lernen hat das Original nur Nachteile. Bitte nicht alles in einen Topf werfen: 1. Wer unbedingt ein Original haben will, wird das wohl in den seltensten Fällen zum Lernen verwenden wollen. 2. Wer die Grundlagen erlernen will, kann sehr wohl mit einem Emulator gut bedient sein -- zumindest eine Zeit lang. Es mag der Punkt kommen, wo Interaktion zu echter Hardware gewünscht wird; da ist m.E. ein Einplatinen- rechner im Vorteil. Der kann (und sollte) aus einigermaßen aktuellen Komponenten aufgebaut sein... > Das fängt schon mit dem Massenspeicher an. Hast du noch > einen funktionsfähigen Kassettenrecorder zu deinem LC80? Nein -- aber einen PC mit Soundkarte. Wenns ganz schlimm kommt, auch noch einen TASCAM DR-07X. > Und läuft auf deinem LC80 ein Debugger, Assembler, > Reassembler nebenher? DD 21 00 21 CD EA 08 76
Sherlock 🕵🏽♂️ schrieb: > Axel S. schrieb: >> Gerade zum Lernen hat ein Emulator nur Vorteile. Man kann der CPU genau >> auf die Finger schauen, was sie gerade macht. > > Mir persönlich fehlt bei Emulatoren die Möglichkeit, den Logiktester > oder das Multimeter anzuschließen. Oder eine LED. Punkt für dich. Beim Emulator geht das wenn, dann nur virtuell. Hippelhaxe schrieb: >> Man kann der CPU genau auf die Finger schauen, was sie >> gerade macht. Registeranzeige, Takt runterdrehen bis >> auf 0, Einzelschrittbetrieb. Man kann den Code >> disassemblieren oder neuen hinzufügen während er läuft. >> Etc. pp. > > Das meiste davon geht auch auf echter Hardware. Für den > Z9001 hatte ich mir damals einen Testmonitor programmiert, > der bot eine komplette Registeranzeige und einen Einzel- > schrittbetrieb. Es geht nur mit Verrenkungen. Gerade beim Z9001 kenne ich das. Ich hatte IDAS (interpretierender Dialog-Assembler) - im Prinzip ein Monitor auf Steroiden - als ROM-Modul. Der ging aber nicht mit dem ROM-BASIC zusammen (Adresskonflikt). Debuggen von gemischten BASIC/ASM Programmen? Nope. Debuggen von Programmen, die im Addressraum des ROM-Moduls laufen? Nope. usw. usf. Wieviel einfacher ist das im Emulator. Da läuft der Assembler, Monitor, $YOU_NAME_IT nicht im Adressraum der zu untersuchenden CPU. Da kann der auf alles zugreifen. Klar ist das nicht das gleiche wie auf der alten Hardware zu spielen. Es ist besser! Schon die "Tastatur" des Z9001 ist doch eine Zumutung. Klar wir hatten damals nichts besseres. Aber das ist kein Grund, es heute noch unbedingt benutzen zu wollen.
Axel S. schrieb: > Hippelhaxe schrieb: >>> Man kann der CPU genau auf die Finger schauen, was sie >>> gerade macht. Registeranzeige, Takt runterdrehen bis >>> auf 0, Einzelschrittbetrieb. Man kann den Code >>> disassemblieren oder neuen hinzufügen während er läuft. >>> Etc. pp. >> >> Das meiste davon geht auch auf echter Hardware. Für den >> Z9001 hatte ich mir damals einen Testmonitor programmiert, >> der bot eine komplette Registeranzeige und einen Einzel- >> schrittbetrieb. > > Es geht nur mit Verrenkungen. Die einzige "Verrenkung" bestand bei mir darin, dass ich den Testmonitor erstmal programmieren musste... > Gerade beim Z9001 kenne ich das. Ich hatte IDAS > (interpretierender Dialog-Assembler) - im Prinzip ein Monitor > auf Steroiden - als ROM-Modul. Ich musste den IDAS immer erst per Tonband in den RAM laden... > Der ging aber nicht mit dem ROM-BASIC zusammen > (Adresskonflikt). ROM-BASIC gab' bei mir nicht. Dafür später ein von meinem Vater selbstgefädeltes PIO-Modul... > Debuggen von gemischten BASIC/ASM Programmen? Nope. War nicht relevant für mich. Es sollte ein reines Assemblerprogramm entwickelt werden, dass später auf einem eingebetteten K1520 laufen sollte, also im Zielsystem keine Tastatur, keine Anzeige, nix. Nur Dateninput per PIO und Datenausgabe auf einen Drucker, und natürlich bissl Verarbeitung zwischendurch. > Debuggen von Programmen, die im Addressraum des ROM-Moduls > laufen? Nope. usw. usf. Traf mangels ROM-Modul bei mir nicht zu. > Wieviel einfacher ist das im Emulator. Da läuft der Assembler, > Monitor, $YOU_NAME_IT nicht im Adressraum der zu untersuchenden > CPU. Es hängt vom Einzelfall ab, ob das relevant ist. Für uns war damals entscheidend, dass wir die Dateneingabe per PIO hardware- und interruptmäßig GENAU SO nachbilden konnten, wie es dann auf der Zielhardware sein würde. Die Testdaten für den Z9001 (den Entwicklungsrechner) kamen über das selbst- geklöppelte PIO-Interface von einem -- TUSCH -- LC80... > Klar ist das nicht das gleiche wie auf der alten > Hardware zu spielen. Ich fürchte, Du missverstehst mich. Es geht mir nicht darum, dass man unbedingt auf der ALTEN Hardware herumspielen muss, denn, wie Du selbst sagst... > Schon die "Tastatur" des Z9001 ist doch eine Zumutung. ...in der Tat, das ist sie wirklich. Es geht mir nur darum, dass es manchmal nützlich sein kann, auf REALER Hardware herumzuspielen -- und nicht alles nur zu simu- oder zu emulieren.
Hippelhaxe schrieb: > Ich möchte ein paar > MIDI-Geschichten probieren, die der LC80 ganz sicher > stemmen könnte. Stelle ich mir spannend vor mit einem freischwingenden(!) CPU-Takt von 900 kHz.
Hi >Stelle ich mir spannend vor mit einem freischwingenden(!) CPU-Takt von >900 kHz. Wenn der Takt stabil genug für das Kassetteninterface ist, reicht es auch für MIDI. MfG Spess
So sah mein LC80 Nachbau aus, mit 1510/1520 Busverbindung. MfG alterknacker
:
Bearbeitet durch User
Spess53 .. schrieb: > Hi > >>Stelle ich mir spannend vor mit einem freischwingenden(!) CPU-Takt von >>900 kHz. > > Wenn der Takt stabil genug für das Kassetteninterface ist, reicht es > auch für MIDI. > > MfG Spess Hallo Leute, ... ... wie ich sehe, wurde da ganz gut was zusammengebaut. Ist das ein MIDI um Musik zu machen? Oder ist MIDI hier was anderes? Aber ich habe noch eine Frage: Jemand hatte freundlicherweise, das Buch vom Junior geschickt. Leider hatte ich mir das nicht kopiert; ist es möglich, das ich mir das auf den Rechner so, auf dem Rechner Speichere? LG. Enk
Wolfgang R. schrieb: > Hallo Günter, > > 6502 ist eine gute Wahl. Viel Erfolg beim Lernen! Hallo Wolfgang R. Vielen Dank für deine guten Wünsche, und Dir zu Deier Arbeit viel Erfolg. Hier im Thread beim flüchtigen Durchlesen, las ich schon interessantes. Leider habe ich diesen LINK nicht mehr gefunden. Ich las sogar, das er einen Assembler hätte. Kann ich mir im 7-Segmentcode aber kaum vorstellen. Jetzt würde ich gerne dieses Link wieder anklicken, oder kam es sogar von Dir? Damals wurde dieser Computer im Buchhandel angeboten. Bekam aber auch ein Angebot im Elektronik-Laden. Also kaufte ich das Gerät im Elektronik-Laden. Ein Buch war auch dabei. - Aber nun habe ich es nicht mehr. Auch im Internet fand ich nur noch die Vorder-Seite des Buches. Hier im Thread, hatte ich aber darin gelesen. LG. Enk PS.: Ich hatte nochmal durchgescrollt und leider nicht mehr gefunden.
Thomas Z. schrieb: > Lass dir gesagt sein ASM mit 8086 ist zwar machbar für dich aber in den > nächsten 10 Jahren unerreichbar. So schwer isses nicht. cli hlt
Axel S. schrieb: > Schon die "Tastatur" des Z9001 ist > doch eine Zumutung. Hey, das ist die größte Resettaste die ich je gesehen hatte. Pullover ausziehen und das Metall anfassen. reset
Wolfgang R. schrieb: > Günter K. schrieb: >> Hallo Wolfgang R. > > Hallo Günter, > > ich habe dir eine PN gesendet... > > LG, > Wolfgang Hallo Wolfgang, trotz guter Wille; leider war ich mit der PN nicht klar gekommen, - . - ? Ich antwortete ungewollt, an mir selber. Ich sah sehr viele Bilder. Wie komme ich an das Buch? LG. Enk Günter K.
Hi Günter, Ich hab dir noch eine PN gesendet mit meiner Mailadresse. Du musst mir eine Mail senden. Dann kann ich direkt antworten.
Gibt ihm doch den Link (Erster Band Junior deutsch): http://retro.hansotten.nl/uploads/junior/books/de/ElektorJuniorComputerBuchDE1.pdf Und den zweiten Band, deutsch: http://retro.hansotten.nl/uploads/junior/books/de/JuniorComputer_book_02.pdf
Spess53 .. schrieb: > Wenn der Takt stabil genug für das Kassetteninterface ist, reicht es > auch für MIDI. Die 31250 Baud von MIDI sind eine ganz andere Hausnummer als die 111 Baud des Kassetteninterfaces.
Thomas W. schrieb: > Gibt ihm doch den Link (Erster Band Junior deutsch): > > http://retro.hansotten.nl/uploads/junior/books/de/ElektorJuniorComputerBuchDE1.pdf > > Und den zweiten Band, deutsch: > > http://retro.hansotten.nl/uploads/junior/books/de/JuniorComputer_book_02.pdf Hallo Thomas W. ein vielfaches DANKESCHÖN! Es hat mich sehr gefreut. Ich habe auch Deine vielen Sachen bewundert, das ist wirklich erstaunlich. Diese guck ich mir noch einmal an, vielleicht auch nur, um mein Wissen ein klein wenig zu erweitern. LG. Enk alias Günter K.
Hallo leute, damit ich es nicht vergesse im Stress der Vorweihnacht u. Weihnachszeit; ich wünsche allen frohe Weihnachten und ein frohes neues Jahr mit Gesundheit und Erfolg bei den Konstruktionen im Jahre 2025! Dies sendet der enk Günter K.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.