Wobei es alleine von MOV ca 1/2 Dutzend Varianten gibt,
6502 hat exakt null MOV-Instruktionen.
Falsch abgebogen?
|
Anzeige
|
Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?
6502 hat exakt null MOV-Instruktionen. Falsch abgebogen? Möglich Manchmal gibt es wohl Zwänge. Bei Zilogs berüchtigten Load-Befehlen, die eigentlich Store-Befehle sind, habe ich das Namensrecht im Verdacht.
Kommt auf das Mindset der das verdauenden Person an. Die sechs "transfer"-Befehle schreiben den Inhalt eines Registers in ein anderes (Y nach A oder umgekehrt, X nach A oder umgekehrt, X nach S oder umgekehrt). Hat irgendjemand behauptet, der 6502 hätte einen orthogoalen oder auch nur irgendwie logisch aufgebauten Befehlssatz? Wer einen /schöneren/ Befehlssatz sehen will, soll sich den des 6809 ansehen.
Was ist an dem Befehlssatz unlogisch? Orthogonal ist nett, aber eher B-Note. Die Anzahl Millionen (Milliarden?) 6502 CPUs (und deren Derivate), die in den letzten 50 Jahren gebaut und benutzt worden sind, belegen wohl ganz gut, daß das Ding überaus nützlich war, auch wenn es keine akademische Schönheit ist. Aber die ist sowieso zweifelhaft! Done is better than perfect!
Ich wüsste da auch einen ...
Gast
#7881396
Natuerlich, VAX Assembly language: https://www.ece.lsu.edu/ee4720/doc/vax.pdf Was sonst? Duck and Cover.... Hallo, Josef G. schrieb im Beitrag #7881387:
Stimmt, die PDP-11 wurde noch nicht genannt. rhf P.S. Oder dachtest du an was anderes?...
Ich sehe durchaus Parallelen in Günters und Josefs Gedankenwelt - wer weiß, vielleicht findet sich ja mit Günter tatsächlich ein erster Anwender für bomes 8-Bit-Rechner?
Ich habe das überhaupt nicht (ab)wertend gemeint. Der Befehlssatz ist halt ... eine deutlich abgespeckte Variante des Originals, wie auch der Prozessor eine abgespeckte Variante des Originals* ist. Und ja, offensichtlich war das ausreichend, wie der deutlich größere Erfolg gegenüber dem Original zeigte - die abgespeckte Variante war halt auch deutlich kostengünstiger. Die Mehrarbeit durch aufwendigere Programmierung wurde lange Zeit durch die Kostenersparnis bei der Hardware aufgewogen. Aus Sicht des Programmierers aber bietet das Original mehr Möglichkeiten, zum Ziel zu kommen ... allein die Tatsache, daß sowohl der Stackpointer als auch das Indexregister 16 bit breit waren. Die Kür in dieser Richtung war eben der 6809, dem allerdings wenig Erfolg beschieden war, weil er technisch das Ende der Fahnenstange erreicht hatte (mal abgesehen von den viel zu spät erst öffentlich dokumentierten Erweiterungen, die Hitachi der CMOS-Version 6309 verpasst hatte), und weil nur wenige Monate später mit dem 68000 etwas völlig anderes aus dem gleichen Hause zur Verfügung stand. Interessanterweise gab es den 6800 vor dem 6502. https://www.youtube.com/watch?v=lP2ZBp9O0mk Der Registersatz des 6800 war
Beim 6502 hat man sich den zweiten Accumulator 'B' gespart und dafür das Indexregister 'Y' eingeführt. Die Index-Register halte ich für enorm wichtig, da man damit schnell durch Tabellen gehen kann. Was mich immer wieder wundert ist, dass der 6502 trotz der sehr viel geringeren Registeranzahl mit der Geschwindigkeit des Z80 mithalten konnte. Der Vorteil dürfte aber der relativ schnelle Zugriff auf die RAM-Speicherzellen in Page 0 gewesen sein, die man dann als einen erweiterten Registersatz betrachten könnte.
Perfektion ist sowieso das tote. Allerdings hatten einige Bethesda-Fans ganz schön ausgeholt, als Starfield rauskam.
Eben.
Richtig, aber die des 6502 waren nur 8 Bit breit, das des 6800 aber 16 Bit, so daß Tabellen auch größer als eine "Page" werden konnten, ohne daß zusätzliche Klimmzüge nötig waren. Der 6809 hatte zwei 16-Bit-Indexregister und einen weiteren, ebenfalls 16 Bit großen Stackpointer, und konnte für manche Operationen die beiden 8-Bit-Akkumulatoren zu einem 16-Bit-Akkumulator kombinieren. Ein Problem wurde dann allerdings das relativ langsame Businterface, das halt jedes einzelne Byte nacheinander schaufeln musste; hätte man das mit einem 16-Bit-Businterface kombiniert, hätte das Ding deutlich flotter werden können. Allerdings war damals die restliche Hardware noch so teuer, daß man diesen Schritt gerne ausließ - zumal die dann doch massiv überarbeitete 68k-Architektur eh' konzeptionell überlegen war (mit jeder Menge 32-Bit-Registern ...).
Gast
#7881532
Das war damals die Vorgabe: Moeglichst billig fuer den Massenmarkt.
Vor allen Dingen sind die Indizes fuer hoehe Programmiersprachen sehr hilfreich, so ein Art Frameindex (so dass Du lokal Variablen nicht auf dem Stack packen musst sondern auf Deinen Frame. Bei Return kannst Du dann alle Lokales einfach entsorgen)
Noe. Die 6502 hatte kein richtiges Microprogramming sondern wirklich ein direktes Steuerwerk. Das war schnell, auch der Speicherzugriff ueber Phi1/phi2 war sehr schnell und direkt. Die Z80 war viel komplexer aufgebaut und brauchte mehrere T-Zyklen um den OpCode zu dekodieren (auch wg. des Mikroprogramming).
Wenn Du den Nachfolger WDC65S02 anguckst: Dort wurde das Konzept der Zeropage auf die Direct-Page weiterentwickelt: Durch Direkt-Page-register (beim Reset 0x00) konntest Du Deine Zero-Page beliebig schieben. Wenn Du ein bisschen Geschichte lesen willst: in Beitrag "a Microprocessor for the Revolution -- 6809" habe ich einen Artikel von der Byte 1979 gezeigt wie der 6809 entwickelt wurde (so per Hand). Gruesse
Lass Dich nicht von dem geringeren Quarztakt irritieren. Der 6502 braucht einen Quarztakt pro CPU-Takt. Beim Z80 sind es vier. D.h. Du musst einen Z80 mit 4 MHz takten, damit er innen drin genauso schnell läuft wie ein 6502 mit 1 MHz. Der Z80 hat leistunsfähigere und komplexe Befehle, aber die brauchen relativ lange. Beim 6502 muss man diese durch Unterprogramme nachbilden, was im Ergebis ähnlich schnell ist. Für den Assemblerprogrammierer ist der Z80 schöner, weil man eleganteren und kürzeren Code schreiben kann. Für den Anfänger ist der 6502 angenehmer, weil der einfacher zu überblicken ist.
Richtig. Die Zero-Page ist quasi eine Registerbank. Soul E. (soul_eye) 25.05.2025 11:01
Das mit dem Takt ist mir bekannt und auch die Ausführung des Z80 als Bitslice-Prozessor mit 4 Bit Alu. Ich kenne den Z80 vom ZX81 mit knapp 4MHz Takt im Gegensatz zu den üblichen 1MHz beim 6502.
Hallo liebe Leute, hallo Arduino F., Das klingt ja interessant, da würde ich mit kleinen Schaltungen anfangen, ohne den JC zu verlassen. Übrigens habe ich die Adressen-Reihe für das einfache Ton-Programm, neu eingegeben und auch die Sprungadressen wieder geändert. (Die R.-Adressen brauche ich ja nicht zu ändern), es klappte wieder nicht. Also tausche ich die RAMs, ich brauche sowieso noch weitere für die Peripherie. Es gelingt mir -scheinbar- nicht, aus der Schleife zu springen, ohne den Ton zu verändern. Vielleicht fällt dann sogar die "01" im Y-Register weg.
Weil ich da nicht Bescheid weiß, schreibe ich ein Lied-Programm ab. - Allerdings erst ab 0x0300. Für den Anfang, trage ich nur zwei gleiche Töne ein. - Also: "Tuut, Pause, Tuut.", Später anderes. Schlau daraus geworden, bin ich auch noch nicht. Ich gespannt was werden wird. Liebe Grüße Günter K. (ENK)
Tut mir leid das sagen zu müssen, aber ich bin nicht gespannt, sondern weiß ganz genau was das werden wird: Nix. Hast du das Tonleiter Programm auch nur einmal angeschaut und versucht zu verstehen wie es funktioniert? Wenn ja, hast du irgendwas davon verstanden? Wenn nein, warum nicht?
Hallo Klaus, Ich war inzwichen tätig, (an der Abschrift) habe mich damit aber total verhäddert. Jetzt lege ich mich noch einemal hin. Bitte schicke mir nochmal die Tonleiter. LG Günter K. (ENK)
Und wieso muss man da was abschreiben? Wir wärs mit lesen und verstehen und ggf. nachfragen?
??
Was versprichst Du dir vom abschreiben? Da lernt man nichts dabei. Du sollst verstehen, was jede einzelne Assembler-Anweisung macht. Teilweise steht es ja schon dahinter, teilweise ist es selbsterklärend, und den Rest musst Du dir erarbeiten (nachschlagen oder nachfragen). Nur so kannn man eine Sprache lernen. Ich mach mal den Anfang für dich, geküzrt so dass nur 2 Noten gepsielt werden, mit zusätzlichen deutschen Kommentaren
Jetzt sind nur noch die letzten 6 Assembleranweisungen nicht oder nur kurz auf englisch kommentiert. Versuch einfach zu verstehen (und aufzuschreiben) , was die machen. Hallo Klaus und Alle, zunächst, muss ich mich für eine Satzaussage entschuldigen und richtigstellen, denn wo ich schrieb:
Da hatte ich mir tatsächlich schon so, in den 'Assembler' verbissen, dass ich "Assembler" statt "Compiler" schrieb. Ja, was hätte ich dann gerne: "Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung". Und ich freue mich, gute Leute zu sehen, die Erfahrung damit haben.
Ich hätte gerne, ein ganzes Programm, als einen Modularen-Aufbau, bzw. ganze/s Programm/e in einem Modularem-Aufbau. Was ich unter:
Bitte ärgere Dich nicht, bitte ärgert Euch nicht. -. Sonst muss ich ganz neu lernen, wie ein Befehl den anderen Befehl beeinflusst. Das ging mir auch noch bei dem Z80 durch den Kopf, weil dort in dem Buch verschieden OP-Codes, für einen Befehl standen; denn dann hätte ich -vielleicht- herausfinden können, wie, welcher Befehl werden würde; aber, das würde viel zu viel werden. Nein: Ein Befehl, der unbeschwert zu greifen ist, macht eine ganz bestimmte Sache, ohne was Anderes, wenn es nicht sein muss, zu beeinflussen. Fertig funktionierende Timer, würden dabei helfen. Es könnten auch verschiedene Timer sein. Ein Timer für die Uhrzeit, und andere Timer für Startsequenzen. Liebe Grüße Günter K. (ENK) Nachtrag, ganz kurz: Hallo liebe Leute, ich brauche den OP-Code, - nur mit dem, - kann ich das verstehen. Liebe Grüße Günter K. (ENK)
Abgesehen davon, dass du wirklich NICHTS verstanden hast, habe ich nach solchen völlig unverständlichen Aussagen nun auch das letzte Quäntchen Hoffnung verloren, dass Du je mehr lernst, als das, was der Assembler-Befehl "NOP" macht: Genau nichts.
Da stehen ca. 20 Stück davon im Programm. Danach ein Semikolon und eine genaue Erklärung, was der Opcode macht. Auf Deutsch. Ich komme mir vor wie wenn ich einem Grundschüler erklären will was 2+2 ist, aber er leider nicht bis 4 zählen kann. Da kannste nix machen.
Wir sollen also dem Grundschüler, der nicht bis 4 zählen kann, nicht nur beibringen, was 2+2 ist, sondern ihm auch erklären, wie man die Wurzel aus 46534 berechnet? Welche der beiden Aufgaben führt denn eher zum Erfolg?
Nee. Was Du "opcode" nennst, heißt /Mnemonic/, und ist eine Klartextrepräsentation von Assemblerinstruktionen. So etwas wie LDA, STA etc. Ein Opcode ist der zum Mnemonic und der konkreten Adressierungsart gehörende /Binärcode/ der Instruktion. Aus lda #$1 wird 0xA9 0x01 Aus lda #200 wird 0xA9 0xC8 Günter ist es wohl zu mühsam, Dein Programm von Hand zu assemblieren, und durch einen Assembler will oder kann er es aus irgendwelchen Gründen nicht schicken ...
Da hast du natürlich Recht. Allerdings braucht NIEMAND die Opcodes, um ein Programm zu verstehen.
Der Prozessor selbst schon :-) Günter will vermutlich das Programm in seinen Computer eingeben, und da das nur über Opcodes geht ... Denk dran: Das hier https://www.mikrocontroller.net/attachment/662153/junior3_04.jpg ist der Computer, mit dem Günter unterwegs ist.
Den kann man bestimmt in Rust programmieren, so wie der aussieht! ;-)
Vermutlich. Er macht ja sowieso nie das, was man ihm vorschlägt. Insofern konsequent...
Ja, ich würde gerne selbst, wie der Prozessor sein. :-) ;-) -! Die Mnemonic brauche ich nur um zu wissen, was der Maschinenbefehl tut. Allerdings sind die angegebenen Zeiten, sehr interessant. Denn dann weiß ich, ob ich während der Halbwelle Zeit habe, ein Byte zu Inkrementieren und aus der Halbwelle auszuscheren, um dann als ... s. 2.. Allerdings sollte das ganze Programm mit einer Pausengruppe beginnen, in dem
Zum Trost, weil ich selber nichts durch Eingabe erreicht habe, schreibe ich ein kleines Programm für die 7-Segment-CODE-Anzeige. Jetzt wünsche ich Euch erst mal eine gute Nacht mit lieben Grüßen Günter K. (ENK) Hallo, Falk B. schrieb im Beitrag #7882391:
:-) rhf
Ja ist klar. Bevor auch nur die Gefahr besteht, dass Du bei einer noch so einfachen Aufgabe irgendeinen Strohhalm entdeckst, der dich weiterbringen könnte, wechselt du lieber das Thema.
Also für Günter ungefähr so einfach wie die Besteigung des Mount Everest für einen Querschnittsgelähmten, ohne Sauerstoff versteht sich.
Hallo liebe Leute, da gibt's keine -solche- LED. Liebe Grüße Günter K. (ENK) Hallo liebe Leute,
Was ich OP-CODE nenne, ist der OPERATIONS-CODE. - Und RICHTIG Harald K.: Du schriebst:
Gut gesagt! Ich bin wirklich nicht so schlau. RICHTIG, - DANKESCHÖN! Das ist ehrlich gemeint. Liebe Grüße Günter K. (ENK)
Das dürfte falsch sein: das ORG muss vor dem Label stehen, sonst ist z.B. PADD=0x$1A80 statt 0x$1A81.
Um mit dem Programmieren zu beginnen, braucht man erst mal eine vernünftige Arbeitsumgebung. Und da jeder einen PC hat, nimmt man eben diesen. Darauf installiert man eine Umgebung mit Editor, um Quelltexte einzugeben und abzuspeichern. Dann einen Assembler für das gewünschte Target. Auch ein Simulator ist zu empfehlen, wo man erst mal alles im Schrittbetrieb ablaufen und nachverfolgen kann. Hier mal wahllos was rausgesucht: https://edsim51.com/ Irgendein uraltes CPU-Spielzeug, was nicht mal Programme permanent abspeichern kann, ist dagegen absolut untauglich zum Lernen. Damit wirst Du nie im Leben Fortschritte erzielen können. Vergiß den Junior-Computer ganz schnell, das ist ne Sackgasse (zumindest für Dich). Es gibt heutzutage Eval-Boards, wo man über USB debuggen kann. D.h. man hat auf dem PC Fenster, in denn man Code, Daten, Stack, Timer, Register usw. schön übersichtlich angezeigt bekommt.
Keine Ahnung wie es genau sein muss, der asm80.com schluckt es jedenfalls so und sortiert es automagisch um....
Solche Dinge wurden ihm schon tausendmal empfohlen. Er geht da nicht mal drauf ein. Kannst du dir sparen.
Was glaubt Ihr Youtube-Kiddies eigentlich, wie wir damals was gelernt haben? Zu der Zeit, als der Junior, der Apple II oder der C64 noch Stand der Technik waren. Aus diesem Wissen ist genau die Klickibunt-Welt entstanden, die Du als selbstverständlich voraussetzt. Klar geht das heute auch einfacher, und statt eines steinalten RISC-Prozessors von 1976 kann man einen Arduino nehmen. Aber der TO möchte das Ganze genau so nacherleben, wie er es eigentlich 1978 hätte tun wollen.
So nennst du Peda?
Es wurden EMULATOREN empfohlen. Keine Arduino. Und er KANN es eben nicht so erleben wie 1978 weil ihm dafür jede geistige Kapazität fehlt. Sad but true.
DANKESCHÖN!! Liebe Grüße Günter K. (ENK) PS.: Ich gebe mich jetzt an die MNEMONICS mit den ADRESSIERUNGSARTEN für den OPERATIONS-CODE (Das dauert noch was.)
Falls es Dir noch nicht aufgefallen ist, der Günter ist kein Kiddie mehr und zeigte bisher keine merkbaren Fortschritte. Daher sollte er jegliche Erleichterungen benutzen, die er kriegen kann.
Würde ich so nicht sagen. Problematisch ist halt, dass einige Sachen parallel gelernt werden müssen, Codierungsarten, Logikfeinheiten oder Speichermanagement z.B. - das heißt man muss halt ein wenig Geduld haben, Befehle verstehen, Programme ausprobieren, Programme verändern, Algos ansehen und ausprobieren usw. und darauf hoffen, dass es bald "klick" macht. Den Logikteil kann man auch ganz gut mit Papier und Bleistift machen. Ist auf jeden Fall für mich angenehmer, und würde ich auch empfehlen. Das war übrigens bei C früher auch so. Man geht erstmal ein paar Programme durch (also abtippen und testen) ohne viel zu verstehen. Das Verständnis kommt nach und nach, aber es gibt auch immer wieder neue Herausforderungen.
Jaja mach mal halblang. Also ein 8080 System ist schweineeinfach. Das Problem damals waren wohl eher die Preise für die ganze Peripherie, Speicher usw. Komplex oder gar schwierig ist da gar nichts. Habe erst letztens ein 8080 System komplett von Null auf gebaut. Mit der damaligen Peripherie aber modernem (1994) Speicher. 64 KB RAM und 64KB ROM, SIO, einfache digitale IO. Simpel. HW ist Simpel, 8080 Assembler ist simpel. Wo ein wenig Gehirnschmalz stecke, war das Frontpanel des Altair, mit dem man direkt den Speicher laden und anzeigen konnte. Natürlich natürlich, manche SW, vor allem Spiele, waren komplex. Das ist sie aber heute auch. Weil man immer an die Grenzen der HW ran muss. Aus wirtschaftlichen Gründen. Also immer auf dem Teppich bleiben und vielleicht mal in eine moderne Vorlesung "Rechnerarchitektur" reinschnuppern. Da gibts dann wirklich komplexe Dinge. Moin, Was den bemuehten Helfern anscheinend ueberhaupt nicht auffaellt: Es scheint ENK nicht darum zu gehen, irgendetwas "schnell" oder "richtig" lernen zu wollen oder gar muessen. Sondern er macht halt seinen Stiefel, wie er's fuer richtig haelt. Solange dann nicht mit dieser Software irgendwelche Atomkraftwerke, Herzschrittmacher oder autonome Autos laufen sollen, ist das doch voellig ok. Offensichtlich hat er an seinem Herumgewurstele, so wie er es macht, ja Spass. Sonst wuerde er es ja nicht so machen. Da muesst ihr einfach mal damit klarkommen. scnr, WK In der heutigen Zeit lernt man mit Hilfe von Youtube-Videos. Aber ein wenig gibt es: https://www.youtube.com/watch?v=wI82V9meKnY
Wo genau siehst Du den Widerspruch zu meiner Aussage? Aus dem 8080 ist der 8086 entstanden, der zu den heutigen Core i7 und Ryzen führte. Aus den Monitorprogrammen von damals sind CP/M und MS-DOS entstanden, aus denen die modernen Betriebssystemen Linux und Windows entstanden sind.
Natürlich war das simpel. Heute ist es komplexer. Das Komplexe baut auf das Simple auf. Das Simple bildet die Grundlagen des Komplexen. Von der heutigen IT ist nichts vom Himmel gefallen. Das hat sich alles evolutionär aus der Steinzeittechnik der '70er Jahre entwickelt. Da, wo Günter mal reinschnuppern möchte.
Du suggerierst (mit deinem youtube Kiddies) dass dies alles damals so schwer und komplex war. Und das war es nicht.
Triviale Aussage, Captain Obvious.
Kann er ja, nur sollte er moderne Tools dafür verwenden. In alte Technik mit alter Technik reingucken kann nur wer minimalste Grundlagen der digitalen Datenverarbeitung verstanden hat. Somit er nicht. Hier gibt es noch den zugehörigen Youtube-6502-Assembler-Kurs:
Nein, ich suggeriere nicht dass alles schwer war, sondern ich widerspreche der Aussage
Das Zeug war tauglich zum Lernen, wir haben damit gelernt, und die Ergebnisse, die Fortschritte der IT-Branche in den letzten 40 Jahren, könnt Ihr heute bewundern. Gerade weil das alte Zeug relativ primitiv und übersichtlich ist, eignet es sich zum Lernen.
Manchmal frage ich mich wie du Alter und Skillevel der Leute die du so ansprichst einschätzst.
Leicht und schwer oder komplex und simpel relativieren sich immer am eigenen Horizont. Wer in Hex "denken" und rechnen kann, wer über relative Adressierung nicht mehr nachdenken muss und wer die meisten 6502 Mnemonics einfach wegschreiben kann, ist das alles simpel. Wir in der Computer AG 1980 herum, wußten von unserm Commodeore Pet sehr viele ROM-Einsprungsadressen aus dem Effeff. Für Umstehende erschien das - mal vorsichtig - irgendetwas zwischen genial und nerdig. Aber wer komplett neu einsteigt, für denn ist das alles kompliziert und dem sollte man nicht sagen, es ist simpel. Nur habe ich Probleme mit Günters Post. Allein die Zahl der Beiträge erfüllt alle Troll-Kriterien. Er erweist sich als beratungsresistent. Auf viele Hilfsangebote reagiert er gar nicht. Immerhin bleibt er immer nett.
Natürlich hast du recht. Die Aussage von Peda war etwas allgemein. Natürlich KANN man auch damit alles lernen und früher gings nur so. Aber nicht der TE. Der TE benötigt jede moderne Hilfe die er kriegen kann um den alten Kram zu verstehen.
Die brauchen eher die Leute wie du, die immer noch nicht kapiert haben, mit wem sie es da zu tun haben. Beitrag "Re: Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?" Beitrag "Re: Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?"
Da muss ich sogar mal Falk zustimmen - der TO wird in seinen Äußerungen zunehmend wirrer und ein Fortschritt ist seit Langem nicht mehr erkennbar. Traurig, aber wahr.
Nun ich widerspreche dir nicht dass der TE maximal verwirrt ist. Aber wenn es eine Chance für ihn gibt irgendwas zu verstehen dann ist es nicht Hex Code auf einem Junior Computer. Naja, viele von uns fingen auch mit Hand assemblierten Object Code an. Mein "Erster" war eine MC6802 Motorola Bord. Ganze 256 Bytes für Programm und Daten. Später kam ein MC68HC11EVB dazu. Das war schon viel mehr Komfort. Allerdings, heute würde ich mir das auch nicht mehr antun. Mnemonik Assemblieren ist das Unterste was ich heutzutage akzeptieren würde. Object Codes eintippen macht nicht wirklich Spaß. Da ist Mnemonik absoluter Fortschritt und man wußte das schon in den 50ern zu schätzen. Abgesehen davon nimmt einem ein guter Assembler viel Arbeit ab mit Offset Berechnungen und Makros. Ich würde vielleicht zu einem MSP430 auf einer Eval Bord raten. Da ist zumindest die Infrastruktur zwischen PC und uC ausgefeilt und die Programme sind nicht flüchtig. Mehr Spaß macht es aus und man kann spaeter von ASM auf C umsteigen. Auch mit einem Arduino kann man viel anfangen. Im Vergleich zu den 70ern leben wir in einem Schlaraffenland an Möglichkeiten. Da sind eher wir die Begrenzung der Möglichkeiten. Als Pragmatiker bevorzuge ich Projekte mit dauerhafter Funktionalität. da geht es mir weniger um den Lerneffekt als Solchen, sondern das Lernen nebenbei als der Weg zu Ziel. Aber jeder sieht das wahrscheinlich anders. Ich bin froh, daß man heute keine umfangreiche Anordnung von ICs um den Mikroprozessor herum hat. Der Formfaktor eines uC ist nicht zu ignorieren. Ein MEGA328 würde einige LP vollgestopft mit Arbeiter-Käfern bedeuten. Da ist mir ein NANO oder Pro-Mini wesentlich lieber. Man muss sich das manchmal vor den Augen behalten. Ich bin manchmal schockiert wenn ich die Schaltpläne älterer Meßgeräte studiere, daß sogar Firmen wie R&S damals Grosses mit uC wie z.B. Intel 8039 verwirklichten. Mein R&S Mobil Tester hat nur zwei 8039er drin und hat sogar HP-IB Schnittstelle. Ein moderner ESP32 bläst alles Vorherige fort. Es hat bestimmt Sinn, sich etwas Moderneres zu wählen, wo die Werkzeuge (PC, IDE) und uC aufeinander abgestimmt sind. USB Verbindung zwischen Werkzeug und uC-LP ist Stand der Technik. Duck und weg... Gerhard O. (gerhard_) 27.05.2025 15:25
Da wäre die Infrastruktur auch ausgefeilt
Gast
#7882909
Ich mache den Quatsch ja auch seit vierzig Jahren und ich fasse keine Prozessorfamilie ohne Debugger mehr an: Mit einem STM32F103 + STLink V2 und Eclipse (STM32Cube IDE) ist man mit einen Fuenf-Euro-Schein dabei, bei Arduino beim Arduino Zero + IDE ist man bei 50EUR, RaspberryPico mit zweitem Pico als PicoProbe sind ca. 10EUR. Aber die geschenkte Lebenszeit (und der gesparte Frust) sind jeden Cent wert. Und wenn Guenter unbedingt die 6502 benutzen will: Er hat ja einen Junior, arbeitet aber die Aufgaben im Junior-Buch nicht durch. Dann ist das nicht so wichtig.
Hallo liebe Leute, vor allem Cyblord, auf dem Junior Computer geht es doch gar nicht anders. Also bitte, wieso nicht? - Falls Du einen anderen Computer meinst, mag es ja sein. Aber da, wo der Operations-Code steht, passiert doch auch das, was er macht. Liebe Grüße Günter K. (ENK) Nachtrag: Günter K. schrieb: ... ... Aber da, wo der Operations-Code steht, passiert doch auch das, was er macht. Liebe Grüße Günter K. (ENK)
Günter K. schreibt: Außer, dass ich weiß, dass dieser Speicherbereich, 0x0200 bis 0x02FF, doch nicht funktioniert, - so war es immerhin doch noch einmal ein Versuch! Liebe Grüße Günter K. (ENK) PS.: Und natürlich probiere ich weiter, ich habe aber nicht vor, Euch unnötig zu stören.
Du verstehst es einfach nicht. Ein Mensch schreibt ein Programm in Assembler-Anweisungen. Also sowas wie
Das kleine Programm lädt z.B. die Zahl 100 in das X-Register, dekrementiert X jeweils um 1, und solange die 0 nicht erreicht ist, dekrementiert es weiter, weil es zum Schleifenanfang (loop:) zurückspringt. Also eine klassische Verzögerungsschleife, wie sie auch in jedem Notenspielprogramm vorkommt. JEDER Mensch der in Assembler programmiert macht das genau so und nicht anders. Weil aber dein Junior Computer die Assembler-Anweisungen nicht versteht, brauchst Du die dazugehörigen Opcodes. Die erhältst Du, in dem Du die 4 Zeilen da oben kopierst, zu https://www.masswerk.at/6502/assembler.html gehst, dort in dem "src" Fenster den Assemblercode einfügst, einmal auf "assemble" drückst und schon hast Du a) den reinen Hex-Code und b) das Listing mit Hex-Code und den Originalen Assembler Anweisungen. Du kannst natürlich auch in dein Junior-Computer Buch schauen und die Hex-Codes dort mühsam zusammenklauben. Das wäre ungefähr so wie wenn Du zwar einen Taschenrechner zur Verfügung hast, aber trotzdem darauf bestehst, 47110815 * 27364 mittels händischer, schriftlicher Multiplikation auszurechnen. Das geht, bringt aber niemand einen Erkenntnisgewinn. Und wenn Du dann, statt die Hex-Codes mühsam in deinen Junior-Computer einzutippen, auf der oben genannten Webseite einmal auf "Show in Emulator" gehst, hast Du mit EINEM Mausklick etwas vor die, was ungefähr deinem Junior-Computer entspricht. Da kannst Du sämtliche Register beobachten, Assembler-Anweisung für Assembler-Anweisung. Der Knopf hierfür heißt "Single Step". Günter K. (enk) 27.05.2025 23:31
Hmm, komisch .. in diesem Video (Minute 26:02) haben sie ein Programm zum Togglen eine Portpins ab Adresse 200 eingetippt:
Günter schreibt: Hallo Christoph M. . Richtig, das ist ja auch nicht mein Computer. Es war schon ein guter Vorschlag von Wolfgang R. es bei 0x0300 zu probieren und es klappte. Meine RAMS muss ich tauschen, denn die meinen sind kaputt. Liebe Grüße Günter K. (ENK)
Da wäre ich mir erst sicher, wenn ich es überprüft habe. gib doch mal ab Adresse 0x200 lauter 0x55 als daten ein und lese dann heraus, was wirklich drinsteht. Dann das Spiel mit 0xAA als Datum, dann wieder lesen, was in den RAM-Zellen steht. Wenn du die Daten schreiben und lesen kannst und sich nichts verändert hat, dann sind deine RAMs nicht defekt! also: AD 0100 DA 55
... Günter K. (enk) 28.05.2025 08:12
Oh, das ist jetzt eine neue Erkenntnis. Ich dachte die ganze Zeit, wir diskutieren hier über einen Junior-Computer mit 6502. Welchen Computer verwendest du jetzt genau? Kannst du mal ein Foto posten?
Gast
#7883153
Nicht notwendig, er benutzt den Junior-Computer den Wolfgang gangbar gemacht hatte: Beitrag "Re: Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?"
Aber es ist halt nicht derselbe, sondern nur der (bau)gleiche Rechner der im o.g. Video zu sehen ist.
Gast
#7883163
Das Video (oder Guenter) haben nichts miteinander zu tun. Und das der Junior Speicher bei 0x0200-0x02ff hat ist gegeben. Irgendwie ist das alles ncht zielfuehrend. Klaus (feelfree) 28.05.2025 09:39
Jetzt stellt sich noch die Frage, ob er auch "funktionsgleich" ist. Günter: Kannst du ein Bild posten ? Thomas W. (datenreisender) 28.05.2025 09:46
Da ist mir unklar, wie du das meinst. Im Video sieht man zumindest die Zeitschrift.
Gast
#7883175
Ich bin zwar nicht Guenter, aber: In the Beginning hat Guenter einen Junior-Computer vom Dachboden rausgekramt, funktionslos. Der Rechner ging nach Wolfgang, funktionsfaehig gemacht, Fotos gemacht und zurueck geschickt (an Guenter).
So hatte ich auch mal angefangen. Allerdings war das Berechnen der Sprünge und Calls extrem nervig und fehleranfällig. Und wenn man auch nur eine Instruktion eingefügt hat, waren alle Berechnungen für die Katz. Das hat mich dann so genervt, daß ich mir in Turbo-Pascal einen Assembler für den 8051 selber geschrieben habe. Peter D. (peda) 28.05.2025 10:13
Da würde ich auch den Grund dafür sehen, dass das Programm, welches Günter an Adresse 0x200 programmiert hat für die Adresse 0x300 kodiert war.
Das verstehst du falsch. SEINE RAMs SIND defekt. Die des Junior-Computers nicht . . . Hallo, Falk B. schrieb im Beitrag #7883226:
Falk, lass es einfach gut sein. Ich weiß das dich Günters Verhalten (und auch Josef mit seiner abstrusen 8-Bit-CPU) wahnsinnig macht und kann das auch gut nachvollziehen, aber es hat keinen Zweck immer und immer wieder darauf zurück zu kommen. Nimm es einfach hin, du wirst Günter sowieso nicht erreichen. rhf
Keine Sekunde. Ich weiß was das Problem dieser Leute ist und ich habe es schon LANGE verstanden und akzeptiert. Aber das Gewusel der Leute hier, die das NICHT kapiert haben und allen Ernstes glauben, dem Günter mit irgendwelchen Hinweisen oder Empfehlungen auch nur eine Sekunde was vermittelen zu können, ist schon amüsant. Naja, nicht wirklich, eher ein Anlaß zum Kopfschütteln.
Hab ich keine Sekunde (mehr) vor.
Nö, in dem Programm stehen Mnemonics, die der Assembler in einen für den Prozessor verstehbaren Maschinenbefehl (Opcode) umsetzen soll. Ich frage mich allerdings was der TO mit dem Opcode will, denn den wird er vermutlich noch schlechter verstehen, da das nur Zahlenkolonnen sind. Beispiel (Z80): "inc b" wird zu 0x04. Um das zu verstehen müßte man die komplette Tabelle mit den Mnemonics im Kopf haben.
mit Opcodes - ich lach mich schlapp.
Eintippen, denn mehr kann der Junior-Computer nicht. Aber so neumodischer Kram wie Assembler will er ja nicht, weil er ja "genau verstehen will, was der Prozessor macht". -> AI (damit meine ich nicht artificial intelligence)
Es hat schon einen Grund, warum in den Anfangsjahren der IT Assembler erfunden wurde und nicht mehr mit Maschinencode programmiert wurde. Aber bestimmte Leute verstehen das halt nicht . . . Ooohh, soo viele Infos Hallo liebe Leute,
Ja, der Begriff "Label" erscheint oder erschien mir neu. Weil ich das noch nicht kannte, nannte ich das mal TARGET, oder Ziel. Für mich, der OP-CODES eingeben muss, stelle ich das ganz nach vorne. Für mich als Anfänger, ist es einfacher die MNEMONICS mitzuschleppen, als direkt in ASSEMBLER zu programmieren. Was aber noch wichtig für mich ist, das sind die u/Zeiten/u. Denn ich muss, in dem vorstehenden Programm für mehrere Töne und sei es der Gleiche, in der SR "ausscheren" bzw. dort etwas tun, zB.: ZP-Incrementieren, das reicht innerhalb einer Halbwelle im höchsten Ton. Warum dort(?), weil dort die Zeit, die Kürzeste ist. Ich muss die Arbeit auf mehrere Halbwellen verteilen. Im Moment stelle ich mir vor, dass die Zeit sehr knapp ist. Aber auch der kürzeste Ton wird mehrere Halbwellen haben, Nicht nur die positive- sundern auch die negative Halbwelle, - so dass, die Symmetrie erhalten bleibt, und die Pausen-Länge, die Ton-Höhe, die Ton-Länge bestimmt werden kann, aus dem dann die Gesamt-Länge zusammengesätzt werden kann. b/Nur so, kann ich mich in die Problematik für eine Lösung hineindenken./b Nur sogesehen sind die Vorschläge nicht so schlecht. Irgendwelche überflüssigen Bemerkungen, von wem auch immer, übersehe ich einfach. - Ich übersehe aber nicht, die Zusammenhänge die dazu führen könnten. Gleich bekomme ich Besuch, muss vorbereiten. Liebe Grüße Günter K. (ENK) Günter: Kannst du ein Bild des Computers posten ? Hier mal kurz was für die Profis: Ich versuche gerade den cc65 dazu zu bringen, Code für den Junior-Computer zu erzeugen: Für verschiedene Computermodelle gibt es unterschiedliche Konfigurationsfiles. Welches ist das kleinst Modell in der Liste des oben aufgeführten Modelle, die dem Junior-Computer am nächsten kommen?
Ja, das sehe ich auch so. Assembler arbeiten jede Zeile von links nach rechts ab. Erst wird also PADD auf den gerade gültigen PC gesetzt und danach der PC auf den Wert der org-Anweisung. Oft erlauben Assembler solche Fehler auch nicht. Ein Label darf nicht in einer Zeile mit einer Präprozessoranweisung stehen. Gute Programmierer schreiben ein Label immer in eine extra Zeile ohne weitere Statements. Das erhöht die Übersichtlichkeit.
Kannst du nicht. Du könntest aber eines der hier vielfache geposteten Programme, die teilweise ganze Tonleiter oder Melodien spielen, mit richtigen Tonlängen, versuchen zu verstehen. Aber das willst du ja nicht. Stattdessen schwadronierst du über alles, nur nichts über was dich weiterbringt.
Gast
#7883362
Kannst Du Dich noch an Single-Pass oder Double-Pass-Assembler erinnern? Beim Double-Pass wurden beim zweiten Durchlauf die noch offenen Labels bestimmt. War natuerlich nur spannend bis schnelle Massenspeicher (vulgo 8"-Disketten) auf den Markt kamen :-)
Unabhaengig von Sprache und CPU: Da hast Du recht, da hast Du so recht. Aussergewoehnliche Programmierer wuerden sogar einen Kommentar spendieren (frei nach: Real programmers don’t comment their code. If it was hard to write it should be hard to read).
Gast
#7883365
So aus der kurzen Liste muesste der Sym-1 die kleinste Maschine (RAM bei 0x0000-0x0fff, beim Junior waere das 0x0000-0x07ff [ich habe die Expansion-Card]). Es fehlt natuerlich Stdio.h (Du hast kein I/O), es fehlt Disk i/o.
Eigentlich nimmt man für solche Konstantendefinitionen auch SET, EQU oder =, je nach Syntax des Assemblers. Also
Christoph M. schrieb:
Thomas W. (datenreisender) 28.05.2025 15:54
Ich habe es hier mal mit dem "blink" Programm versucht:
Da liegt ein wenig die Herausforderung: Man muss irgendwie ein Maschinenmodell ohne diese Peripheriebibliotheken verwenden, damit nicht einige riesige Library mit-gelinkt wird. Ich könnte die relevanten Code-Teile aus dem Compiler-Output heraus kopieren und dann Assemblieren, aber dass ist mühsam und eigentlich muss der Prozess ja in der Lage sein, den Hex-Code an der richtigen Stelle zu erzeugen.
Ja schon. Aber in der cc65 Tool-Chain befindet sich ja auch der ca65 Assembler, mit dem es auch gehen müsste. Die Betonung liegt auf 'müsste', weil wie im anderen Thread schon angemerkt, bräuchte ein C-Compiler ja auch einen Start-Up code.
Du macht es auch immer gern möglichst umständlich und kompliziert, was? Beitrag "Re: Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?" Einfacher und SINNVOLLER geht es in diesem Rahmen nicht.
Liebe Leute, das hatte ich überlesen, lieber Cyblord, bitte, wie war das gemeint? Bitte was heißt: "... jeder C64-Opa hier ...", gibts hier noch mehr? Bitte was heißt: "... die Stunde irgendwelchen Kruden Details ..."? Bitte was ist gemeint mit: "... Anekdoten
Ich bin kein Fachmann, in dieser Sache, das habe ich auch nie behauptet. Jetzt kommt noch die Antwort auf die Frage:
Nun ja: Ich möchte, durch das logische Verhalten des Computers verstehen, - und Sachen machen, was man mit dem Computer machen kann. Es braucht nicht nur der JC zu sein, aber ich möchte verstehen. Natürlich, ich finde, der JC ist ein mit dem 6502 schöner Computer, bei dem ich auch noch viele Befehle lernen muss. Zwar stelle ich es mir mit einem Timer leichter vor, aber es ist eine Herausforderung, so wie Klaus es vorschlägt. - Vielleicht sollte ich auch nicht so vorschnell sein, -und so finde ich, erstmal die dazugehörenden Gedanken zusammenfassen, bevor ich sie so wie ich es mir vorstelle, zu Papier bringen und dann erst vorstellen. Jetzt muss ich noch einkaufen gehen. Liebe Grüße Günter K. (ENK)
Es ist vielleicht für einen im IT-/Programmierbereich normal vorgebildeten Menschen eine kleine Herausforderung. Für dich ist es jedoch schlicht unmöglich.
Also vergiss dein Vorhaben, Assembler zu lernen. Such dir was Einfacheres und besser zu Bedienendes. Grundsätzlich hast Du ja kein Problem damit, einen Computer zu bedienen, wenn ich mir deine mit Excel erstellten Programmierversuche so anschaue. Vielleicht sind die bisherigen Programme für Günter auch zu kompliziert.
Gast
#7883683
Ja. Ich. Im Anhang findest Du den IO-Teil des Juniors. Das Display ist gemultiplexed und PB1-PB4 waehlen die Stelle des Displays aus, PA0-PA6 waehlen das entsprechende Segment des Displays aus. Damit Du wirklich ein "Zeichen" auf dem Diplay angezeigt bekommst, musst Du das Display dann alle paar Millisekunden updaten. Die Beschreibung findest Du im Elektor-Junior Buch II, p. 131. Die Routinen SHOW und CONVD findest Du auch erklaert. Und die Beschreibung ist sogar recht gut, selbst ich habe das damals als 16-Jaehriger verstanden. Fuer Guenter ist das nix, die Ton-Erzeugung ab p.45 im gleichen Buch bekommt er ja auch nicht hin. P.S.: Das war ein wenig falsch oder vereinfacht: Man kann mit Auswahl von Pb1-4 eine Stelle auswaehlen und dann ein Pattern auf dieser Stelle anzeigen. Aber: Es ist eigentlich fuer Multiplexing gerechnet, die 68Ohm-Widerstaende sind etwas zu klein, und die Stroeme ins das Display etwas zu gross. Thomas W. (datenreisender) 29.05.2025 09:57
Danke dafür.
auf der ersten Anzeige eine helle '8' erzeugen. Korrekt?
Gast
#7883715
Noe. Du hast den 74145 vergessen (Du hattest die Schaltplaene selbst gepostet Beitrag "Re: Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?"). Die Adresse der Displaystellen sind 0x08,0x0a,0x0c,0x0e,0x10 und x012. Mit einem beherzten lda #0x08 solltest Du die erste Stelle mit ca. 50 - 70mA bestromen :-) Schoen hell, aber die Effizienz der 40 Jahren alten Displays sind so oder so nicht mehr so prall.
Natürlich hat das einen Grund warum man die Rechner mit einer für Menschen verständlicheren Sprache programmieren wollte. Die Opcodes, die noch dazu für jeden Prozessor anders waren/sind, kann sich eigentlich keiner merken. Die Mnemonics kann man sich leichter merken, zumal sie i.d.R. von der Bezeichnung her mehr oder weniger selbstsprechend waren. Mit der Assemblersprache wurde es auch möglich Code leichter austauschbar zu machen, weil die Übersetzung in den Opcode der zum Prozessor passende Assembler gemacht hat. Und ja natürlich hat man Anfangs die Hexzahlenkolonnen zu Fuß eingehackt, allerdings kenne ich persönlich niemanden, was natürlich nichts bedeuten muß, der Programme im Opcode entwickelt hat. Da stand am Anfang immer ein Assemblerlisting. Meist hat man dann nach den Zeilennummern eine Spalte frei gelassen, wo man nach dem Erstellen des Programmes den Opcode eingetragen hat. War eigentlich auch gar nicht anders möglich, da man die Sprungadressen ja erst berechnen konnte, wenn das Programm fertig war. Ich habe mal eine zeitlang beruflich mit Assembler am E60/E100 (sowjetische PDP11 Clone) arbeiten müssen. Allerdings hat man dort die Mnemonics in einem recht einfachen Editor eingegeben und dann mit dem Assembler übersetzen lassen. Allerdings hat der Assembler das Objektfile dann auf Diskette gespeichert und man mußte das natürlich nicht mehr per Hand eintippen. Thomas W. (datenreisender) 29.05.2025 11:04
(5V-1.6V)/68 Ohm = 50mA .. Da wäre die Frage, wie groß der Spannungsabfall am 74154 und dem ULN ist. Da geht bestimmt noch mal was weg, so dass es keinen "KillerPoke" für den Juniorcomputer gibt. Beitrag "6502 Emulator PiPico" Deshalb frage ich genau nach, wie die Hardware anzusteuern ist. Beim Ablesen aus dem Schaltplan verdreht man gerne mal Bits- und Polaritäten. Plötzlich ist die Anzeige dann Low- statt High-aktiv.
Gast
#7883763
Nein, den "Killerpoke" gibt es nicht, aber ein "Kill-Switch" war die Abschaltung des Displays: Der Spike hat die CPU oft aus dem Takt geworfen.
Wenn man auf Port A (PAD) eine 0x00 schreibt bekommt man eine "8" ein Display, schreibt man eine 0x7f rein bekommt man eine "Leerstelle" (alles lt. Junior Buch II, mein Junior liegt z.Z. im Schrank).
Oh maan du bist echt nicht die hellste Kerze im Leuchter oder? Günther, das wäre doch eine schöne Aufgabe für dich: Wie zeigt man eine 4 statt einer 3 ?
Hex-Code zum Eintippen in den Junior-Computer:
Du bist ein Optimist ;-) Na wenn schon, dann bitte als Tabelle oder wenigstens als direkt nutzbare Konstante. Denn sonst hat man wieder haufenweise magische Zahlen, die man eigentlich nicht haben will.
Gast
#7883916
So klappt das nicht: Um den BRK zu benutzen muss der Reset-Vector $1c00 in $1A7E (= 0x00) und $1a7f = (0x1c) geschrieben werden. Ich bin mir sicher, dass Guenter das nie gemacht hat (das haette er bestimmt mit einer PowerPoint-Folie erklaert). Wenn der Vektor gesetzt waere, wuerde das Display kurz flackern und dann wieder den Programmcounter (0x0314) anzeigen. Es ist auch ganz gross in Kapitel 3 ("Programmieren") auf p.57 des Junior-Computer Buch I erklaert. Das ist doch alles Humbug.
wie auch? Der Junior hat nur RAM von 0x000..0x03FF. Die Adresse 0x1A7E liegt im Eprom, dass man bekanntlich nicht beschreiben kann. Ich weiß ja nicht woher du deine Infos hast, aus dem Buch ganz sicher nicht.
Gast
#7883998
Noe. Die 6532 (RIOT, RAM + IO + Timer) ist bei 0x1A00 - 0x1AFF. Fuer Dich dann: 0x1A00 - 0x1A7F sind 128 Bytes RAM im RIOT, 0x1A80 - 0x1A83 ist IO und dann ganz viele Timer und Flankendetektoren (PA7).
Fuer Anfaenger: Junior Buch I und II, speziell Buch II, Kapitel 6, Page 33 bis 99, Elektor-Verlag, 1980. P.S.: Mit Bild: Beitrag "Re: Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?" Hallo liebe Leute, ich hatte auch das Junior-Buch II, hier schon auf dem Schirm gehabt. Da las ich auch von den Flanken-Detektoren. (Jetzt aber nicht mehr gefunden.) Unter anderem las ich von einer Art-Klaviatur. Heute auf Chr.-Himmelfahrt, fand ich noch 6 Tasten;(für 6 Töne)
für diese Tasten, fand ich ein schönes Lied
(welches ich noch nicht nenne).
Diese 6 Tasten, werde ich auf eine Europa-Platine löten.
Das Lied hat nur 6 Töne, aber -zum Scherz-, passen diese, - so,
auf einer Europa-Platine, dass ich nur wenig Brücken legen brauche,
die Leiterbahnen in Längsrichtung (-weitgehend-) nicht unterbrochen werden.
Die Schalter haben 4 Anschlüsse, von der je 2 auf der Leiterbahn liegen.
Hallo Liebe Leute, guten Morgen, ich habe eine kurze Frage, welche Funktion hat ORG. - ? Liebe Grüße Günter K. (ENK)
Was du leider nicht kannst und auch nie können wirst. Wie kommt man nur auf die völlig wahnsinnige Idee, wenn man es noch nicht mal geschafft hat, 2 verschiedene Töne abzuspielen? Das ist wie ein 3-jähriger, der es gerade geschafft hat, mit seinem Fahrrad mit Stützrädern sich den ersten Meter vorwärts zu bewegen, und dann verkündet, er steige jetzt aufs Einrad um.
Abkürzung für Origin, zu deutsch Ursprung -> die Adresse wo der Code abgelegt wird.
3-Jährige sind prädestiniert das zu schaffen (und fast nur die!). Die fliegen ein paarmal kapital auf die Nase, heulen, steigen wieder auf und fahren. Bei Erwachsenen ist das nahezu aussichtslos. Hallo liebe Leute,
Ja, Wolfgang R. schickte mir mal so etwas, hier in die Liste. Ich hatte es ausprobiert, und es hatte geklappt!! - Darüber freute ich mich sehr! DANKE lieber Wolfang R. Das muss ich mir nochmal heraussuchen. Das war dadurch, weil ich mich erinnerte, als ich den JC gekauft hatte, dass der JC: scheinbar selbständig "Junior" auf dem DISPLAY schrieb. Nun das ist ja -so- lange her, dass ich nicht mehr weiß, wie es dazu kam. Vermutlich ein Auszug aus dem MONITOR. Und so, wie ich es jetzt sehe, könnte man: "DISPLAY" auch auf dem DISPLAY durchlaufen lassen, denn es sind 7 statt 6 Zeichen, oder mal "DSPLAY" schreiben. Das JC-Buch II downloade ich mir nochmal auf meinen Computer. Dankeschön für Eure Ideen!! Eines muss ich ganz ehrlich sagen, ich bin nicht so gebildet, und ich behalte auch nicht alles, aber noch vieles. Nachher kaufe ich noch weitere 7 Schälterchen, u. Dill-Schälterchen. Dann kann ich so noch weitere Töne dazu wählen (ander abwählen); dann wird die Europakarte mehr bestückt. (Für die Spielerei!) Dann kann man -irgendwie-, mehr Töne wählen. Die LEGO-Bausteine passen auch auf diese Schalterart. Somit, könnte man auch lange Tasten bauen; diese brauche aber 2 Taster zum wippen. So, ich fahre jetzt in die Stadt. Muss mich beeilen! Liebe Grüße Günter K. (ENK)
Gast
#7884159
Ganz einfach: Du hast die Elektor 05/1980 gesehen (siehe Anhang). Und das Prograemmchen zum Anzeigen des Textes "Junior" kam spaeter.
Noe.
Sag mal, willst Du uns eigentlich verarschen? Liest Du nicht was wir schreiben? Du schaffst es nicht, 2 Töne hintereinander abzuspielen, willst aber nun wieder 15 Schritte weiter gehen? Nochmal für dich ganz klar: DU SCHAFFST DAS NICHT.
Du auch nicht. Beitrag "Re: Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?" Günter schrieb:
Hallo Günter, für solche Fragen nimmst du am besten Wenn du folgendes eintippts:
6502 assembler: welche Funktion hat ORG Hallo liebe Leute, lieber Christoph M., Du hast ja schon alles richtig gesagt, DANKESCHÖN! Die https://www.perplexity.ai/ hat hier dieses Mal nicht richtig reagiert Als ich die Frage nach dem FLAG stellte aber wohl; auch hierfür ein DANKESCHÖN dafür. Und Leute, vor allen Dingen Klaus, ich habe mir schon Gedanken gemacht, (Wie gewüscht, ohne TIMER) nachher bin ich zu einer Geburtstagsfeier eingeladen. Gestern war Grillen, das war sehr schön und freue mich jetzt zur Geburtstags-Feier zu gehen. Das Programm, welches ich schreiben werde heißt: Martinshorn.(asm) Allerdings leider nur, vorläufig NUR wie gewohnt in Maschinensprache mit beigefügten MNEMONICS. Später, wenn ich mich mal mit dem Compiler und den Loops beschäftigt habe, Dann weiß ich vielleicht teilweise, was da passiert. Kurzum, ich habe mir schon Gedanken gemacht. Liebe Grüße Günter K. (ENK)
LOL. Bist du wirklich so extrem beratungsresistent oder doch ein Troll?
Dann besiege doch mal dein Helfersyndrom und sehe ein dass das hier alles keinen Sinn macht. Egal ob Troll oder völlig weggetreten.
Mach ich - versprochen! - spätestens nachdem Du dein Mecker- und Rant-Syndrom in den Griff bekommst.
Traurig wenn man das eigene Verhalten vom Verhalten anderer abhängig machen muss. Entweder du hältst es für sinnvoll hier zu helfen oder nicht. Was hat das mit mir zu tun?
wenn man Ironie erst mit passenden Smilies versteht.
Tja, wer hat mir denn den Ratschlag gegeben?
Nur dass es keine Ironie war und das wissen wir beide. Armselig ist es übrigens auch, erst mal Unsinn zu labern und dann hinterher "Ironie!" zu rufen. Steh zu deinen Aussagen! Moin, Ich bin der Meinung, daß man Günter auf seine eigene Art und Weise lernen lassen muß. In seinem Alter ist das vielleicht ganz natürlich. Ich merke es auch bei mir selber, daß ich mich nicht mehr so flexibel wie früher bin. Deshalb kann ich die Dichotomie zwischen Euch und ihm gut verstehen. Ich bewundere andrerseits auch Eure verständnisvolle Geduld und Ausdauer. Persönlich würde ich zu Arduino oder Bascom auf Arduino raten. Da hat man eben eine komplett ausgearbeitete Arbeitsumgebung und standardisierte HW. Auch in einer Hochsprache wie BASIC oder auch C kann man die Prinzipien des Programmieren ausreizen. Und letztlich lassen sich benützbare Gerätschaften damit bauen. Da wäre sogar eine der vielen Arduino Baukoffer, gefüllt mit vielen netten Peripheriebausteinen und Steckbrett praktisch. Duck und weg... Hallo Günter, hier noch mal das verbesserte Siebensegmentprogramm.
Am Anfang habe das .org beschrieben.
Hier noch der Hex-Code zum eintippen.
Das Designziel hier war ein möglichst kurzer Code, so dass man nicht so viel tippen muss.
anderen Ratschläge geben zu wollen während man selbst vollkommen immun gegen jedwede Kritik ist.
Selbstverständlich. Das Gesagte gilt! Björn W. (bwieck) 31.05.2025 16:38
Krass, habe es gerade ausprobiert, du hast tatsächlich Recht. Ich hätte nicht gedacht, dass jemand so genau hinschaut. Wie hast du denn das gesehen? Da muss mir wohl beim kopieren ein Fehler unterlaufen sein .. aber jetzt:
Ist dir klar dass der TE sich absolut gar nichts aus deinen kleinen Aufgaben macht, ja sie nicht mal wahrnimmt? Ich meine klar, du machst nicht den Eindruck als ob es dich juckt ob dir jemand bei deinem Schwafeln zuhört, aber selbst DU könntest ja jetzt auch mal kapiert haben, dass beim TE kein Licht brennt.
Ist dir klar, dass wir uns absolut gar nichts aus deinen ständigen Stänkereien machen, weil der Cyblord halt mal so ist wie er ist?
Och.. Hat bestimmt damit zu tun, daß ich früher viel mit Maschinencode Monitoren auf dem C64 gespielt habe.. Da bleibt offenbar was hängen ;) Hallo Günter, um zu lernen, wie man ein System programmiert, ist es am einfachsten, bestehenden Code zu nehmen und schrittweise Änderungen daran vorzunehmen. Hier mal ein Programm, dass den Timer benutzt und bis 3 zählt. Als Übung kannst du die Zahlenausgabe ändern oder den Sprung so ändern, dass das Zählen wiederholt wird.
Hallo Christoph, du bist deiner Zeit voraus... rhf Ich weiß nicht, ob das schon erwähnt wurde, aber das Spiel hier wäre gerade auf Steam im Sale (~11€): https://store.steampowered.com/app/1444480/Turing_Complete/ Laut Beschreibung könnte das sehr gut geeignet sein, um die Grundlagen zu verstehen und damit rumzuspielen. ...wenn auch ohne physische Hardware...
Mittlerweile gibt es ja haufenweise Online-Schaltungssimulatoren, wie z.B. der hier: Da ließe sich wahrscheinlich auch eine grundlegende CPU nachbauen.
NEIN, denkst du WIRKLICH dass man mit einem Schaltungs- oder gar einem Digitale Logik Simulator eine CPU nachbauen kann? Ich sag nur WOW WOW WOW.
Halloo, einen schönen Sonntag, liebe Leute, :-)) Ja das Progrämmchen, konnte ich gar nicht wahrnehmen; ich war gar nicht zu Hause. Ich war ja auf einer Geburtstagfeier. Jetzt wird erst mal gut gefrühstückt, dann hole ich das Labornetzgerät nach hier und den kleinen Junior. Dann gebe ich die Hex-Zeichen ein; das sieht wirklich interessant aus. :-) Die folgenden E-Mails muss ich erst noch lesen. DANKSCHÖN für Eure Beiträge! Mit lieben Grüßen Günter K. (ENK)
Es ging ja eher darum zu VERSTEHEN was dieses Programm tut und warum. Denn es nutzt diesmal deinen heiß geliebten TIMER. Das wäre die Gelegenheit für dich zu verstehen wie der funktioniert. Vom HEX Zeichen eintippen hat man genau gar nichts. Es bringt einen nicht weiter. Und deshalb sind die ganzen Programme und Aufgaben hier komplett für die Tonne weil DU sowieso niemals nicht auch nur versuchen würdest zu kapieren was diese Programme tun. Der Christoph ist ein bisschen langsamer als der Rest hier und braucht deshalb ein paar Tage länger um das zu verstehen. Aber es wird kommen. Hallo, Cyblord -. schrieb im Beitrag #7884804:
Es ist schon interessant zu lesen wie dich diese Diskussion triggert und du auch wirklich jeden, der etwas Konstruktives beträgt, in deiner typisch überheblich, arroganten Art und Weise angehst. rhf Günter K. (enk) 31.05.2025 13:13
Vielleicht wäre auch der typische Alarmton, wie man ihn bisweilen bei verschiedenen Autos hört, ein Versuch wert:
Hier noch der HEX-Code zum eintippen:
Und nicht vergessen: Der Lautsprecher muss hier an Bit0 von PortB angeschlossen werden.
Naja, allerdings ist in seinen Aussagen schon ein Fünkchen Wahrheit. Über die Art und Weise wie sie vorgetragen werden kann man halt streiten. Man könnte es ganz gewiß auch anders formulieren. Der Günter scheint mir schon ein bischen beratungsresistent zu sein. Es haben hier ihm schon einige gesagt, daß seine Vorgehensweise wohl nicht die ganz Richtige ist, um es mal vorsichtig auszudrücken. Am Ende ist jeder seines eigenen Glückes Schmied.
Es hilft aber kein noch so konstruktiver Beitrag. Kapierst du das denn noch immer nicht?
Günter helfen die nicht, aber jedem anderen Interessierten. DEINE Beiträge helfen dagegen tatsächlich niemandem, aber das wirst DU nie kapieren.
Was nicht stimmt, da ich am Anfang auch konstruktive Posts geschrieben habe die einem normalen Menschen auch weitergeholfen hätten.
Hallo Christoph M. dass man sich da vertuen kann, das ist normal, wir sind Menschen. Und genau darum, möchte ich die Beziehung zur Maschine behalten. Ich stelle das jetzt mal 'n bisschen anders dar, und danach, noch was anders. (Auch wenn es stupide erscheint.)
Ich hatte auch schon mal Hexdumps gesehen, die die Zählung bis F hintereinander geführt. - Jedoch, das soll kein meckern von mir sein. Darum mache ich das jetzt so, wie Hans Otten. Also von 0300 bis 031C: Nun Kopiere ich die Adressen ab 0301 neu dazu. Aber ohne die Kopie zu zerstören. Das ist jetzt ein neues Experiment, denn (das klappte noch nicht.) Sondern nur auf dem Editor (die Liste kommt.) Bei dem Editor muss man zuerst den Cursor setzen, sonst überschreibt er. Die entstandenen Doppelkopien werden gelöscht. - Nun wird es aber kompliziert, bis ich selbst ein Assembler geschrieben habe, bis man auf diesem Wege den einfachen 6502-Computer verstanden hat. Wenn er erweitert ist, kriegt er einen 48 x 64 Zeichen-Bildschirm(3x4) und eine große Tastatur. So klein das Hexdamp auch aussieht, als Liste doch zu groß. Es kommt in den nächsten Beitrag, und in Exel. Ich kann es erst verstehen, wenn ich weiß was der Rechner macht. Nochmal DANKSCHÖN für Eure Beiträge! Mit lieben Grüßen Günter K. (ENK) Fortsetzung folgt, Hallo Liebe Leute, befor ich die Liste schicke, eine Frage: Was kann ich jetzt mit dem geladenen Programm tun? Ich habe es eingetippt. Liebe Grüße Günter K. (ENK)
GOLD!
DoppelGOLD! Woher soll ich wissen was ich denke bevor ich höre was ich sage?
Ja, hallo, auch das ist gut, dann kommt als 2. der gleiche Ton. Denn es geht ja ums Prinzip. An Stelle des Timers mache ich was anderes, und ich frage mich wirklich, wie Falk das schreibt, ob der Klaus das kann. Jetzt muss ich Mittag zubereiten, bis später. Liebe Grüße Günter K. (ENK) Hallo Cyblord,
Ja, das kann ich Dir auch nicht sagen. - Bitte nicht so. Hallo Klaus, Cyblord -. schrieb im Beitrag #7884892: dass Klaus schrieb,
Also Klaus, gehe bitte nicht von Voraussetzungen aus, - die Du nicht kennst. Liebe Grüße Günter K. ENK
Gast
#7884921
<AD>0300<GO> Das war's Ihr Lieben, an alle und Cyblord -. schrieb im Beitrag #7884804:
Hallo Cyblord,
Hallo Christoph M. Christoph M. schrieb im Beitrag #7884837:
Deine Beiträge sind gut! Leider kann ich sie noch nicht vom PC zun JC übertragen. Es ist in der Planung, aber dann ist es nicht mehr der 6502 sondern ein 8086; eine Peripherie und eine Verbindungsleitung. Leider habe ich keinen Lautsprecher parat. Habe aber einen Kleinen gekauft, Verstärkerchen dazu; das muss ich aber erst löten. Und natürlich habe ich eine Idee 2 Töne mit dem Lautsprecher zu machen. "Tuut - Tuut" mit Pause, ohne Timer. Ja, das geht. Wenn Du es nicht schon eingegeben hast. Es gibt die Möglichkeit, die Laufzeit des Tones zu ermitteln. Ob man dabei einen 2. anderen Ton spielt keine Rolle. Jetzt muss ich Mittag essen, und baue die Sachen an einen andern Ort auf. Dabei mus ich ausschalten, und den Code neu eingeben. Liebe Grüße Günter K. (ENK) Hallo, Cyblord -. schrieb im Beitrag #7884880:
Wenn du andere Beiträge von mir gelesen hättest, wüsstest du das ich sehr wohl "kapiert" habe das Günter wohl nicht zum Ziel kommen wird. Es ging mir in meinem Beitrag an dich auch gar nicht um Günter, sondern eher um dich und wie du hier Leute herunterputzt, die immer noch versuchen Günter zu helfen. rhf
Es ist aber auch nicht gut, sich darüber aufzuregen. Vielleicht solltest Du hier nicht mehr rein schauen!? Ich amüsiere mich jedenfalls köstlich und hole jetzt nochmal Popcorn! Gruß Jobst
Günter K.(ENK) schreibt DANKESCHÖN! Und ich weiß und sehe, dass Deine Sätze gut gemeint sind.
Hallo Roland F., "... Günter wohl nicht zum Ziel kommen wird." - Wieso? Natürlich lieber Roland F. ich habe das -Ziel- vor Augen, - bin aber eher Maschinenorientiert, wovon mir allerdings, auch noch 'ne Ecke von fehlt. Die Maschinenorientierung ist wichtig! Darum, weil wir Menschen sind, und acht geben müssen, damit die Maschine nichts tut, was wir nicht überschauen können. Aus diesem Grunde gehört der OP-Code (also Maschinen-Code), fest zum Assembler-Code, mit seinem Assembler durch den Compiler dazu, so dass, sogar der Kommentar und (zuvor dem wenn nötig auch die Zeiten) mitgenommen werden. Wie z.B.: "2 x Hupen" Wenn der Timer nicht benutzt wird, ist das interessant. Beispiele mit Zeiten von Euch, sah ich ja auch schon. So, dass das -Ziel-, dass ein Computer der leichter zu verstehen bleibt. Wenn jemand so in etwa schreibt: "... haufenweise Fachbegriffe rausboxt..." zu dem sage ich jetzt einfach: Das ist Terminologie. Fairerweise, schrieb jemand mit einem Bild dazu Harald K. schrieb:
(Zwichendurch denke ich an einen Satentransfer zu einem passenden PC. dieser hier kann das noch nicht.) DANKESCHÖN!! Liebe Grüße Günter K. (ENK) und das sende ich auch jetzt hier.
Weil du bisher in 4 Monaten ungefähr so viel gelernt hast, wie ein Normalsterblicher in 10 Minuten. Eigentlich sogar noch gar nichts. Stattdessen machst immer völlig sinnlose Dinge, z.B. Hex Codes eintippen. Du kommst keinen Millimeter vorwärts, und merkst es nichtmal.
Gast
#7885100
Das ist KEIN Qualitätsmerkmal, denn das trifft auf fast jede auch noch so bescheuerte Aussage zu. Mit gutem Willen findet man immer das berühmte Fünkchen Wahrheit...
Mit Verlaub: Nein. Es gibt Menschen, die permanent andere erniedrigen, um sich selbst zu erhöhen. Darüber gibt es m.E. nix zu streiten -- das ignoriert man konsequent, wenn man klug ist.
Ach echt?! Und das trifft auf die Meinungsführer im Forum, die auch die Frage "Ich habe Probleme mit meiner Freundin im Bett..." mit der herausgeplatzen Empfehlung: "Nimm einen Mikrocontroller!" beantworten würden, wohl nicht zu? Nein, nein, der alte Spruch gilt immer noch: Sachkunde ist einer lebhaften Diskussion nur abträglich... Sachkunde ist aber nicht (nur) der nerdige Technikerblick mit Scheuklappen, sondern auch echtes Verständnis für die Situation (den Wissensstand, die Fähigkeiten) des Gegenüber. Nur mal ganz nebenbei.
Und warum regt ihr euch dann so auf? Handelt doch einfach danach und lasst ihn doch.
Gast
#7885103
Leider stimmt das nicht. Wenn Dir die Stänkerein wirklich egal wären, würdest Du ihm nicht anworten. Christoph M. schrieb:
Günter K. (enk) 01.06.2025 13:27
Oft ist es tatsächlich so, dass pro Zeile 16 Byte verwendet werden ( Zählung 0-F ). Für so ein kleines System wie den Junior Computer finde ich 8 Bytes pro Zeile aber deutlich übersichtlicher.
Du musst die Startadresse eintippen und dann 'go' drücken. https://www.youtube.com/watch?v=wI82V9meKnY Was das Programm tut ist hier beschrieben: Beitrag "Re: Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?" Dort findest du auch die Übungsaufgabe.
Dann nutze das doch und helfe dem TE entsprechend seinen Fähigkeiten. Was hält dich ab?
Oder hört es bei dir beim whataboutism schon auf? Günter K. (enk) 31.05.2025 13:13
Hier habe ich Dir mal eines als Vorlage gemacht. https://de.wikipedia.org/wiki/Direct_Digital_Synthesis
und hier wie immer der Code zum Eintippen:
DIESMAL wird er es sich anschauen. Ganz sicher! MChris: Martinshorn! - Oh, nun ist mein alter Text weg! Ich hatte Text eingetippt, nach dem hören Deines Martinshorns war ich So. -begeistert-! -, dass mein Text verloren ging. Jetzt schreibe ich vorher in WORD. Cyblord -. schrieb im Beitrag #7885495:
Ja, DIESESMAL werde ich es mir anschauen. Ganz sicher! Ich bin dabei. … … Sehr gut, fand ich Deinen Vorschlag und auch von Thomas W im Beitrag #7883683:
Günter sagt: Mit 16 war ich wie ein 12-Järiger.
Günter sagt: Das verstehe ich zwar: - Multiplexing braucht weniger Strom; aber nicht das Ganze! - Was ich auch besonders gut von Euch finde ist nicht nur Eure LEISTUNG!! - Sondern, dass ich keine Meckereien sehe! Das ist: Sehr gut! Fortsetzung folgt.
Und nichts davon verstehen. Der Algorithmus ist alles andere als nachvollziehbar oder gar selbsterklärend. Günter, bleib erst mal bei einer einzelnen Ton- oder Anzeigenprogramm. Damit hast du für den Rest von 2025 genug zu tun. Fortsetzung, erstmal das hier:
Ich fragte, in etwa: "Was soll ich da machen?" Thomas W. schrieb im Beitrag #7884921:
DANKE für EURE Aufmerksamkeit!
Was ich sonst noch in dem Zusammenhang tat,
sage ich jetzt schon mal: 2.: Teile für den Aktiv-Lautsprecher. Mal sehen was passiert wenn ich das eingebe, siehe oben. Ob ich das (siehe oben) verstehen werde, weiß ich jetzt noch nicht. Mit lieben Grüßen Günter K. (ENK) Nachtrag: Ich gebe in den PC den OP-CODE ein, dann die MNEMONICS, dann suche ich die vermuteten MARKS raus danach die LABELS; wenn mir auch danach, etwas für den REM einfällt, trage ich auch diese ein und schaue in Deinem Assembler-Programm nach ob da auch noch etwas steht. Falls die LEDs zu hell sind, Oder der Strom über 0,7 A geht, drücke ich RESET.
Du machst alles falsch. ALLES!
Wer sagt, dass ich das nicht können soll? Wolfgang R. hat mir doch so ein ähnliches Programm geschickt, und es hatte funktioniert. - Ob ich es als ein Ganzes verstanden habe, ist eine andere Sache. - Immerhin weiß ich, das die BITs für die Segmente invertiert werden müssen. Wenn man aus einer 3 eine 4 machen will, geht das wie bei einem Streichholz-Rätsel. Es kommt daraf an, wie die 8 Bit, zugordnet sind. Auch wenn das sonst üblich anders ist, muss ich vorher wissen, wie die Anschlüsse liegen, Soetwas lerne ich mir nicht auswendig, es sei denn,
das tue ich aber nicht. Mit lieben Grüßen Günter K. (ENK)
Wer sagt, dass ich das nicht können soll? Wolfgang R. hat mir doch so ein ähnliches Programm geschickt, und es hatte funktioniert. - Ob ich es als ein Ganzes verstanden habe, ist eine andere Sache. - Immerhin weiß ich, das die BITs für die Segmente invertiert werden müssen. Wenn man aus einer 3 eine 4 machen will, geht das wie bei einem Streichholz-Rätsel. Es kommt daraf an, wie die 8 Bit, zugordnet sind. Auch wenn das sonst üblich anders ist, muss ich vorher wissen, wie die Anschlüsse liegen, Soetwas lerne ich mir nicht auswendig, es sei denn,
das tue ich aber nicht. Mit lieben Grüßen Günter K. (ENK)
Mit lieben Grüßen Günter K. (ENK) Zitate ohne eigenen Text und Doppelposts. Geh lieber schlafen. Gute Nacht. Ihr Lieben, an alle. Günter K. schrieb im Beitrag #7885766: von Klaus (feelfree) 03.06.2025 00:28
Bei den 2 Tönen, muss ich die Zeiten einhalten; bei mehreren Schaltern, kann ich die Zeit selber bestimmen. Und was meinst Du mit "uns"? - Wen willst Du "mit" einbeziehen? Meinst Du Dich selber? Mit lieben Grüßen Günter K. (ENK)
Und, hast du auch schon eine Idee mit welchen Befehlen du die Taster abfrägst? An welchen Portpins die Tasten angeschlossen werden? Wie du in deinem Programm die Zuordnung von Taste zu Tonhöhe bewerkstelligst? Nein? Egal, Christoph wird dir den Hexcode liefern, und bis Weihnachten schaffst du es auch ihn fehlerfrei einzutippen. Ihr Lieben,
Und Günter K. antwortet: Hallo Klaus (feelfree) Zu Deiner Frage sage ich: Ja.
Antwort: Ja.
Du meinst: "Wie Du in Deinem Programm, die Zuordnung zur Tonhöhe bewerkstelligst? Antwort: Ja.
Hallo Klaus (feelfree) Hoffendlich - ? - -Moment- bitte, :-) Hallo Christoph M., Bitte schreibe mir noch kein Programm, - dass Du das kannst, glaube ich sowieso. Ein solches Programm werde ich alleine schreiben. Natürlich muss ich noch sehr viel lernen das ist klar. Bin auch nicht sicher, obs mir gelingt, aber ich versuche es. Wie ich mich erinnere, hatte ich das Programm von p.57 so in etwa abgetippt, - das richtige Ergebnis war da; natürlich versuche ich auch es zu verstehen, warum das so ist. Solche Artikel werde ich öfter lesen. Gute Nacht liebe Leute mit lieben Grüßen Günter K. 2114 kreigt man bei aliexpress, hab vor nicht so Lange 10 Stück gekauft. Die funktionieren auch :) Abschrift vom IC: | NEC ROY 218-045 | | IRLAND µPD2114LC | |___________________| Hallo Alejandro P.
sind diese mit den obigen Chips kompatibel? Vielen Dank für Deine Nachricht. Liebe Grüße Günter K. (ENK) Textberichtigung für richtige Farben der richtigen Zuordnung, ich hatte diese nicht vertauscht. Das Folgende passte nicht in den Kontext vom 03.06.2025 00:28
Bis hier ist der noch stehene Text unveändert auf diesem Blatt. Demnach vermute ich das Folgende anders:
Frage an Falk B., war das so? die folgende Zeile hatte keinen LINK hier.
Günter schreibt weiter: Klaus (feelfree) Wenn Du mich damit anspornen willst ist das gut, aber bitte höre auf damit, mir dem Mut rauben zu wollen!
Anfangs wollte ich dich noch anspornen. Und dir helfen. Zum Beispiel mit diesem Beitrag:
NICHTS davon hast Du in den letzten 2 Wochen gemacht. Stattdessen bestellst Du RAMs, Taster und sonstiges Gedöns mit dem Du absolut nichts anfangen wirst. Wenn Du so weitermachst, kommst Du nicht nur nie zum Ziel, sondern nie auch nur einen Millimeter weiter.
Da warst Du doch fast schon auf dem richtigen Weg, aber dann bist Du leider falsch abgebogen. Emulatoren hat man früher mal benutzt, wo die Programme noch in PROM oder OTP gespeichert wurden. Heute benutzt man Simulatoren und Debugger. Allen gemeinsam ist eine komfortable Umgebung, wo man die Programme bequem testen kann. Und damit kann man auch wirklich lernen, was eine CPU bis ins kleinste Detail intern macht. Ob Akku, Flags, Register, Stack, Codesegment, Datensegment, Timer, UART, IO-Pins, alles hat man jederzeit bequem im Blick. Und Laufzeiten (CPU-Zyklen) von Programmteilen kann man sich natürlich auch anzeigen lassen. Dein Spielzeug mit den Tasten und 7-Segment Anzeigen erlaubt dagegen nur einen winzigen Blick durchs Schlüsselloch. Der Großteil läuft im Verborgenen ab. Da würden selbst junge Leute, die noch viel mehr flinke Neuronen als unsereiner haben, bald das Handtuch werfen. Zumindest würde sie schnell die Unsinnigkeit einsehen und sich einfach passendere Umgebungen aus dem Internet laden.
Biting my tongue... biting my tongue... Ich hab's mir vor einigen Tagen geschworen und hier kundgetan: ich werde diesen Thread nicht mehr kommentieren. Aber es fällt verdammt schwer. Der natürliche Masochismus treibt mich allerdings immer wieder dazu, Updates in diesem Thread zu verfolgen - und es zeigt schon Wirkung: mittlerweile schaue ich mir auch Heidi Klum's "Germany's next top model" mit Wonne an ;-)
Ich habe gerade mal getestet, wie lange es dauert, ein allererstes Programm auf einer virtuellen 6502 zu schreiben, zu assemblieren und zu starten: Man gehe auf https://www.masswerk.at/6502/assembler.html und gebe in das src Fenster links oben folgenden Code ein:
Dann drücke man auf die Schaltflache "assemble", anschließend auf "Show in emulator", und dann kann man per "Single Step" Zeile für Zeile durch das Programm schreiten und dabei beobachten, was die Register und Flags so machen. Also das was Günter eigentlich verstehen will, was eine CPU wie die 6502 so macht. Das Ganze hat deutlich unter einer Minute gedauert. Eine Änderung geht in weniger als 10 Sekunden. Günter tippt aber lieber stundenlang Hex-Codes in seinen Junior ein, die er nicht versteht und wenn es nicht funktioniert hat er keine Chance rauszubekommen warum. Kann man so machen. Wenn man sonst alles sinnlose schon gemacht hat in seinem langen Leben.
Gast
#7886164
Hattest Du das Prograemmchen eingetippert? Und hattest Du das Ergebnis 0x0a bekommen?
Gast
#7886166
Ich haette in den 80'er gemordet fuer einen In-circuit-Debugger (heute fuer einen 10'er) Vor allen Dingen wo die 6502 extrem dokumentiert ist, bei der 6502 z.B. mit dem Assembler/Simulator bei masswerk.at, der Visuelle Simulator bei http://www.visual6502.org/, Buecher (einfach mal bei https://archive.org/search?query=6502 gucken, die haben mehr Buecher als ich). Und zum Anfassen: https://monster6502.com/ Und eine Sache muss man auch sehen: Wenn man Technologie der Disco-Zeit verwenden will, muss man auch Werkzeuge der Disco-Zeit benutzen. Und das ist manchmal sehr sehr muehsam. Ich habe ein paar Vaxes hier zu stehen, betreiben ist bei den aktuellen Strompreis keine richtige Option mehr. Der C-Compiler (Stand: 1990) ist natuerlich alt, Fortran 77 ist das hoechste der Gefuehle. Die Entwicklungssystem waren 1990 toll, heute inakzeptabel antik. Das groesste Problem ist aber dass das Fachwissen ausstirbt (im woertlichen Sinn).
Für wen ist es ein Problem, dass heute keiner mehr weiß, wie eine PDP11 oder VAX funktioniert?
Ja, ich weiß wie das gemeint ist, also wirklich wenig. Ja, ich habe letzten quasi einen 6510: "von innen gesehen", und den konnte man sogar, "in Betrieb" sehen; Natürlich nur chematisch (aber wie wirklich) auf dem Bidschirm. - Also was es da zu sehen gibt, ist viel zu viel. Viele, viele Transitoren und interne "Leiterbahnen" Pastel-Farben, latend farblich unterschieden. Ein großes Erlebnis, war das allemal! - Sogar die Anschlüsse konnte man ansprechen, nur verstehen kann man das nicht. Also ich könnte mir vorstellen, das ein hochinteligenter -nur- darauf, speziell seinen Doktor oder Professor macht. - Ich selber aber, bin sogar unterschult, in gewisserweise aus Schiksalsgründen. - Und dennoch, ich kann zwar kein Englisch oder viel zu wenig. Aber einige Fachwörter sind nun mal nötig. Es ist aber wichtig, was der Computer bzw. CPU und Controller macht. Doch ich las: Thomas W. schrieb im Beitrag #7886166:
Wir brauchen überhaupt Leute, die, den Menschen überhaupt eine funktionsfähige Sprache für Menschen gibt. Das ist nicht verwirrt! - Aber eine solche Sprache, gibt es noch gar nicht, und auch keine Menschen, die uns das beibringen. -Aber für die Zukunft brauchen wir das!- Ich wiederhole: Es gibt keine Menschliche Sprache die funktionell funktioniert, außer die Programmiersprachen für Maschinen, wie Assembler und höhere Programmiersprachen. Wir Menschen sollten das aber auch für den Alltag bekommen. Und ich könnte mir vorstellen, das diese Menchen aus dem Informatik-Bereich kommen. Das ist gleichsam Philosophie, Wissenschalft, Religion u. Politik. Vor kurzem (der letzten Zeit) wusste ich noch nicht mal, dass Assembler einen Compiler braucht. Programmier Hochsprachen sind mir dadurch zu hoch, weil sie so weit, von der Maschinen-Materie weg ist. Ich bin nicht verwirrt, auch wenn es durch meine Ausdrucksweise so erscheint. Übrigens der IBM 360/20 arbeitete schon stellenweise mit 64 BIT als interne 'Register'. Von mir hochgelobt ist der schon leider verstorbene Wolfgang Back und ebenso der Professor Joseph Weizenbaum! Er schrieb das Buch: Computermacht und Gesellschaft. Der PET hatte nur 8K; den hatte ich erweitert auf 32K usw.. Liebe Grüße Günter K. (ENK) PS.: Bitte helft mir, auf der untersten Ebene Maschinentechnisch am Ball (zu kommen und) bleiben.
5 Beiträge weiter oben habe ich ein Programm mit sage und schreibe drei Anweisungen gepostet und eine Anleitung dazu, wie du dieses Ausführen kannst. Mach einfach und frag nach, wenn du was nicht hinbekommst oder nicht verstehst. Hallo liebe Leute, hallo lieber Klaus Klaus schrieb im Beitrag #7886207:
Ok. Dankeschön! Mit lieben Grüßen Günter K. (ENK) Ich glaube, die ganze Diskussion ist eine Neuinterpretation von HURZ. https://www.youtube.com/watch?v=MJ7jbQJXF68 Schönen Tag euch allen!
Hallo Thomas W., hallo Leute, bitte was sind Vaxes? Mit lieben Grüßen Günter K. (ENK)
Gast
#7886885
https://blog.hnf.de/das-zeitalter-der-vax/ Am Ende des Beitrags sind die VaxStation 3100 und 4000 (unter dem Monitor), so etwas habe ich hier stehen. Eine MicroVax II (im Space-heater-Cabinet) habe ich auch noch. Bitte keine Sinn-Frage.
(... glaube fast, mich an 0x0A zu erinnern, vielleicht anders modifiziert) Hallo Thomas W. leider nein. Auf 0x00F3, also im Akku, habe ich: 0x42. Ich weiß aber, dass der Rechner richtig rechnet. In verschiedene Variationen vom Addiern, Subtrahieren, auch logisch über die ALU. Immer kam das richtige Ergebnis heraus; auch die dezimale Addition funktioniert. Wenn ich die Speicherbausteine ausgetauscht habe, oder sonstige, probiere ich es nochmal aus. Es liegt nicht am Akku, denn in anderen Fällen stand dort das richtige Ergebnis. Ich wollte doch, nochmal beantworten, Danke für Deine anderen Informationen. Mit lieben Grüßen Günter K. (ENK)
Da ist sie ja, die Antwort auf alle Fragen. Besser kann es gar nicht mehr werden. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|