Forum: Mikrocontroller und Digitale Elektronik Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?


von Jörg R. (solar77)


Lesenswert?

Zum Thema habe ich nichts beizutragen, aber der 1000te Kommentar in 
diesem Thread ist meiner😀🎇🎆

von Klaus F. (klaus27f)


Lesenswert?

Jörg R. schrieb:
> Zum Thema habe ich nichts beizutragen, aber der 1000te Kommentar in
> diesem Thread ist meiner😀🎇🎆


Ja,
irre hier

von Günter K. (enk)


Lesenswert?

Arduino F. (Firma: Gast) (arduinof) 04.06.2025 22:49 antwortete gut.
 WIKIPEDIA antworte: "Dieser Artikel existiert nicht.".
Dankeschön für Deine Antwort!

von Klaus (feelfree) 05.06.2025 01:17
Günter K. schrieb angeblich:
> 0x42
Nein, - ich habe mehr dazu geschrieben und erklärt.
Bitte lese und schreibe bitte richtig.
Bitte -keine- Sticheleien mehr!
Mit lieben Grüßen
Günter K.

von Cyblord -. (cyblord)


Lesenswert?

Willst du nicht vielleicht auch mal die Zitatfunktion korrekt nutzen? So 
um geistig fit zu bleiben z.B.

von Klaus (feelfree)


Lesenswert?

Günter K. schrieb:
> Bitte lese und schreibe bitte richtig.

Das sagt genau der Richtige. Kam von dir schon ein einziger Beitrag mit 
korrekten Zitaten?

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Günter K. schrieb:
> Arduino F. (Firma: Gast) (arduinof) 04.06.2025 22:49 antwortete
> gut.
>  WIKIPEDIA antworte: "Dieser Artikel existiert nicht.".
> Dankeschön für Deine Antwort!
Wenn du vernünftig zitieren würdest, könnte ich auch einen korrigierten 
Link schicken, aber so weiß ich nicht welchen Beitrag/Link du meinst du 
meinst.

von Günter K. (enk)


Lesenswert?

Arduino F. schrieb:
> Wenn du vernünftig zitieren würdest, könnte ich auch einen korrigierten
> Link schicken, aber so weiß ich nicht welchen Beitrag/Link du meinst du
> meinst.

Lieber Arduino F.
Du antwortestest, ja schon richtig auf den LINK:

An Thomas W. schrieb ich im Beitrag #7886885:
>> bitte was sind Vaxes?
warum soll ich das wiederholen?
Ich hätte diese Frage ja nicht gestellt, wenn ich es gefunden hätte.

Liebe Grüße
Günter K.
(ENK)

von Peter D. (peda)


Lesenswert?

Cyblord -. schrieb:
> Willst du nicht vielleicht auch mal die Zitatfunktion korrekt nutzen?

Ja, das stört schon sehr, wenn jemand beim Zitat die zitierte URL immer 
extra rauslöscht.
Dann muß man erst umständlich suchen, woher das Zitat stammt.

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Auf die VAX Frage hab ich dir einen Link geschickt!
Der Link funktioniert.

Arduino F. schrieb:
> Günter K. schrieb:
>> bitte was sind Vaxes?
> https://de.wikipedia.org/wiki/Virtual_Address_eXtension

Also:
Was willst du von mir?

von Gunnar F. (gufi36)


Lesenswert?

Cyblord -. schrieb:
> bleiben

bleiben?

von Cyblord -. (cyblord)


Lesenswert?

Gunnar F. schrieb:
> Cyblord -. schrieb:
>> bleiben
>
> bleiben?

Das habe ich so formuliert da ich ein netter und positiver Mensch bin...

von J. T. (chaoskind)


Lesenswert?

Cyblord -. schrieb:
> Das habe ich so formuliert da ich ein netter und positiver Mensch bin...

Um auch mal positiv zu formulieren: in deiner Selbstwahrnehmung steckt 
großes Potential. Zur Verbesserung.

von Gunnar F. (gufi36)


Lesenswert?

Wo ist Günter? Aufgehängt in einer Endlosschleife oder war mit 1000 
Beiträgen sein Ziel erreicht?

von Günter K. (enk)


Lesenswert?

Gunnar F. schrieb:
> Wo ist Günter? Aufgehängt ... Ziel erreicht?
:-)))
Ich wünsche Euch allen frohe und gesgnete Pfingsten!

Zunächst hänge ich noch etwas über die Bücher.
Alles Gute
Günter K.
(ENK)
:-)

von Cartman E. (cartmaneric)


Lesenswert?

Günter K. schrieb:
 > Zunächst hänge ich noch etwas über die Bücher.

Eine Lampe?

von Günter K. (enk)


Lesenswert?

Cyblord -. schrieb:      am 31.05.2025 um 17:16

Cyblord -. schrieb:
> ... dass beim TE kein Licht brennt.

:-)))   Doch bei mir brennt Licht, sonst säße ich jetzt im Dunkeln.
        Ich versuche gerade die Zuordnung der zugehörigen Bitmuster
        für die 7-Segment-Anzeige heraus zu bekommen.

Es ist klar, wenn ich einfach die Zahlen abschreibe kommt das Richtige 
heraus. Zwar sehe ich, dass die Bitplätze die eine NULL tragen, das 
Segment
einschalten. Der Punkt müsste BIT 7 sein.  Nach dem JC-II-Buch, geht es 
vom
oberen Querbalken im Uhrzeigersinn weiter und in der Mitte ist dann BIT 
6.
Von der Zahlenmäßigen Reihe, muss man 1 abziehen, um den Bit-Platz zu 
haben.
Ich probiere die "9" zB.: 7654 3210, Dann ist BIT 7 der PUNKT.
                          1001 0000  BIT 6 der mittlere Querbalken.
                                und  BIT 5 oben links, und
                               0123  liegen Kreis. Bit 4 = 1 also aus.
Danke für die Idee der Aufgabe. Man hat inzwischen auch schon Buchstaben 
ausgetüftelt. :-)
Noch weiterhin frohe Pfingstzeit
Günter K.
(ENK)

: Bearbeitet durch User
von Thomas W. (Gast)


Lesenswert?

Guenter, -

finde ich aber gut, dass Du mit Deiner "Sturheit" solange durchgehalten 
hast (angefangen war das alles im Okt.24). Schoen.

Ich muss auch gestehen: Ich habe in den letzten drei Monaten haeufiger 
in die Junior-Computer-Buecher nachgeschlagen als in den letzten 35 
Jahren :-)

Mein aktuelles Bastelprojekt ist ein ESP32C6, ein 32-bit-RISC-Prozessor 
mit 512Kb RAM (Du hast ein ganzes kB), Clockrate von 160MHz (Du hast ein 
ganzes Megahertz), kostet 5EUR. Es ist schon unglaublich, was in den 
letzten 40 Jahren an Fortschritt in der Composterei passiert ist.

Weiter machen!

von Günter K. (enk)


Lesenswert?

Thomas W. schrieb: Am 09.06.2025
> Guenter, -

Thomas W. schrieb:
> Es ist schon unglaublich, was in den
> letzten 40 Jahren an Fortschritt in der Composterei passiert ist.
>
> Weiter machen!

DANKESCHÖN!
Liebe Grüße
Günter K.
(ENK)

von Günter K. (enk)


Lesenswert?

Günter K. schrieb:
> Lieber Arduino F.
> Du antwortestest, ja schon richtig auf den LINK:
Hiermit bedanke ich mich noch mal, das hattest Du ja wirklich gut 
gemacht,
und ich will in -diesem Falle- nichts mehr von Dir.
Ich wünsche Dir noch weiterhin viel Erfolg
bei Deinen Projekten.
Liebe Grüße
Günter K.
(ENK)
:-)

PS.:
Wenn irgendwo, andere was löschen,
kann ich nachträglich nicht ändern,
und kann es auch nicht überschauen,
Entschuldige bitte, wenn das passiert.

von Jobst M. (jobstens-de)


Lesenswert?

Thomas W. schrieb:
> ein 32-bit-RISC-Prozessor
> mit 512Kb RAM (Du hast ein ganzes kB), Clockrate von 160MHz (Du hast ein
> ganzes Megahertz), kostet 5EUR. Es ist schon unglaublich, was in den
> letzten 40 Jahren an Fortschritt in der Composterei passiert ist.

Jo. Aber ein Prozessorsystem (kein µC), was der TO ja benutzt, hatte die 
von Dir genannten Daten schon vor 30 Jahren. Kostete damals allerdings 
mehr. So ein 6502 zu seiner Zeit aber auch.

Gruß
Jobst

von Peter D. (peda)


Lesenswert?

Günter K. schrieb:
> Ich versuche gerade die Zuordnung der zugehörigen Bitmuster
>         für die 7-Segment-Anzeige heraus zu bekommen.

Der Profi schreibt sich die Zuordnung in eine Include-Datei und läßt 
dann den Compiler die magischen Nummern ausrechnen:
1
#define DIG3    0b00000001                            // digit order
2
#define DIG2    0b00100000
3
#define DIG1    0b00000010
4
#define DIG0    0b01000000
5
6
#define _A      0b00010000                            // segment order
7
#define _B      0b00000001
8
#define _C      0b00100000
9
#define _D      0b00001000
10
#define _E      0b00000100
11
#define _F      0b01000000
12
#define _G      0b10000000
13
#define _DP     0b00000010                            // decimal point
14
15
#define _0      ( _A+_B+_C+_D+_E+_F    )              // number pattern
16
#define _1      (    _B+_C             )
17
#define _2      ( _A+_B+   _D+_E+   _G )
18
#define _3      ( _A+_B+_C+_D+      _G )
19
#define _4      (    _B+_C+      _F+_G )
20
#define _5      ( _A+   _C+_D+   _F+_G )
21
#define _6      ( _A+   _C+_D+_E+_F+_G )
22
#define _7      ( _A+_B+_C             )
23
#define _8      ( _A+_B+_C+_D+_E+_F+_G )
24
#define _9      ( _A+_B+_C+_D   +_F+_G )
25
#define _BLANK  ( 0                    )
26
#define _MINUS  (                   _G )

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Der Profi sollte "|" nehmen und nicht "+", auch wenns hier keinen 
Unterschied im Ergebnis macht.

scnr,
WK

von Karl B. (gustav)


Lesenswert?

Und der Profi baut noch ein Bit ein für Invertierung "gemeinsame 
Katode", "gemeinsame Anode".

ciao
gustav

von Peter D. (peda)


Lesenswert?

Karl B. schrieb:
> Und der Profi baut noch ein Bit ein für Invertierung "gemeinsame
> Katode", "gemeinsame Anode".

Da hast Du natürlich recht. Ich wollts bloß nicht gleich zu kompliziert 
machen.
1
//#define INVERT                                        // for common cathode
2
#ifndef INVERT
3
#define INVERT  (uint8_t) ~                           // for common anode
4
#endif
5
6
#define DIG3    0b00000001                            // digit order
7
#define DIG2    0b00100000
8
#define DIG1    0b00000010
9
#define DIG0    0b01000000
10
11
#define _A      0b00010000                            // segment order
12
#define _B      0b00000001
13
#define _C      0b00100000
14
#define _D      0b00001000
15
#define _E      0b00000100
16
#define _F      0b01000000
17
#define _G      0b10000000
18
#define _DP     0b00000010                            // decimal point
19
20
#define _0      INVERT( _A+_B+_C+_D+_E+_F    )        // number pattern
21
#define _1      INVERT(    _B+_C             )
22
#define _2      INVERT( _A+_B+   _D+_E+   _G )
23
#define _3      INVERT( _A+_B+_C+_D+      _G )
24
#define _4      INVERT(    _B+_C+      _F+_G )
25
#define _5      INVERT( _A+   _C+_D+   _F+_G )
26
#define _6      INVERT( _A+   _C+_D+_E+_F+_G )
27
#define _7      INVERT( _A+_B+_C             )
28
#define _8      INVERT( _A+_B+_C+_D+_E+_F+_G )
29
#define _9      INVERT( _A+_B+_C+_D   +_F+_G )
30
#define _BLANK  INVERT( 0                    )
31
#define _MINUS  INVERT(                   _G )

von Falk B. (falk)


Lesenswert?

Peter D. schrieb:
> Da hast Du natürlich recht. Ich wollts bloß nicht gleich zu kompliziert
> machen.

Perlen vor die Säue . . .

von J. T. (chaoskind)


Lesenswert?

Falk B. schrieb:
> Perlen vor die Säue . . .

Aber doch noch wichtig genug, dich zu einem "Perlen vor die 
Säue"-Kommentar veranlasst zu sehen.

von Klaus (feelfree)


Lesenswert?

Peter D. schrieb:
> #define

Ist das gängige Assembler-Syntax?
Wenn nein, werdet ihr damit den Günter heillos überfodern.
Der weigert sich ja sogar seine Programme in Assembler-Memnonics zu 
schreiben, sondern besteht nach wie vor auf OP-Codes.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Klaus schrieb:
> Ist das gängige Assembler-Syntax?

Das ist die Syntax des C-Präprozessors. Man kann aber den C-Compiler 
anweisen, nur den Präprozessor laufen zu lassen und dann das Outputfile 
einem Assembler vorsetzen. Der Präprozessor ist also nicht auf bestimmte 
Textdateien beschränkt.
Nur wenn der Assembler ebenfalls eine Syntax mit # am Zeilenanfang 
hätte, dann kracht es.

https://de.wikipedia.org/wiki/C-Pr%C3%A4prozessor

von Peter D. (peda)


Lesenswert?

Klaus schrieb:
> Wenn nein, werdet ihr damit den Günter heillos überfodern.

Er ist mit jedem Ansatz überfordert, eine zeitgerechte 
Programmierumgebung an einem PC zu benutzen.
Das war auch nur als Demonstration gedacht, wie man sich die Arbeit 
erleichtern könnte.

In den Anfängen der Platinenfertigung wurde jede einzelne Bohrung 
gezählt, d.h. Vias kosteten bares Geld. Da war es dann sinnvoll, wenn 
man sich kreuzende Leitungen minimieren konnte. Daher das scheinbare 
Durcheinander der Definitionen.
Dem Compiler ist es ja herzlich wurscht, welches Byte er für welche 
Ziffer ausgeben soll. Die Codegröße bleibt immer gleich.

von Christoph M. (mchris)


Lesenswert?

Sicher kennt sich jemand sehr gut mit Excel und VBA aus: Ihr könntet 
einen einfachen Excel-Assembler bauen. Für ein paar wenige Befehle ist 
das sicherlich einfach.

von Thomas W. (Gast)


Lesenswert?

Gucke mal, im Markt verkauft Lutz DDR-Nachbauten fuer den 2114-RAM.

Beitrag "[V] Verkaufe verschiedene ICs, teilweise DDR"

von Falk B. (falk)


Lesenswert?

Christoph M. schrieb:
> Sicher kennt sich jemand sehr gut mit Excel und VBA aus: Ihr könntet
> einen einfachen Excel-Assembler bauen. Für ein paar wenige Befehle ist
> das sicherlich einfach.

Ich hab noch ein Nudelholz in der Schublade . . .

von Günter K. (enk)


Lesenswert?

Christoph M. schrieb:
> Sicher kennt sich jemand sehr gut mit Excel und VBA aus: ...
Finde ich wirklich gut, ehrlich.

Nur möchte letztendlich ein einfacher Informatiker
den Text in einer Editor-Datei stehen haben.
Und dieser Text funktioniert dann auch, auf modernen Compiler.
Leider weiß ich noch nicht, wie ein Compiler funktioniert.

Wichtig ist aber, die Übersicht zu behalten.

Falk B. schrieb:
> Ich hab noch ein Nudelholz in der Schublade . .

Oh, was hab' ich gelacht :-)))

Ich muss mich noch einlesen.
Letztendlich soll es ja, um einen einfachen Computer gehen.

Eben bin ich von Bekannten eingeladen worden,
Da muss ich gleich hinfahren.
Liebe Grüße
Günter K.
(ENK)

PS.:
Der CBM, war zu seiner Zeit, schon enorm,
es war ja nur ein Anfang.

von Günter K. (enk)


Lesenswert?

Hallo liebe Leute,

-...- Moment, ich weiß, INFORMATIK ist nicht einfach!
Und ich, bin kein Informatiker.

Das nächste Progrämmchen, steht zum Eintippen bereit.
Ich habe es absichtlich kleiner gelassen; muss aber
noch etwars Hardware zusammenlöten.
Es ist für 6 Töne, die (noch) nicht
automatisch laufen.
Liebe Grüße
Günter K.
(ENK)

von Klaus (feelfree)


Lesenswert?

Günter K. schrieb:
> Das nächste Progrämmchen, steht zum Eintippen bereit.
> Ich habe es absichtlich kleiner gelassen; muss aber
> noch etwars Hardware zusammenlöten.
> Es ist für 6 Töne, die (noch) nicht
> automatisch laufen.

Dann zeig es doch schonmal hier, wir sagen dir dann schon, was alles 
nicht funktionieren wird.

von Thilo L. (bc107)


Lesenswert?

Günter K. schrieb:
> -...- Moment, ich weiß, INFORMATIK ist nicht einfach!
> Und ich, bin kein Informatiker.
>
> Das nächste Progrämmchen, steht zum Eintippen bereit.
> Ich habe es absichtlich kleiner gelassen; muss aber
> noch etwars Hardware zusammenlöten.
> Es ist für 6 Töne, die (noch) nicht
> automatisch laufen.
> Liebe Grüße
> Günter K.
> (ENK)

Vielleicht kann man ihn im Heinz-Nixdorf-Museum hinter Glas ausstellen. 
Vorne steht dann auf der Tafel
"Kein Informatiker.
Die 6 Töne, die Sie (noch) nicht hören, werden von einem absichtlich 
kleiner gelassenen Program erzeugt."

von Klaus F. (klaus27f)


Angehängte Dateien:

Lesenswert?

Christoph M. schrieb:
> Sicher kennt sich jemand sehr gut mit Excel und VBA aus: Ihr könntet
> einen einfachen Excel-Assembler bauen. Für ein paar wenige Befehle ist
> das sicherlich einfach.

Voila

Ist allerdings auf 256 Zeilen begrenzt...

von Christoph M. (mchris)


Angehängte Dateien:

Lesenswert?

Klaus F. (klaus27f)
11.06.2025 15:57
>Voila
>Ist allerdings auf 256 Zeilen begrenzt...
Hmm .. Libre Office macht Komisches ..
Vielleicht geht es ja mit Windows-Excel?
Günter, probiere es mal.

von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

Christoph M. schrieb:
> Hmm .. Libre Office macht Komisches ..
> Vielleicht geht es ja mit Windows-Excel?

Du hast dich schon verarschen lassen :-))))))
Versuch mal deine rosarote Brille abzusetzen . . .

von Günter K. (enk)


Lesenswert?

Hallo Christoph M. und alle!

> Hmm .. Libre Office macht Komisches ..
> Vielleicht geht es ja mit Windows-Excel?

Hallo Christoph M.
ich finde, Deine Leistungen sind sehr gut!
Und ich finde es schon ENORM, sofort ein Programm zu schreiben,
das sofort funktioniert!

Irgendlemand schrieb so in etwa, an Christoph M.
"... Du bist unserer Zeit voraus!"
Das glaube ich auch!



Christoph M. schrieb:
>> Aber ich gehe davon aus, dass es relativ mühselig ist, mehr als 255
>> Bytes über die HEX-Tastatur des Junior-Computers einzutippen und ich
>> vermute, dass nach Ausschalten des Stromes auch alle Daten weg sind.

Günter schrieb:
>  ___________________
> |  NEC ROY 218-045  |
> | IRLAND µPD2114LC  |
> |___________________|
besorge ich vielleicht noch heute.
ob man vielleicht noch EE-RAMs oder EE-ROMs bekommen kann?

Später, wird ein Fernschreiber-Programm kommen,
auf dem Wege, kann ich dann Daten speichern.
Übrigens, damals wurden auch Huckepack-RAMs gebaut.
Auf dem Wege, kann man auch speichern.
Liebe Grüße
Günter K.
(ENK)

: Bearbeitet durch User
von Günter K. (enk)


Lesenswert?

Hallo liebe Leute,

Peter D. schrieb:
> Karl B. schrieb:
>> Und der Profi baut noch ein Bit ein für Invertierung "gemeinsame
>> Katode", "gemeinsame Anode".

Das verstehe ich nicht, denn wenn man direkt invertiert eingibt,
braucht man ja nicht mehr zu invertieren, - oder?
Die Kathode oder Anode sind einfach angeschlossen wie sie sind;
das ist für das Programm selbst uninteressant, höchstens
im REM-Bereich als Hinweis, wie sie hardwaremäßig angeschlossen sind.
Mit lieben Grüßen
Günter K.
(ENK)

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Günter K. schrieb:
> im REM-Bereich als Hinweis, wie sie hardwaremäßig angeschlossen sind.

Das machst Du mit Software einfacher, als LED-Anzeigen auszutauschen.
Sonst kommt sowas raus wie im Bild.

ciao
gustav

von Christoph M. (mchris)


Lesenswert?

Christoph M. schrieb:
> Hmm .. Libre Office macht Komisches ..
> Vielleicht geht es ja mit Windows-Excel?

Falk schrieb:
>>Du hast dich schon verarschen lassen :-))))))

Vielleicht hat Klaus auch einfach das falsche File gepostet.

Tatsächlich gibt es schon einen Excel Assembler:
https://github.com/tilleul/apple2/tree/master/tools/6502_assembler

von Rbx (rcx)


Lesenswert?

Günter K. schrieb:
> Leider weiß ich noch nicht, wie ein Compiler funktioniert.

Nenn ihn doch einfach Übersetzer.

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Angehängte Dateien:

Lesenswert?

Vielleicht hilft es was, vielleicht auch nicht: die Memory Map von 
Junior und Interfacekarte.

Die steht vollständig in keinem der Bücher drin, das muss man sich 
mühsam zusammensuchen!

: Bearbeitet durch User
von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

Günter K. schrieb:
> Das verstehe ich nicht, denn wenn man direkt invertiert eingibt,
> braucht man ja nicht mehr zu invertieren, - oder?
> Die Kathode oder Anode sind einfach angeschlossen wie sie sind;

Wenn du nur ein einziges fertiges Gerät hast, dann ist das mit der 
Invertierung egal - du programmierst das dann einfach "richtig".

Wenn du vorher nicht weißt, ob deine Anzeigen gemeinsame Anode oder 
Kathode haben, dann kannst du die Programmierung flexibel gestalten.

von Falk B. (falk)


Lesenswert?

Wolfgang R. schrieb:
> Vielleicht hilft es was, vielleicht auch nicht: die Memory Map von
> Junior und Interfacekarte.
>
> Die steht vollständig in keinem der Bücher drin, das muss man sich
> mühsam zusammensuchen!

Naja. Binäre Adressen braucht keiner, das stiftet mehr Verwirrung als 
alles andere. Teilweise gilt das auch für die Adressen von VIA und 
EPROM. Denn die Adressen A13-A15 werden nirgends dekodiert. Der IC 6 
dekodiert nur A10-A12, sprich 1kB Blöcke. Das sollte man auch so 
darstellen. D.h. auch, daß die 8x1kB auf den vollen Adressraum 8x 
gespiegelt sind. Das braucht man aber nur für die obersten drei Worte im 
EPROM für die IRQ/NMI/RESET Vektoren.

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

Falk B. schrieb:
> Naja. Binäre Adressen braucht keiner, das stiftet mehr Verwirrung als
> alles andere.

Deinen Beitrag hier auch nicht - mach's doch besser.

von Falk B. (falk)


Lesenswert?

Wolfgang R. schrieb:
>> Naja. Binäre Adressen braucht keiner, das stiftet mehr Verwirrung als
>> alles andere.
>
> Deinen Beitrag hier auch nicht - mach's doch besser.

Du bist sehr erwachsen, wie man an deinem Beitrag erkennt. Kleiner Tip.

https://de.wikipedia.org/wiki/Kritikkompetenz#Passive_Kritikkompetenz

von Klaus (feelfree)


Lesenswert?

> Günter K. schrieb:
>> Leider weiß ich noch nicht, wie ein Compiler funktioniert.

Warum willst Du wissen, wie so ein Memnonics-nach-Opcode-Übersetzer (das 
Ding nennt man einfach Assembler) funktioniert?
Benutze ihn doch einfach!

Wie hundert mal geschrieben:
1. Gehe zu https://www.masswerk.at/6502/assembler.html
2. Gebe in das Fenster src oben links deine Memnonics ein. Zum Beispiel 
"nop"
3. Drücke auf die Schaltfläche "assemble"
4. Im Fenster rechts erscheint der Hex-Code.

Einfacher geht es nicht. Aber selbst dieses Super-Einfache hast Du noch 
nie ausprobiert, und willst lieber untaugliche Hardware basteln und RAMs 
austauschen, die Du defekt wähnst. So kommst Du nie weiter.
Aber das willst Du wohl auch gar nicht.

Edit, nochmal nachgedacht:
Eigentlich ist es vollkommen egal was Du machst, Du wirst eh keinen 
Erfolg haben. Also weitermachen! RAM bestellen! Schalter löten!
Und immer hier mitteilen, dass jemand zu Besuch kommt oder Du jetzt 
gleich einkaufen gehst!

: Bearbeitet durch User
von Günter K. (enk)


Lesenswert?

> Karl B. schrieb: am 12.06.2025 um 10:54

> Das machst Du mit Software einfacher, als LED-Anzeigen auszutauschen.
> Sonst kommt sowas raus wie im Bild.
> ciao gustav
Siehe oben.
Dankeschön Dir auch!
Also, greift hardwaremäßige Software für den Fall auf die Hardware zu, -
und verändert entspechend die Harware, damit die Software und Hardware 
stimmt.  - Wolfgang R. schrieb noch was:

Wolfgang R. schrieb im Beitrag #7891206 vom 12.06.2025 13:40 noch dazu:
> von Wolfgang R. (Firma: www.wolfgangrobel.de)
Wolfgang R. schrieb noch zu weiteren Angaben, die ich auch ernst nehme:
> ... Wenn du vorher nicht weißt, ob deine Anzeigen gemeinsame Anode oder
> Kathode haben, dann kannst du die Programmierung flexibel gestalten.

Ja lieber Wolfgang, ich erinnere mich, Du hattest mir ja schon fertige 
Dateien geschickt, die haben alle funktioniert. Es waren schon einige
Zeichen auf dem Display. Dankeschön!
Und wenn ich mal alles fertig habe, die Teile habe ich leider noch 
nicht;
wenn man bedenkt, das der CBM ja schon so vieles konnte.
Dankeschön an Alle!
Mit lieben Grüßen
Günter K.
(ENK)

von Günter K. (enk)


Lesenswert?

Klaus schrieb:
> Wie hundert mal geschrieben:
> 1. Gehe zu https://www.masswerk.at/6502/assembler.html
> 2. Gebe in das Fenster src oben links deine Memnonics ein. Zum Beispiel
> "nop"
> 3. Drücke auf die Schaltfläche "assemble"
> 4. Im Fenster rechts erscheint der Hex-Code.
Günter schreibt: Ja, auch das, werde ich noch machen.

Klaus schrieb:
> ... Und immer hier mitteilen, dass jemand zu Besuch kommt oder Du jetzt
> gleich einkaufen gehst!

Nun ja, zum wissen, dass ich nicht -nur- am Rechner sitze. :-)
Liebe Grüße
Günter K.
(ENK)

von Thilo L. (bc107)


Lesenswert?

Günter K. schrieb:
> Also, greift hardwaremäßige Software für den Fall auf die Hardware zu, -
> und verändert entspechend die Harware, damit die Software und Hardware
> stimmt.

Genau solche Aussagen sind der Grund, warum ich trotz des mir selbst 
gegebenen Versprechens, hierzu die Klappe zu halten, doch immer wieder 
vorbei schaue. Ich kann es einfach nicht glauben, dass die bisherigen 
Aussagen Günters nicht immer wieder noch getoppt werden können. Doch, 
kann er. QED. Es ist der helle Wahnsinn, was hier abgeht...

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Günter K. schrieb:
> Also, greift hardwaremäßige Software für den Fall auf die Hardware zu, -
> und verändert entspechend die Harware, damit die Software und Hardware
> stimmt.

Ich habe min. 10 Minuten versucht diesen Wortsalat zu verstehen.
Leider keinen Erfolg.

von Falk B. (falk)


Lesenswert?

Thilo L. schrieb:
> QED. Es ist der helle Wahnsinn, was hier abgeht...

Nein. Dir fehlen nur ein paar medizinische Grundlagen in Neurologie und 
Psychiologie.

Beitrag "Re: Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?"
Beitrag "Re: Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?"
Beitrag "Re: Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?"

Such dir die schönste Interpretation aus.

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

Arduino F. schrieb:
> Günter K. schrieb:
>> Also, greift hardwaremäßige Software für den Fall auf die Hardware zu, -
>> und verändert entspechend die Harware, damit die Software und Hardware
>> stimmt.
>
> Ich habe min. 10 Minuten versucht diesen Wortsalat zu verstehen.
> Leider keinen Erfolg.

Ich finde es jetzt nicht schwer zu verstehen, auch wenn es 
missverständlich ausgedrückt ist:

Es greift also eine hardware-spezifische Software auf die Hardware zu 
und passt sich so der Hardware an, dass sowohl Hard- als auch Software 
zusammenpassen.

Wenn man es verstehen will, dann kann man das schon...

von Rbx (rcx)


Lesenswert?

Meine Güte, Software ist einfach ein Hausmeister in einem großen leeren 
Hochhaus, der mit einem Plan abends da reingeht, und je nach Plan die 
verschiedenen Lichter in dem Stockwerk anmacht.
Der Plan, könnte man noch spitzfindig sagen, wäre erstmal der Boot-Code.

So rein theoretisch könnte man noch ein paar Wikipediaartikel ansehen, 
z.B.:
https://de.wikipedia.org/wiki/Von-Neumann-Architektur
https://de.wikipedia.org/wiki/Harvard-Architektur

Ein Zeiger wäre übrigens ein Lehrling, der vom Hausmeister gezeigt 
bekommt, wo er auf dem Plan hinrennen, und Lichter anschalten soll. ;)

Übrigens, gibt es hier und da sehr gute didaktisch aufgebaute 
Programmierlehrgänge, da könnte man im wahrsten Sinne learning by doing 
praktizieren.

von Thilo L. (bc107)


Lesenswert?

Rbx schrieb:
> Meine Güte, Software ist einfach ein Hausmeister

Soso. Und ein NOP ist dann ein Hausmeister in Staatsdiensten???

Wie mein alter Mentor einst dreideutig sagte: "Comparisons are as bad as 
clichés."

: Bearbeitet durch User
von Rbx (rcx)


Lesenswert?

Thilo L. schrieb:
> Soso. Und ein NOP ist dann ein Hausmeister in Staatsdiensten???

Ne, eine Zigarettenpause

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Hier der Grund, wieso es nur um "ein" Bit ging.
"...By logic level at the input S you can change the polarity of the 
segment outputs accordingly to the displays with common anode or 
cathode. Logical One for common anode displays, logical Zero for common 
cathode displays..."
Der BCD-Decoder-7-Segmenttreiber hat schon die Auswahlmöglichkeit.
K176IE3 und entsprechend für den 4056 über Logikpegel an einem Pin.
Wird jedoch über das Programm selbst bereits eine Ansteuerung der 
Siebensegmentanzeigen vorgenommen, müssen zwei Varianten vorhanden sein.
Der entsprechende "Auswahl"-Programmabschnitt enthält dann die 
sogenannte "Invertierung". Welche Variante man nimmt, hängt vom 
tatsächlich verwendeten Display ab. Man ist also in der Auswahl der 
Anzeigetypen recht flexibel. Wobei der K176IE3 nur LEDs oder VFD 
ansteuern kann, der 4056 sogar LCD. Und da wird es schon ein wenig 
komplizierter.

Beide braucht man aber nicht bei entsprechendem Programm, weil dies das 
schon von Hause aus kann, ohne die Umwege über externe BCD-Zähler und 
Decodier-Treiber.

Ein Programm ändert nicht die Hardware, nein, es ändert nur die 
Ansteuerung derselben. Man kann beides abwechselnd versuchen. Dann 
erhält man eben gegebenenfalls "Hieroglyphen".
Schöner Partygag. Man drückt einen Knopf und schon sind keine Ziffern, 
sondern unbekannte Zeichen zu sehen.
Man kann auch LCDs so "initialisieren", dass sie ganz anders arbeiten 
als sonst.
Kommt ganz auf die Software an.

ciao
gustav

: Bearbeitet durch User
von Günter K. (enk)


Lesenswert?

Klaus schrieb:
> Dann zeig es doch schonmal hier, wir sagen dir dann schon, was alles
> nicht funktionieren wird.

Pessimist? :-))
Liebe Grüße
Günter K.
(ENK)

von Klaus (feelfree)


Lesenswert?

Günter K. schrieb:
> Pessimist? :-))

Nein, unverbesserlicher Optimist. Nämlich dass Du tatsächlich etwas 
"geschaffen" hast.
Der Realist in mir weiß dagegen, dass es nix gibt was Du zeigen 
könntest.

Beitrag #7891321 wurde von einem Moderator gelöscht.
von Hans (ths23)


Lesenswert?

Robin A. schrieb im Beitrag #7891321:
> Hier ein paar Vorschläge, die dir den Einstieg erleichtern könnten: ....

Oder einfach mal ein Buch zur Hand nehmen, z.B.: Lampe, Jorke, Wengel 
"Algorithmen der Mikrorechentechnik" (gäbe es z.B. hier 
https://www.booklooker.de/Bücher/Günter-Jorke-Bernhard-Lampe+Algorithmen-der-Mikrorechentechnik-Maschinenprogrammierung-und/id/A02IwfvR01ZZ2?zid=8c1u5mdveu0lo13eh1sr9nc8ud). 
Das Buch passt zum Z80.

von Gerhard O. (gerhard_)


Lesenswert?

Hallo Enk, herzlich willkommen!...

Schummler!

Das hat chatGPT verbrochen. Schäme Dich und stell Dich in die Ecke bis 
die Glocke zur Mittagspause läutet.

Duck und weg.

von Jobst M. (jobstens-de)


Lesenswert?

Christoph M. schrieb:
> Vielleicht geht es ja mit Windows-Excel?

Mutig! Sowas aus dem Netz zu öffnen…

Gruß
Jobst

von Marci W. (marci_w)


Lesenswert?

Was soll der Blödsinn, hier ChatGPT Chats reinzustellen?! Vor allem ohne 
Kennzeichnung, dass es sich um eine Antwort von ChatGPT handelt! Das 
macht keinen Sinn. Wenn überhaupt, dann stelle hier den ChatGPT-Prompt 
rein!

ciao

Marci

von Hmmm (hmmm)


Lesenswert?

Gerhard O. schrieb:
> Das hat chatGPT verbrochen. Schäme Dich und stell Dich in die Ecke

Ja, aber nicht nur deshalb, da kommt noch mehr dazu.

2. Weil er damit nur die eingestreute URL seiner Schweizer CBD-Klitsche 
tarnen wollte.

3. Weil er nicht begriffen hat, dass das Forum ohnehin nofollow-Links 
erzeugt, sein Google-Ranking damit also nicht besser wird.

4. Weil der Laden auch noch eine Baukasten-Website von "Wix" ist, bei 
denen ich mich nebenbei immer noch frage, wie man auf die Idee kommt, 
mit diesem Namen in den deutschsprachigen Markt zu gehen.

Die "SEO"-Deppen sterben leider nicht aus.

von Günter K. (enk)


Lesenswert?

Klaus F. schrieb:
> Ist allerdings auf 256 Zeilen begrenzt...

Hallo lieber Klaus F. und alle,
ich habe es aber bis über 11500 Zeilen gesehen.
Liebe Grüße
Günter K.
(ENK)

von Günter K. (enk)


Lesenswert?

Günter K. schrieb:
> Klaus F. schrieb:
>> Ist allerdings auf 256 Zeilen begrenzt...
>
> Hallo lieber Klaus F. und alle,
> ich habe es aber bis über 11500 Zeilen gesehen.
> Liebe Grüße
> Günter K.
> (ENK)

von Klaus (feelfree)


Lesenswert?

Günter K. schrieb:..
>
> Hallo lieber Klaus F. und alle,
> ich habe es aber bis über 11500 Zeilen gesehen.

Vielleicht solltest du dir für Foristen, die dich gnadenlos verarschen 
(und du es nicht mal merkst) eine passendere Anrede überlegen.

von Günter K. (enk)


Lesenswert?

Christoph M. schrieb: 12.06.2025 12:26
> Tatsächlich gibt es schon einen Excel Assembler:
> https://github.com/tilleul/apple2/tree/master/tools/6502_assembler

Super Toll PRIMA Christoph M.! Sehr gut gemacht!!

Ich las irgendwo ROFL
Rolling For Laughing :-)))   Schön

        |-------------->---|
ROL     |<-|7------0|<-C-<-|

Es wird der Inhalt der Speicherstelle, der sich aus dem Folgebytes 
ergibt
(Lower und Higherbyte) rolliert, d.h. die Linke Bit wird in das 
Carry-Flag
gebracht, wobei der vorige Flag-Inhalt rechts wieder eingeschoben wird.

z.B.: 2E 00 03 Inhalt von 300 sei 01
               das Carry-Flag sei 1.
               Nach der Ausführung des Befehls wird der Inhalt 03 sein.
               Das Carry-Flag wird anschließend auf 0 gesetzt.

Es gibt aber 5 verschiedene Adressierungsarten dafür,
die OP-CODES werden nachher beim Assembler uninteressant,
-nur- für den Anfang interessiert mich das.
Man achte auf die FLAGS N, Z und C.
Liebe Grüße
Günter K.
(ENK)

von Christoph M. (mchris)


Lesenswert?

>> Tatsächlich gibt es schon einen Excel Assembler:
>> https://github.com/tilleul/apple2/tree/master/tools/6502_assembler

>Super Toll PRIMA Christoph M.! Sehr gut gemacht!!

Zeige doch mal einen Screenshot von deinem Excel-Sheet.

von Günter K. (enk)


Lesenswert?

Wolfgang R. schrieb: Betr.: Die 
Junior_Memory_Map.pdf
> von (Firma: www.wolfgangrobel.de) (mikemcbike) vom 12.06.2025 13:30
Oh, Dankeschön

> Vielleicht hilft es was, vielleicht auch nicht: die Memory Map von
> Junior und Interfacekarte.
>
> Die steht vollständig in keinem der Bücher drin, das muss man sich
> mühsam zusammensuchen!

Erstaunlich, ich hatte mich schon oft gefragt: "...ob es soetwas gibt?"
und jetzt sehen ich, das gibt es nur durch Dich! - Sehr gut!
Ob man so eine Interface-Karte noch bekommen kann?
Und den richtigen Verkäufer für die Rams?

In Deinem Vortrag vom CBM 3280, war ich erstaunt,  -SUPER-
wie Du alle Teile ganz genau kennst; das finde ich sehr gut!
Liebe Grüße
Günter K.
(ENK)
:-)

von Klaus (feelfree)


Lesenswert?

Günter K. schrieb:
> Ob man so eine Interface-Karte noch bekommen kann?
> Und den richtigen Verkäufer für die Rams?

Es gibt für dich keinen ungeeigneteren Rechner, um Assembler zu lernen.
Warum willst Du mit der schlechtestmöglichen Hardware weitermachen?

Vor 45 Jahren hatte man nichts besseres. Niemand tut sich das freiwillig 
an. Warum Du, erst recht nach fast einem halben Jahr ohne jede merkliche 
Fortschritte?

von Günter K. (enk)


Lesenswert?

Klaus schrieb: vom 13.06.2025 08:16
> von  Klaus (feelfree)

> Vielleicht solltest du dir für Foristen, die dich gnadenlos verarschen
> (und du es nicht mal merkst) eine passendere Anrede überlegen.

Tja, - wenn ich das nicht merke, dann weiß ich es ja auch nicht. :-)))
.
- nur: ...tileul..., heist das Till Eulenspiegel?
Das ist doch die Märchenfigur, der die Leute zum Narren hielt.
Oder die: "Gewichte von der Wasserwaage."

Allerdings, halte ich Assembler über Exel durchaus als möglich.

Ich machte das nur zur Übersicht, und das ich viele Kommentare
in den REM-Bereich hineinschreiben kann.

Liebe Grüße
Günter K.
(ENK)

von Klaus (feelfree)


Lesenswert?

Günter K. schrieb:
> Ich machte das nur zur Übersicht, und das ich viele Kommentare
> in den REM-Bereich hineinschreiben kann.

Du kannst in jedem Assemblerprogramm beliebig viele Kommentare 
reinschreiben.
Excel ist da gänzlich unpraktisch dafür.

Aber du magst es ja maximal unpraktisch.
Vielleicht solltest du die Hexadezimal-Tastatur deines Junior durch 
Kippschalter für die einzelnen Bits und die 7-Segment-Anzeige durch LEDs 
ersetzen, dann ist es noch unbequemer als es eh schon ist.

von Günter K. (enk)


Lesenswert?

Klaus schrieb:
> Warum willst Du mit der schlechtestmöglichen Hardware weitermachen?
>
> Vor 45 Jahren hatte man nichts besseres. Niemand tut sich das freiwillig
> an. Warum Du, erst recht nach fast einem halben Jahr ohne jede merkliche
> Fortschritte?

Hier bin ich angekommen, hier bleib ich, - unter anderem.

Ja, die Leute von damals, das waren und sind echte Pioniere!
Wolfgang Du bist, so ein Pionier, - und das ist gut so!
Es ist ein Versuch, die Zeit zu erleben, - wie das war.
Ich könnte jetzt aus dem Buch I etwas aus dem Kopf zitieren:
"Was haben wir gemacht ... ... schon sehr viel ...".
Und ich freue mich über jeden kleinen Schritt.

Ja Klaus,  - und ... . Ich bin nur der kleine Günter.
Und ich kenne meine Fähigkeiten auch, - die, lasse ich mir nicht 
absagen.
Und ja Wolfgang R. Du kannst das. Du hast ja richtig studiert!
Das ist wirklich sehr gut!
Und wie Du zeigst, kannst kannst Du noch - viel, viel, mehr,
was sehr zu respektieren ist!! Ein verdienter Respekt!

Trotzdem Wolfgang für Dich ist die Zeit, - nicht stehengeblieben;
und selbstverständlich kann ich mich selbst, nicht mit Dir Wolfgang, 
vergleichen.

Ich habe mein Leben fast hinter mir.
Dies ist nur mein Hobby, dies ist mein Spiel.
Sich irgendwie in den kleinen Computer einzuleben.
Mein Wunsch, einen kleinen einfachen Computer zu haben, wie damals.
Man soll sich ja auch nicht auf den Prozessor versteifen, las ich in
den Büchern, allerdings halte ich mich auch nicht als Informatiker.
Ich kann es auch nicht mehr werden und freue mich über jeden,
der winzigen Schritte.


Man könnte einige große Namen nennen, wie Joseph Weizenbaum,
so auch Wolfgang Back, der auch Fernsehmoderator war!
Er wurde nur 76 Jahre alt.

Ich bin nur der kleine Gü

Jetzt will ich aber was tun ...
Bis später dann, mit
lieben Grüßen
Günter K.
(ENK)

von Thomas W. (datenreisender)



Lesenswert?

Klaus schrieb:

> Aber du magst es ja maximal unpraktisch.
> Vielleicht solltest du die Hexadezimal-Tastatur deines Junior durch
> Kippschalter für die einzelnen Bits und die 7-Segment-Anzeige durch LEDs
> ersetzen, dann ist es noch unbequemer als es eh schon ist.

Ich hatte mal ueberlegt einen IMSAI 8080 aufzubauen (es gibt/gab einen 
Bausatz fuer ca. USD 300, mit den schonen Tasten/Schaltern) aber das war 
mir doch etwas zu aufwaendig. Obwohl ich es sehr fand, dass man den 
Prozessor-Status (z.b. Stack-OP oder I/O) schoen am Panel sehen konnte.

Der Nachbau-Satz enthielt einen Raspberry Zero als CPU und IO-Prozessor.

Ich haenge ein Photo von dem IMSAI an, da kann man die Bits noch 
fliessen sehen... (Bild aus der Wikipedia)

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Günter K. schrieb:
> höchstens
> im REM-Bereich als Hinweis, wie sie hardwaremäßig angeschlossen sind.

Damit kann doch die CPU nichts anfangen.
Du willst Dir ja Werte von Variablen anzeigen lassen, d.h. Du brauchst 
im Programm ein Array, was den 7-Segment Code der Ziffern (0..9) 
enthält.
Die Definitionen sorgen dafür, daß die Codes passend erstellt werden, 
wenn Du die jeweilige Anschlußbelegung hinschreibst.
Und zur besseren Lesbarkeit macht man eine Vornullenunterdrückung, d.h. 
führende Nullen werden als Blank angezeigt.

von Günter K. (enk)


Lesenswert?

Wolfgang R. schrieb:
> Die steht vollständig in keinem der Bücher drin, das muss man sich
> mühsam zusammensuchen!
DANKESCHÖN!
Liebe Grüße
Günter K.
(ENK)
:-)

von Günter K. (enk)


Lesenswert?

Wolfgang R. schrieb:
> Wenn du vorher nicht weißt, ob deine Anzeigen gemeinsame Anode oder
> Kathode haben, dann kannst du die Programmierung flexibel gestalten.
DANKESCHÖN!
Liebe Grüße
Günter K.
(ENK)
:-)

von Günter K. (enk)


Lesenswert?

Klaus (feelfree) schrieb: 11.06.2025 14:24

Klaus schrieb: weil
> Günter K. schrieb:

Günter K. schrieb:
> Es ist für 6 Töne, die (noch) nicht
> automatisch laufen.
> Liebe Grüße ...

Klaus schrieb:
> Dann zeig es doch schonmal hier, wir sagen dir dann schon, was alles
> nicht funktionieren wird.

Ja, das ist dann schon mal vorgemrkt :-)))
Guten Abend, liebe Grüße
Günter K.
(ENK)

von Günter K. (enk)


Lesenswert?

Peter D. schrieb:
> Und zur besseren Lesbarkeit macht man eine Vornullenunterdrückung, d.h.
> führende Nullen werden als Blank angezeigt.

Hallo Peter D.,
ja, das verstehe ich, denn unser Zahlensystem, hat ja keine führenden 
Nullen.
Die IBM-Leute, hatten für die Eintragungen die für die Lochkarten waren, 
ein extra handschriftliches Zeichen, dieses sah aus wie ein "U", nur 
ganz eckig; - ähnlich wie die 7-Segment "0", ohne den obersten 
Segment-Balken, - oder ohne die oberen Segmente überhaupt. Das 
BLANK-Zeichen schrieb man deshalb so für die Lochkarten,
um so einen Stellen-Fehler zu verhindern.

Für eine neue 7-Segmentanzeige, werde ich wahrscheinlich externe 
Multiplexer einsetzen, der nur dann anzeigt, wenn das Programm nicht 
läuft, bzw. kurz unterbrochen ist, so, dass in der Zeit auch kein 
Interrupt läuft, es sei denn, es wird für die Matrix, (für den 
Prozessor) einen berechneten IRQ (ohne NMI) freigegeben, der für 
Computer berechnet ist.
(Achtung, das sind nur lose Gedanken, ich weiß noch nicht, ob das -so- 
klappt).
- Interessant ist, dass der Junior-Computer, einen eigenen Assembler 
hat.
An dieser Stelle könnte man sich fragen:
"Warum, macht es sich der Günter K. damit selber schwer?" - ? Es geht 
mir
darum, mich nur -etwas- in die Zeit hineinzudenken, wie die Leute damals 
dachten;
sie mussten gleichzeitig die Offsets berücksichtigen. Und das ist gar 
nicht so einfach.
Darum will ich mich hier lieber Peter D.
für Deinen Beitrag extra bedanken.
Liebe Grüße
Günter K.
(ENK)

PS.:
Die 360er IBM Computer werden heute noch in neuerer Form gebaut.
Gegen Ende der 60er Jahre lernte ich -etwas- über den IBM 360/20.
Der damals schon, auch mit 64 BIT Datenbreite rechnete.
Interessant: Siehe IBM Vortrag von Wolfgang R. „Zerro Brain“.
Z.B.: „Der IBM-Koffer“ 😊

von Klaus (feelfree)


Lesenswert?

Günter K. schrieb:
> ich weiß noch nicht, ob das -so- klappt

Aber ich weiß es.
Jemand der gerade den ersten Meter im Krabbeln geschafft hat, bekommt 
weder einen 100-Meter-Lauf und erst recht nicht einen Halbmarathon hin.

von Günter K. (enk)


Lesenswert?

Christoph M. schrieb:
> Zeige doch mal einen Screenshot von deinem Excel-Sheet.
Das hatte ich ja schon mal gemacht, das war aber noch kein Assembler,
sondern nur ein OP-CODE, mit MNNEMONICS, als Assembler-Liste.

Hallo Christoph M.

vorläufig, habe ich es nur zur Datenspeicherung.
Tatsächlich ist beim JC nach dem Ausschalten alles weg.
Erst, wenn ich mich mit dem JC mit der
Assembler-Sprache und die Assembler-Wirkung beschäftigt gehabt habe,
mache ich das -vielleicht- auch in Excel, ich vermute die Möglichkeit -;
erst danach, das angebotene Assembler, denn ich will sehen können,
was der Computer macht.
Liebe Grüße
Günter K.
(ENK)

von Klaus (feelfree)


Lesenswert?

Günter K. schrieb:
> denn ich will sehen können,
> was der Computer macht.

Wirst du aber nie, nicht mit einem Junior Computer.
Du hast immer noch nicht mal im Ansatz verstanden, wie man einen 
Computer programmiert.
Insofern nehme ich meinen letzten Beitrag zurück - du hast noch nicht 
mal den einen Meter Krabbeln geschafft.

von Günter K. (enk)


Lesenswert?

Klaus schrieb:
> bekommt
> weder einen 100-Meter-Lauf und erst recht nicht einen Halbmarathon hin.

Hallo Klaus,
weder noch, - ich war vom Schulsport freigesprochen worden.

Viel zu spät, als Erwachsener, hatte ich mit dem Fahrrad begonnen,
und dann erst eine Rennmaschine mit Stahl-Rahmen.
Damit schaffte ich einen guten Durchschnitt;
Allerdings sind die Pausen beim Durchschnitt nicht mitgezählt,
dann nach der Pause zählt der Zähler neu.

Computerfrage der für einen Mikroprozessor interessant ist:
Ein Rollstuhlfahrer hat an seinem Rollstuhl einen Fahrrad-Computer
mit einem Speichen-Magnet-Sensor installiert.
Das Display soll aber unter einem km/h anzeigen?
Ich habe das Problem gelöst.
Weißt Du bitte wie?
Liebe Grüße
Günter K.
(ENK)
😊

von Klaus (feelfree)


Lesenswert?

Günter K. schrieb:
> Ich habe das Problem gelöst.
> Weißt Du bitte wie?

Nein, ich weiß nicht wie DU das Problem gelöst hast. Mir fallen aber 
mannigfaltige Lösungen ein, die einfachste mit einem 10er Pack Magnete.

von Thomas S. (thommi)


Lesenswert?

Günter K. schrieb:
> Siehe IBM Vortrag von Wolfgang R. „Zerro Brain“.
> Z.B.: „Der IBM-Koffer“ 😊

Zerobrain heisst Dominik. Wolfgang R. hat aber ab und an mal ein Video 
mit ihm gemacht.

von Günter K. (enk)


Lesenswert?

Thomas S. schrieb:
> Zerobrain heisst Dominik. Wolfgang R. hat aber ab und an mal ein Video
> mit ihm gemacht. Dankeschön.
Mit lieben Grüßen
Günter K.
(ENK)

von Günter K. (enk)


Lesenswert?

Klaus schrieb:
> ... die einfachste mit einem 10er Pack Magnete.

Ja, Klaus, - dann hast, Du es ja gelöst!
Glaub' mir, - da kommt nicht jeder drauf.
Liebe Grüße
Günter K.
(ENK)
😊

von Günter K. (enk)


Lesenswert?

Thomas W. schrieb:    am: 13.06.2025 16:24
> und die 7-Segment-Anzeige durch LEDs ...
... das finde ich gut, - doch
Klaus schrieb dazu, (ich sehe nicht wann):
>> ... ersetzen, dann ist es noch unbequemer als es eh schon ist.
Lieber Klaus,
mal abwarten. -   😊 )))
Liebe Grüße
Günter K.
(ENK)

von Klaus (feelfree)


Lesenswert?

Günter K. schrieb:
> mal abwarten. -   😊

Den St. Nimmerleinstag?

von Falk B. (falk)


Lesenswert?

und täglich grüßt das Murmeltier . . .

von Günter K. (enk)


Lesenswert?

Rbx schrieb: am 12.06.2025 16:11,
                                        auf jeden Fall sehr Lesenswert!!
> Meine Güte, Software ist einfach ein Hausmeister in einem großen leeren
> Hochhaus, der mit einem Plan abends da reingeht, und je nach Plan die
> verschiedenen Lichter in dem Stockwerk anmacht.
> Der Plan, könnte man noch spitzfindig sagen, wäre erstmal der Boot-Code.
 ... ...
> https://de.wikipedia.org/wiki/Von-Neumann-Architektur
> https://de.wikipedia.org/wiki/Harvard-Architektur
>
> Ein Zeiger wäre übrigens ein Lehrling, der vom Hausmeister gezeigt
> bekommt,

Also werde ich ein: "Zeiger" bzw. der Lehrling sein.

In den 80ern bis 90ern (Windows 95 "blauer Bildschirm".)
da hieß es: "Jetzt springt er wieder durch die Prärie",
d.h. - der "Zeiger" (Pointer?) hatte den Weg verloren, und trotzdem,
sagte man: "Die 'Von-Neumann-Architektur' ist ein Flaschenhals"; -
deswegen interessierte es mich früher mal (aber jetzt auch noch),
für die Harvard-Architektur (Nur deswegen begeistert!). - Doch 
inzwischen
habe ich irgendwann mal erfahren, dass es Prozessoren gibt,
die zwar nur von -außen-: 'Harvard-Architektur' sind und
von -innen-: 'Von-Neumann-Architektur' -. (Ist‘s besser so? - Warum?)
Inzwischen aber finde ich es schön, wo alles schön der Reihe nach geht.
(Bei BASIC konnte man ja mit dem "AUTO"-Befehl, X-Zeilen freilassen).
(Das GW-BASIC schien mir besser zu sein als das CBM-BASIC.).

Ein -bisschen- liegt der Klaus da schon richtig,
- doch es interessiert mich! - !

Leider habe ich kein durchtrainiertes Gehirn,
(... wegen 2. Weltkrieg u. schlechte Zeit in meiner Kindheit bis zum 21. 
.)
Ich wiederhole: ... es interessiert mich!
Liebe Grüße
Günter K.
(ENK)
😊

von Klaus (feelfree)


Lesenswert?

Günter K. schrieb:
> Ich wiederhole: ... es interessiert mich!

Es interessiert dich alles, aber für alles ist (nicht nur) dein Hirn zu 
klein.
Leider fehlt dir die Fähigkeit, unwichtiges von wichtigen zu trennen, 
deshalb machst du keinerlei Fortschritte.

Ich hab z.B. vor 40 Jahren mal gelernt, was Harvard- bzw. 
von-Neumann-Architektur ausmacht.
Keine Ahnung mehr davon. Könnte es jederzeit nachlesen. Aber ich weiß, 
dass ich dieses Wissen nicht brauche, deshalb belaste ich nicht mein 
Hirn damit.

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

Günter K. schrieb:
>> Ein Zeiger wäre übrigens ein Lehrling, der vom Hausmeister gezeigt
>> bekommt,
>
> Also werde ich ein: "Zeiger" bzw. der Lehrling sein.
1
(void*) enk;

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

Falk B. schrieb:
> (void*) enk;

DER war richtig gut!

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Falk B. schrieb:
> Günter K. schrieb:
>>> Ein Zeiger wäre übrigens ein Lehrling, der vom Hausmeister gezeigt
>>> bekommt,
>>
>> Also werde ich ein: "Zeiger" bzw. der Lehrling sein.
> (void*) enk;
1
sketch_jun17d.ino: In function 'void setup()':
2
sketch_jun17d:6:11: error: 'enk' was not declared in this scope
3
    6 |   (void*) enk;
4
      |           ^~~

Dann:
Zeiger sollten initialisiert werden!
Ins Besondere lokale.

1
void *enk {nullptr}; //C++

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Günter K. schrieb:
> habe ich irgendwann mal erfahren, dass es Prozessoren gibt,
> die zwar nur von -außen-: 'Harvard-Architektur' sind und
> von -innen-: 'Von-Neumann-Architektur' -. (Ist‘s besser so? - Warum?)

Es ist genau umgekehrt. Programmtechnisch ist es Von-Neumann (gleiche 
Befehle für Code und Daten), intern werden aber mehrere Busse parallel 
benutzt (Harvard). Die CPU kann also über den Datenbus das Ergebnis 
zurück schreiben und gleichzeitig vom Flash schon den nächsten Befehl 
lesen.

Beim Z80 gab es außerdem noch getrennte Befehle für RAM und IO. 
Inzwischen wird aber alles einfach in einen großen Adreßraum gemappt 
(Flash, RAM, IO).

von Tilo R. (joey5337) Benutzerseite


Lesenswert?

Wenn jemand eine CPU sucht, die nur zum Lernen und für das Verständnis 
gebaut wurde, dann fällt mir MMIX ein.
https://mmix.cs.hm.edu/index.html

Wenn das Grundverständnis da ist, wie ein Prozessor, Maschinencode, 
Assembler und Hochsprachen funktionieren und miteinander zusammen 
hängen, dann kann man imho auf einen beliebigen, einigermaßen modernen 
Prozessor umsteigen.

von Gunnar F. (gufi36)


Lesenswert?

Falk B. schrieb:
> und täglich grüßt das Murmeltier . . .

Günter ist halt sportlich. Er sieht jetzt die 2k Beiträge in Reichweite.

von Gunnar F. (gufi36)


Lesenswert?

Falk B. schrieb:
> Also werde ich ein: "Zeiger" bzw. der Lehrling sein.
> (void*) enk;

geht das auch in Maschinencode?

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Gunnar F. schrieb:
> Falk B. schrieb:
>> Also werde ich ein: "Zeiger" bzw. der Lehrling sein.
>> (void*) enk;
>
> geht das auch in Maschinencode?

Nein!
Das ist scheinbar eine C/C++ Pseudoanweisung um einen Funktionsparameter 
zu ignorieren. Oder reine Fantasie.

ASM kennt keine Funktionen, und damit auch keine Funktionsparameter.
Zudem erzeugen solche pseudo Anweisungen sowieso keinen Code.

: Bearbeitet durch User
von Klaus F. (klaus27f)


Lesenswert?

Arduino F. schrieb:
> ASM kennt keine Funktionen

Doch schon.
Aber dort nennt man sie Unterprogramme.

Das ist so ähnlich wie bei den APPs.
Die hiesen früher Programme.

von Falk B. (falk)


Lesenswert?

Arduino F. schrieb:
> geht das auch in Maschinencode?
>
> Nein!
> Das ist scheinbar eine C/C++ Pseudoanweisung um einen Funktionsparameter
> zu ignorieren. Oder reine Fantasie.

Du hast es erfaßt. Dein Humordetektor ist kaputt . . .

von Falk B. (falk)


Lesenswert?

Klaus F. schrieb:
> Das ist so ähnlich wie bei den APPs.
> Die hiesen früher Programme.

APPsolutely! ;-)

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Funktionen kennen Parameter und Rückgaben.
Die Mechanismen dafür sind fest in der Sprache(ABI) verankert.
ASM kennt das nicht, da basiert alles dieses auf freiwilligen 
Vereinbarungen.
Was dem Wildwuchs Tür und Tor öffnet.

von Günter K. (enk)


Lesenswert?

Peter D. schrieb:
> Beim Z80 gab es außerdem noch getrennte Befehle für RAM und IO.
> Inzwischen wird aber alles einfach in einen großen Adreßraum gemappt
> (Flash, RAM, IO).

Guten Abend allerseits,
das finde ich sehr gut, also da geht der ganze Bus mit allen 
Datenleitungen, (oder sogar seriell) auf einen Chip?
Liebe Grüße
Günter K.
(ENK)
😊

von Günter K. (enk)


Lesenswert?

Arduino F. schrieb:
> Funktionen kennen Parameter und Rückgaben.
> Die Mechanismen dafür sind fest in der Sprache(ABI) verankert.
"The (ABI)Word-Project" für Linux oder Windows in C++?
Arduino F. schrieb weiter dazu:
> ASM kennt das nicht, da basiert alles dieses auf freiwilligen
> Vereinbarungen.
> Was dem Wildwuchs Tür und Tor öffnet.

Kann man da nicht feste definierte Begriffe vereinbaren?
Ich weiß, das REM wird abgeschnitten, - aber wenn man es aufbewahrt?
Außerdem kann man ja auch eine Textinformation im Programm machen,
was dann aber das Programm unnötig verlangsamt, - aber das,
könnte man als Muster aufbewahren, um so,
Maschinennah zu bleiben. Geht das?
Liebe Grüße
Günter K.
(ENK)
😊

Hm, hoffendlich, habe ich deutlich genug geschrieben?

von Roland F. (rhf)


Lesenswert?

Hallo,
Günter K. schrieb:
> Hm, hoffendlich, habe ich deutlich genug geschrieben?

DEFINITIV nicht.

rhf

von Klaus (feelfree)


Lesenswert?

Roland F. schrieb:
> Hallo,
> Günter K. schrieb:
>> Hm, hoffendlich, habe ich deutlich genug geschrieben?
>
> DEFINITIV nicht.

Doch, er hat deutlich geschrieben dass er immer noch nicht den Hauch 
einer Ahnung hat, wie ein Computer programmiert wird und was die Aufgabe 
eines Assembler oder Compilers ist.

: Bearbeitet durch User
von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Günter K. schrieb:
> Arduino F. schrieb:
>> Funktionen kennen Parameter und Rückgaben.
>> Die Mechanismen dafür sind fest in der Sprache(ABI) verankert.
> "The (ABI)Word-Project" für Linux oder Windows in C++?
ABI?
Hier, für den AVR GCC: https://gcc.gnu.org/wiki/avr-gcc

von Thomas Z. (usbman)


Lesenswert?

Günter K. schrieb:
> Kann man da nicht feste definierte Begriffe vereinbaren?
> Ich weiß, das REM wird abgeschnitten, - aber wenn man es aufbewahrt?

was für ein Unsinn. Dein REM ist ein Begriff aus Basic. Das hat mit ASM 
oder Maschinensprache rein gar nichts zu tun. Was willst da Begriffe 
definieren? Du bist doch derjenige der alle Begrifflichkeiten 
durcheinander bringt und umdeutet.

von Günter K. (enk)


Lesenswert?

Arduino F. schrieb:
> ... in der Sprache(ABI) verankert.
was ist damit gemeint? - Ist das C++?
> ASM kennt das nicht,
Ist mit ASM, ASSEMBLER gemeint?
also die 'Funktionen mit Parameter und Rückgaben*'.
Also so, wie Du Arduino F. schriebst:
> Funktionen kennen Parameter und Rückgaben.

Also dann, dass das der ASM(ASSEMBLER) das *s.o. nicht kennt.

Aber ich kann doch die Ausrechnungen machen, auch wenn
die genauen Bezeichnungen für die Funktionen usw. fehlen,
so kann man sie doch, anderenorts beschreiben.
Liebe Grüße
Günter K.
(ENK)
😊

: Bearbeitet durch User
von Klaus F. (klaus27f)


Lesenswert?

Günter K. schrieb:
> Aber ich kann doch die Ausrechnungen machen, auch wenn
> die genauen Bezeichnungen für die Funktionen usw. fehlen,
> so kann man sie doch, anderenorts beschreiben.

Hmmmmm,
ja oder nein, oder egal.

von Günter K. (enk)


Lesenswert?

Klaus F. schrieb:
> Hmmmmm,
> ja oder nein, oder egal.

Hallo Leute,
Ich habe tatsächlich nicht gewusst was "ABI" heißt; darum fragte ich.
Ich weiß aber jetzt erst, im Nachhinein, dass es
um eine Implementierung geht. - Dieses Wort kenne ich natürlich
von der Maschinensprache, den MNEMONICs her. Und ich weiß jetzt,
wie mir richtig geantwortet ist, dass es in gewisser Weise, nicht geht.
DANKE liebe Leute. - Ich kann kein: "AVR GCC".
Liebe Grüße
Günter K.
(ENK)
😊

von Thomas S. (thommi)


Lesenswert?

Ich konnte mich irgendwie nie mit ASM anfreunden, das ist mir zu 
absolut.
Habe in der Schule mal die Möglichkeit gehabt, ASM für den Z80 zu 
lernen, das waren dort die Rechner, u. A. auch der TRS 80 von Radio 
Shack.

Mir war damals das LNW-Basic lieber, was auf den selben Rechnern lief, 
weil es konkreter war. Man sagt dem Rechner in Klartext, was er machen 
soll.

Das OS war damals Newdos 80.

Dann habe ich entgegen aller Commodores den TI99/4A gekauft, also wieder 
BASIC. Heute programmiere ich gerne mit BASCOM. .Py und C habe ich zwar 
auch mal ab und an, aber ich hasse die Fingergrätschen {}, und wenn man 
mal ein } vergisst, dann sucht man sich einen Wolf.

von Falk B. (falk)


Lesenswert?

Klaus schrieb:
> Doch, er hat deutlich geschrieben dass er immer noch nicht den Hauch
> einer Ahnung hat, wie ein Computer programmiert wird und was die Aufgabe
> eines Assembler oder Compilers ist.

Matthäus 5:3-27 DELUT

"Selig sind, die da geistlich arm sind; denn das Himmelreich ist ihr."

von Günter K. (enk)


Lesenswert?

Thomas Z. schrieb:
> Dein REM ist ein Begriff aus Basic
Ja, - das ist genau richtig!  -  Das ist vom CBM dem COMMODORE PET.
REM für REMARK - bei Assembler ist es das ";"-Zeichen.
Das ist doch die selbe Bedeutung. Und wieso?
> alle Begrifflichkeiten
-alle- ?
Liebe Grüße
Günter K.
(ENK)
😊

von Peter D. (peda)


Lesenswert?

Thomas S. schrieb:
> Heute programmiere ich gerne mit BASCOM.

Ein Bienchen von mir.
Jede Programmiersprache ist meilenweit besser, als wie Günter so lange 
Zeit mit Machinencode rumzukrebsen. Noch dazu, wenn man ihn nicht mal 
dauerhaft speichern kann.

Thomas S. schrieb:
> und wenn man
> mal ein } vergisst, dann sucht man sich einen Wolf.

Da sind eigentlich die Fehlermeldungen des Compilers recht 
aussagekräftig und zielführend. Auch sagen Dir oft schon die Editoren, 
wenn ein Klammernpaar unvollständig ist. Je nach IDE wird nach dem 
Compile auch gleich der Finger (Cursor) auf die Wunde gelegt.

von Christoph M. (mchris)


Lesenswert?

Günter K. (enk)
19.06.2025 07:30
>Ja, - das ist genau richtig!  -  Das ist vom CBM dem COMMODORE PET.
>REM für REMARK - bei Assembler ist es das ";"-Zeichen.
>Das ist doch die selbe Bedeutung. Und wieso?
Das ist historisch gewachsen. Beim Assembler mussten Zeichen gespart 
werden. REM sind 3 Zeichen und ';' ist nur ein Zeichen. Außerdem geht es 
um Bequemlichkeit. Ein Zeichen ist viel kürzer als 3.

Fast jede Programmiersprache leitet ihren Kommentar mit 
unterschiedlichen Zeichen ein:

Assembler:    ;
Basic:        REM
C:            //
Python :      #
Matlab:       %
Octave:       % oder #

Kennt jemand noch andere?

von Thomas W. (Gast)


Lesenswert?

Peter D. schrieb:
> Thomas S. schrieb:
>> und wenn man
>> mal ein } vergisst, dann sucht man sich einen Wolf.
>
> Da sind eigentlich die Fehlermeldungen des Compilers recht
> aussagekräftig und zielführend. Auch sagen Dir oft schon die Editoren,
> wenn ein Klammernpaar unvollständig ist. Je nach IDE wird nach dem
> Compile auch gleich der Finger (Cursor) auf die Wunde gelegt.

Die Weiterentwicklung der Entwicklungssysteme ist schon beeindruckend: 
Ich habe ja meine uVAX (das war 1990 top-of-the-line), VAXSET (Editor, 
ein Make, ein Profiler und ein Versionssystem) hatte schon so eine Art 
Code-Completion (Sprach-abhaengig, z.b. bei Pascal wurde sofort ein 
BEGIN/END-Block aufgemacht), aber es war (verglichen mit 2025) wirklich 
muehsam. Ab und zu bestrome ich mein VT320, aber zum Arbeiten waere das 
nichts mehr.

von Günter K. (enk)


Lesenswert?

Guten Morgen, liebe Leute,
ich wünsche eine schönen Feiertag!

von Falk B. (falk) schrieb am 19.06.2025 07:10, dass
Klaus schrieb:
> Doch, er hat deutlich geschrieben dass er immer noch nicht den Hauch
> einer Ahnung hat, wie ein Computer programmiert wird und was die Aufgabe
> eines Assembler oder Compilers ist.
Das stimmt zwar, nun ein -Hauch- ist schon da, aber ich weiß schon mal,
das Assembler zusammenbauen heißt, dass ein Compiler ein Übersetzer ist,
denn ich möchte es von unten, - nach oben angehen; denn sonst,
ist der Computer kein " ... einfacher Rechner zum Lernen ..."  mehr.
Liebe Grüße
Günter K.
(ENK)
😊

PS.:
Der Übersetzer ist mir doch noch zu schwer.

von Thomas W. (datenreisender)


Lesenswert?

Christoph M. schrieb:
> Fast jede Programmiersprache leitet ihren Kommentar mit
> unterschiedlichen Zeichen ein:
>
> Assembler:    ;
> Basic:        REM
> C:            //
> Python :      #
> Matlab:       %
> Octave:       % oder #
>
> Kennt jemand noch andere?

FORTRAN IV: ein C oder * in Column 1, Rest der Zeile wird ignoriert. 
Eine VAX-Extenion war dann ein "D" in Column 1: Diese Zeilen wurden nur 
uebersetzt, wenn der Compiler mit /DEBUG/NoDEBUG ausgerufen wurde.

ISO-Standard COBOL74 wollte ein * oder / in Column 7 als 
Kommentar-Zeile, die ersten sechs Stellen waren aber die Sequenz-Number 
(000100) ...

von Günter K. (enk)


Lesenswert?

Christoph M. schrieb:
> Kennt jemand noch andere?

Ja, irgendwo, hatte ich mal was mit: "'" gesehen.
Aber ich weiß nicht mehr wo.
Liebe Grüße Günter K.

von Thomas W. (Gast)


Lesenswert?

Günter K. schrieb:
> Christoph M. schrieb:
>> Kennt jemand noch andere?
>
> Ja, irgendwo, hatte ich mal was mit: "'" gesehen.
> Aber ich weiß nicht mehr wo.

Visual Basic 4 - 6.

von Klaus (feelfree)


Lesenswert?

Christoph M. schrieb:
> Assembler:    ;
> Basic:        REM
> C:            //
> Python :      #
> Matlab:       %
> Octave:       % oder #
> Kennt jemand noch andere?
1
C:     /* */
2
Lua:   --   bzw.     --[[    --]]

: Bearbeitet durch User
von Günter K. (enk)


Lesenswert?

Günter K. schrieb:
> Christoph M. schrieb:
>> Kennt jemand noch andere?
>
> Ja, irgendwo, hatte ich mal was mit: "'" gesehen.
> Aber ich weiß nicht mehr wo.
> Liebe Grüße Günter K.

PS:
Ja, - als C' für COMMENTAR, beim IBM-ASSEMBLER.
Nach dem C' BEDEUTUNG' endete auch mit "'",
für den EINTRAG in der LOCHKARTE.

: Bearbeitet durch User
von Günter K. (enk)


Lesenswert?

REMARK-SAMMLUNG:
Klaus schrieb:
> Christoph M. schrieb:
>> Assembler:    ;
>> Basic:        REM
>> C:            //
>> Python :      #
>> Matlab:       %
>> Octave:       % oder #
>> Kennt jemand noch andere?
C:     /* */
> Lua:   --   bzw.     ----
IBM-ASSEMBLER C' ... '
LG. (ENK)
😊

von Falk B. (falk)


Lesenswert?

Günter K. schrieb:
> REM für REMARK - bei Assembler ist es das ";"-Zeichen.

Genau! Karl Maria REMARK! Auf uC.net nix Neues! ;-)

von Falk B. (falk)


Lesenswert?

Peter D. schrieb:
>> und wenn man
>> mal ein } vergisst, dann sucht man sich einen Wolf.
>
> Da sind eigentlich die Fehlermeldungen des Compilers recht
> aussagekräftig und zielführend.

Keine Sekunde! Gerade bei C kann man mit einer fehlenden, schließenden 
Klammer maximal verwirrende Fehlermeldungen erzeugen! Hab ich schon 
mehrfach erleben dürfen.

> Auch sagen Dir oft schon die Editoren,
> wenn ein Klammernpaar unvollständig ist.

Zeig mir mal eine, die das für C macht.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Christoph M. schrieb:
> Kennt jemand noch andere?

(ng)spice:    *

Gruss
WK

von Roland F. (rhf)


Lesenswert?

Hallo,
Christoph M. schrieb:
> Assembler:    ;
> Basic:        REM
> C:            //
> Python :      #
> Matlab:       %
> Octave:       % oder #
>
> Kennt jemand noch andere?

Pascal:         ( ) oder { }
Borland Delphi: ( ) oder { } oder //
Forth:          (_ )

rhf

von Günter K. (enk)


Lesenswert?

Roland F. schrieb:
> Hallo,
> Christoph M. schrieb:
>> Assembler:    ;
>> Basic:        REM
>> C:            //
>> Python :      #
>> Matlab:       %
>> Octave:       % oder #
>>
>> Kennt jemand noch andere?
>
> Pascal:         ( ) oder { }
> Borland Delphi: ( ) oder { } oder //
> Forth:          (_ )
IBM ASSEMBLER:    C' ... '

sollte nicht fehlen, weil es den 360er IBM noch gibt.
Vermutlich gibt es noch viele mehr,  - oder?
Wie ist es bei LIPS?
LG Günter K

von Thomas S. (thommi)


Lesenswert?

'Kommentar bei BASCOM

von Thomas W. (Gast)


Lesenswert?

Günter K. schrieb:
> Wie ist es bei LIPS?

LIPS ist LISP, und da ist ;; der Comment-delimiter.

Um das ein wenig abzukuerzen moechte ich auf die Webseite 
https://rosettacode.org/wiki/Rosetta_Code hinweisen. Es ist eine 
Sammlung von Standardalgorithmen (z.b. Sortieren, kgV, auch Hello_world) 
in vielen Programmiersprachen.

Die Standardversion fuer "Hello World" enthaelt auch mehrere 
Assembler-Version fuer verschiedene Architekturen:

https://rosettacode.org/wiki/Hello_world/Text

Die heutige (praxisbezogene) Version (Zeige "Hello World" auf einem 
Browser) findet man

https://rosettacode.org/wiki/Hello_world/Web_server

Viel Spass!

von Günter K. (enk)


Lesenswert?

Thomas W. schrieb:
> Die Standardversion fuer "Hello World" enthaelt auch mehrere
> Assembler-Version fuer verschiedene Architekturen:


Ach Du meine Guete, was koennt Ihr viele Programmier-Sprachen
und wo moeglich noch Fremd-Sprache/n dazu!
Und ich kann noch nicht einmal -eine- Programmier-Sprache
und keine Fremd-Sprache dazu!
Im Alter von 48 begann ich mit ENGLISCH. - .
Und im September als ich 49 Jahre alt war, begann der Tinnitus(!),
der dann immer lauter wurde.

Von LISP hatte ich nur gehoert,
weil ich ein Buch von Joseph Weizenbaum gelesen hatte.

(Mit 21 begann mein Leben, ging von zuhause weg ins Jugendwohnheim.)
Dir Wolfgang R., DANKE noch mal fuer die schoene LISTE,
und moechte auf einfachem Wege weiterkommen.
Weitere Fragen, kommen noch dazu.
Liebe Gruesse
Guenter
:-)

PS.: Auf "Hello World" komme ich zurueck.

von Jobst M. (jobstens-de)


Lesenswert?

Thomas S. schrieb:
> Ich konnte mich irgendwie nie mit ASM anfreunden, das ist mir zu
> absolut.

Das ist der Grund, weshalb ich ASM so bevorzuge: Ich weiß jederzeit 
genau, was passiert.


Christoph M. schrieb:
> Kennt jemand noch andere?

In Brainfuck kann man seinen Kommentar einfach in den Quelltext 
schreiben. Man darf nur keinen der 8 Befehle benutzen: > < + − . , [ ]

https://de.wikipedia.org/wiki/Brainfuck


Gruß
Jobst

von Christoph M. (mchris)


Lesenswert?

Jobst M. (jobstens-de)
19.06.2025 19:29
>In Brainfuck kann man seinen Kommentar einfach in den Quelltext
>schreiben. Man darf nur keinen der 8 Befehle benutzen: > < + − . , [ ]
Also das wissen jetzt wirklich nur die Freaks :-)

von Christoph M. (mchris)


Lesenswert?

Günter schrieb
>Ich machte das nur zur Übersicht, und das ich viele Kommentare
>in den REM-Bereich hineinschreiben kann.
Bei früheren Computern wie z.B. den ZX81 hat man den REM-Bereich 
tatsächlich zum Speichern von Assemblercode benutzt. Das der REM Bereich 
für Kommentare gedacht ist, kann man dort auch beliebig andere Zeichen 
unterbringen, die als Assemblercode vom Computer interpretiert werden 
können.
Der Ablauf ist dabei wie folgt:
Man mache einen Kommentar mit z.B. 100 Zeichen. Dann nutzt man in Basic 
den Befehl 'poke' in BASIC um beliebige 8Bit Zahlen in diesen Bereich zu 
schreiben. Danach kann man dann aus BASIC heraus das Programm starten.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Christoph M. schrieb:
> Bei früheren Computern wie z.B. den ZX81 hat man den REM-Bereich
> tatsächlich zum Speichern von Assemblercode benutzt.

Das erste Byte hinter dem REM Token in der ersten Basiczeile stand immer 
an der Adresse 16514. Ab da konnte es dann "losgehen". 
Erstaunlicherweise bleibt mir sowas im Kopf haengen, obwohl ich's schon 
echt lange nicht mehr gebraucht hatte. Na, damit bin ich dann sicher der 
Held im Altersheim in ein paar Jahren :-)

Gruss
WK

von Hans (ths23)


Lesenswert?

Günter K. schrieb:
> PS.:
> Der Übersetzer ist mir doch noch zu schwer.
Stimmt der ist viel schwerer als die Opcodes einzutippen. Komisch nur 
das die meisten eine Hochsprache bevorzugen und das Erstellen des 
Maschinenprogrammes (die Opcodes) dem Übersetzer überlassen.
Wenn man dann wirklich noch wissen will was da auf unterster Ebene 
abläuft, kann man sich ja das Übersetzungsergebnis anschauen. Die 
meisten IDE's können auch dies anzeigen.

Aber fummel nur weiter rum wie bisher, der Erkenntnisgewinn wird sich 
aber in Grenzen halten, mal abgesehen davon, daß Du eigentlich nur auf 
der Stelle trittst.

von Günter K. (enk)


Lesenswert?

Christoph M. schrieb:
> Der Ablauf ist dabei wie folgt:
> Man mache einen Kommentar mit z.B. 100 Zeichen. Dann nutzt man in Basic
> den Befehl 'poke' in BASIC um beliebige 8Bit Zahlen in diesen Bereich zu
> schreiben. Danach kann man dann aus BASIC heraus das Programm starten.

Das klingt gut! DANKESCHÖN!
Inzwischen habe ich das ganz kleine Keyboard, welches ich löten wollte,
auf einem Breadboard von Arduino gesteckt. Die Tasten passen genau,
so nebeneinander, dass das Breadboard gefüllt ist.
Morgen mache ich weiter.
Liebe Grüße
Günter K.
(ENK)
:-)

PS.: Natürlich werde ich später dazu übergehen,
nur die MNEMONICs einzugeben, - natürlich,
darf der OP-Code nicht fehlen.

: Bearbeitet durch User
von Hmmm (hmmm)


Lesenswert?

Christoph M. schrieb:
> Der Ablauf ist dabei wie folgt:
> Man mache einen Kommentar mit z.B. 100 Zeichen. Dann nutzt man in Basic
> den Befehl 'poke' in BASIC um beliebige 8Bit Zahlen in diesen Bereich zu
> schreiben. Danach kann man dann aus BASIC heraus das Programm starten.

Solchen Murks habe ich nicht ein einziges Mal gesehen.

Zumindest auf dem C64 war die übliche Methode, dass man an den Anfang 
des BASIC-Speichers nur eine einzige BASIC-Zeile mit SYS 20xx gepackt 
hat, womit dann der unmittelbar dahinter liegende Maschinencode 
aufgerufen wurde.

Wenn man den Code unbedingt doppelt im Speicher haben wollte (1x im 
BASIC-Code, 1x woanders), ging das ganz gut mit DATA-Zeilen, aber auch 
da hat man sinnvollerweise freien Speicher ausserhalb des BASIC-Codes 
mit POKEs befüllt.

von Christoph M. (mchris)


Lesenswert?

Christoph M. schrieb:
>> Der Ablauf ist dabei wie folgt:
>> Man mache einen Kommentar mit z.B. 100 Zeichen. Dann nutzt man in Basic
>> den Befehl 'poke' in BASIC um beliebige 8Bit Zahlen in diesen Bereich zu
>> schreiben. Danach kann man dann aus BASIC heraus das Programm starten.
Hmmm (hmmm)
20.06.2025 01:34
>Solchen Murks habe ich nicht ein einziges Mal gesehen.

Das liegt daran, dass du keine Ahnung vom ZX81 hast.

: Bearbeitet durch User
von Klaus (feelfree)


Lesenswert?

Christoph M. schrieb:
> Das liegt daran, dass du keine Ahnung vom ZX81 hast.

Ähnlich viel wie Du Ahnung vom korrekten Zitieren hast?

von Christoph M. (mchris)


Lesenswert?

>Ähnlich viel wie Du Ahnung vom korrekten Zitieren hast?
Wo liegt das Problem?

von Klaus (feelfree)


Lesenswert?

Christoph M. schrieb:
>>Ähnlich viel wie Du Ahnung vom korrekten Zitieren hast?
> Wo liegt das Problem?

q.e.d.

von Günter K. (enk)


Lesenswert?

Hallo liebe Leute,

Hmmm schrieb:
> Christoph M. schrieb:
>> Der Ablauf ist dabei wie folgt:
>> Man mache einen Kommentar mit z.B. 100 Zeichen. Dann nutzt man in Basic
>> ... Danach kann man dann aus BASIC heraus das Programm starten.

Das Meckern lasse ich mal draus. - Hmmm Du hast trotzden gut 
geantwortet,
Du schriebst:
> Zumindest auf dem C64 war die übliche Methode, dass man an den Anfang
> des BASIC-Speichers nur eine einzige BASIC-Zeile mit SYS 20xx gepackt
> hat, womit dann der unmittelbar dahinter liegende Maschinencode
> aufgerufen wurde. Wenn man den Code ...
> (1x im ...  BASIC-Code, 1x woanders), ging das ganz gut mit DATA-Zeilen,
> aber auch da hat man sinnvollerweise freien Speicher ausserhalb
> des BASIC-Codes mit POKEs befüllt.

Christoph M. schrieb:
>>> Der Ablauf ist dabei wie folgt: Man mache einen Kommentar
>>> mit z.B. 100 Zeichen. Dann nutzt man in Basic den Befehl 'poke'
>>> in BASIC um beliebige 8Bit Zahlen in diesen Bereich zu schreiben.
>>> Danach kann man dann aus BASIC heraus das Programm starten.
Günter K. schreibt:
Das ist doch gut. - Leider muss ich's wiederholen - schade:

Christoph M. schrieb:
> 20.06.2025 01:34
>>Solchen Murks habe ich nicht ein einziges Mal gesehen.
> Das liegt daran, dass du keine Ahnung vom ZX81 hast.
Die Hauptsache ist, man kommt weiter. Es kommt ja darauf an
man was die Maschine macht. - Mit ZX81 habe ich nicht kennen gelernt.
Liebe Grüße
Günter K.

von Klaus (feelfree)



Lesenswert?

Christoph M. schrieb:
>>Ähnlich viel wie Du Ahnung vom korrekten Zitieren hast?
> Wo liegt das Problem?

Sorry, die mobile Ansicht auf meinem Handy scheint kaputt zu sein.
Im Desktop-Modus sieht alles normal aus.

Edit: Klasse, und das hochladen klappt auch super, obwohl sich der 
Beitrag nach der Dateiauswahl nicht veränderte....

Ich sag nix mehr...

: Bearbeitet durch User
von Günter K. (enk)


Lesenswert?

Günter K. schrieb:
> Christoph M. zitierte:
>> 20.06.2025 01:34
>>>Solchen Murks habe ich nicht ein einziges Mal gesehen.

Günter K. schrieb: dass Christoph M.
ihm  von Hmmm (hmmm) am 20.06.2025 01:34 antwortete:
>> Das liegt daran, dass du keine Ahnung vom ZX81 hast.
Ja, ich weiß nicht wieviel Hmmm (hmmm) versteht,
wovon ich ja gar nichts weiß.
Liebe Grüße
Günter K.

von Thomas W. (datenreisender)


Lesenswert?

Christoph M. schrieb:
>>Ähnlich viel wie Du Ahnung vom korrekten Zitieren hast?

> Wo liegt das Problem?

Das Du den Link zum Beitrag auf den Du Dich beziehst geloescht hast. Der 
Leser  kann den Kontext nicht mehr einordnen und muss (wenn er will) den 
Ursprungstext suchen.

Ich ignoriere solche Beitraege mittlerweile (verschwendete Lebenszeit). 
Schade bei z.B. Christoph M. (mchris), aber der Wurm muss dem Fisch 
schmecken.

: Bearbeitet durch User
von Christoph M. (mchris)


Lesenswert?

Christoph M. schrieb:
> Wo liegt das Problem?
Thomas W. (datenreisender)
20.06.2025 08:45
>> Das Du den Link zum Beitrag auf den Du Dich beziehst geloescht hast.
Normalerweise gebe ich keinen Link zum Beitrag an, wenn der einen Post 
weiter vorne steht. Das finde ich dann zu viel Text. Aber vielleicht 
gibt es Probleme mit der Darstellung auf dem Smartphone. Ich sehe das 
Ganze auf dem großen Computer-Bildschirm und da könnte die Formatierung 
eine andere sein.

von Hmmm (hmmm)


Lesenswert?

Christoph M. schrieb:
> Das liegt daran, dass du keine Ahnung vom ZX81 hast.

Stimmt, ich hatte nur am Rande mal mit dem ZX Spectrum zu tun.

Aber warum sollte man umständlich in eine REM-Zeile POKEn statt in 
freien Speicher woanders? Oder hast Du danach den POKE-Teil entfernt und 
mit diesem Trick das BASIC-Listing mitsamt fertigem Maschinencode 
gespeichert?

von Soul E. (soul_eye)


Lesenswert?

Hmmm schrieb:
> Aber warum sollte man umständlich in eine REM-Zeile POKEn statt in
> freien Speicher woanders? Oder hast Du danach den POKE-Teil entfernt und
> mit diesem Trick das BASIC-Listing mitsamt fertigem Maschinencode
> gespeichert?

Exakt. Wenn man das Maschinenprogramm im BASIC-Bereich ablegt, kann man 
es mit den normalen LOAD und SAVE-Befehlen auf Kassette speichern und 
zurückladen. Speicherauszüge direkt abspeichern oder einlesen war beim 
ZX81 nicht vorgesehen.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Hmmm schrieb:
> Aber warum sollte man umständlich in eine REM-Zeile POKEn statt in
> freien Speicher woanders?
Weil der geniale Hmmm damals keine bessere Idee auf den 2 
duennpfiffgelben Mittelseiten der Elrad namens "computing today" 
veroeffentlicht hatte.
Und weils im ZX81 ueblicherweise keinen "freien Speicher" gab. War ja 
kurz nachm Krieg, wir hatten ja nix.

Das ging recht hurtig aufm ZX81: Rechnernetzteil in die Steckdose, 
folgendes eintippen:
1
10 REM XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
2
20 FOR N=16514 to 16555
3
30 INPUT I
4
40 POKE N,I
5
50 NEXT N
Dann RUN, dann den vorher nach ENK'scher Manier von Hand 
zusammengekloeppelten Maschinencode reintippern.
Dann mittels z.b.
RAND USR 16514
starten. Rechner stuerzt natuerlich ab. Dann Rechnernetzteil 
ausstoepseln, einstoepseln, Fehler beheben, und wieder tippern anfangen.
Das eintippen des BASIC Programms ging schneller, als die Cassette 
zurueckzuspulen, den Anfang finden, etc. bla.

von Roland F. (rhf)


Lesenswert?

Hallo,
Christoph M. schrieb:
> Das finde ich dann zu viel Text.

Grundsätzlich finde ich es gut wenn man unnötigen Test vermeidet, aber 
genau in diesem Fall ist das für alle Leser absolut kontraproduktiv. Und 
das bisschen Test zusätzlich ist doch nun wirklich kein Problem, oder?

rhf

von Roland F. (rhf)


Lesenswert?

Hallo,
Dergute W. schrieb:
> Das ging recht hurtig aufm ZX81:...

Mich gruselt es, gut das diese Zeiten vorbei sind.

rhf

von Hmmm (hmmm)


Lesenswert?

Dergute W. schrieb:
> Weil der geniale Hmmm damals keine bessere Idee auf den 2
> duennpfiffgelben Mittelseiten der Elrad namens "computing today"
> veroeffentlicht hatte.
> Und weils im ZX81 ueblicherweise keinen "freien Speicher" gab.

Auch da hätte wohl nichts dagegen gesprochen, den Maschinencode hinter 
dem BASIC-Code abzulegen, damals hat das noch keine PMMU verhindert.

Aber die Antwort von Soul hat meine Frage plausibel und vor allem 
sachlich beantwortet: Weil sich der Code in den REM-Zeilen danach mit 
SAVE speichern liess.

Auf dem C64 waren wir da geradezu verwöhnt.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Hmmm schrieb:
> Auch da hätte wohl nichts dagegen gesprochen, den Maschinencode hinter
> dem BASIC-Code abzulegen, damals hat das noch keine PMMU verhindert.

Dagegen haette am meisten gesprochen, dass hinter dem BASIC-Programm 
iirc der "Bildschirmspeicher" war. Also das, was auf dem TV erschien. 
Und da durften keinesfalls irgendwelche Bytes mit gesetztem Bit6 sein, 
sonst sind schlimme Sachen passiert (also wieder Stecker raus, stecker 
rein, weiter gehts)...

Gruss
WK

von Soul E. (soul_eye)


Lesenswert?

Dergute W. schrieb:
>
1
10 REM XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
2
> 20 FOR N=16514 to 16555
3
> 30 INPUT I
4
> 40 POKE N,I
5
> 50 NEXT N
> Dann RUN, dann den vorher nach ENK'scher Manier von Hand
> zusammengekloeppelten Maschinencode reintippern.
> Dann mittels z.b.
> RAND USR 16514
> starten. Rechner stuerzt natuerlich ab. Dann Rechnernetzteil
> ausstoepseln, einstoepseln, Fehler beheben, und wieder tippern anfangen.

Wenn es dann doch irgendwann lief, hat man die Zeilen 20ff natürlich 
gelöscht und da das Hauptprogramm untergebracht.


Hmmm schrieb:
> Auch da hätte wohl nichts dagegen gesprochen, den Maschinencode hinter
> dem BASIC-Code abzulegen, damals hat das noch keine PMMU verhindert.

Das Maschinenprogramm darf an beliebiger Stelle im BASIC-Speicher 
stehen. Die erste Zeile ist halt praktischer da leichter wiederzufinden. 
Der Rest rutscht ja jedesmal wenn man was einfügt oder ändert.

von Hmmm (hmmm)


Lesenswert?

Dergute W. schrieb:
> Dagegen haette am meisten gesprochen, dass hinter dem BASIC-Programm
> iirc der "Bildschirmspeicher" war

Ich meinte schon im BASIC-Speicherbereich, aber eben im freien Teil 
davon statt innerhalb des bestehenden Codes.

Oder klebte der Bildschirmspeicher immer direkt hinter dem BASIC-Code 
und wurde mit jeder neuen Codezeile verschoben? Dann war das 
Sinclair-Zeug noch skurriler, als ich es in Erinnerung habe.

von Thomas W. (datenreisender)


Lesenswert?

Hmmm schrieb:
> Dergute W. schrieb:
>> Dagegen haette am meisten gesprochen, dass hinter dem BASIC-Programm
>> iirc der "Bildschirmspeicher" war
>
> Ich meinte schon im BASIC-Speicherbereich, aber eben im freien Teil
> davon statt innerhalb des bestehenden Codes.

Bei den Basic-Interpreter der damaligen Zeit (ich bin ein Zeitzeuge...) 
war das Programm (die Schluesselworte wurden tokenisiert und z.b. PRINT 
war nur ein Byte) am "oberen" Speicherbereich (ROM ging bei der Z80 bei 
0x0000 los, dann Basic-Interpreter, dann Video-RAM) und erst dann begann 
der freie Programmspeicher im knappen RAM.

Wenn Du das Programm startete, wurden die Variablen beim "Ende des 
physikalischen Speichers" absteigend angelegt bis Ende des 
Programmtextes erreicht war: Es konnte Dir also passieren, dass mitten 
im Programm auf einmal "Out of Memory" angezeigt wurde. Verschaerft 
wurde das nur noch durch die Speicherverwaltung von Strings, z.B.
1
A = ""
legte den String an einem Punkt x ab, wenn Du spaeter
1
A = A + "jetzt geht es los" + A
ausfuehrst, musste der Rechner schon 1975 eine Garbage-Collection 
durchfuehren.

Basic (zumindest die Home-Computer-Versionen) hatte zwar Arrays, aber 
keine keine Records (VAX-Basic hatte das). Ich weiss es nicht mehr, ob 
es irgendeine dynamische Speicherverwaltung bei Basic gab.

von Hmmm (hmmm)


Lesenswert?

Thomas W. schrieb:
> Bei den Basic-Interpreter der damaligen Zeit (ich bin ein Zeitzeuge...)

Ich auch, aber eben C64-Veteran ohne grossen Kontakt zur Sinclair-Welt, 
deshalb meine Detailfragen dazu.

Auf dem C64 war es wie gesagt einfach, es gab einen festen 
BASIC-Programmspeicher von 0x0801 bis 0x9fff, die bekannten 38911 Bytes.

Diesen Bereich konnte man nach Lust und Laune nutzen. Wenn der 
BASIC-Code sauber terminiert war (ich glaube, es war 2x 0x00), war dem 
Interpreter alles dahinter egal. Mit einem z.B. 15 Bytes grossen 
"Loader" hatte man also von 0x0810 bis 0x9fff Platz, und 
praktischerweise hat LOAD standardmässig alles ab 0x0801 abgelegt, was 
das File hergab, unabhängig vom Inhalt.

Meine Frage ist jetzt, was auf dem ZX81 dagegen sprach, auch einfach in 
den freien Speicher hinter dem BASIC-Code zu POKEn. Ein "mitwandernder" 
Bildschirmspeicher, der immer hinter der letzten BASIC-Zeile klebt und 
diesen Speicher belegt, wäre natürlich ein Grund.

Die von Soul bestätigte Möglichkeit, den in REM-Zeilen verpackten Code 
mit SAVE zu speichern, wäre wiederum nicht nötig, wenn man ihn beim 
Start ohnehin mit einer POKE-Schleife neu erzeugt.

: Bearbeitet durch User
von Klaus (feelfree)


Lesenswert?

Hmmm schrieb:
> wenn man ihn beim
> Start ohnehin mit einer POKE-Schleife neu erzeugt.

Ich glaube Du hast die Poke-Schleife nicht richtig erfasst: Da werden 
keine zuvor abgespeicherten, sondern interaktiv abgefragte Daten 
"gepoket".

von Hmmm (hmmm)


Lesenswert?

Klaus schrieb:
> Ich glaube Du hast die Poke-Schleife nicht richtig erfasst: Da werden
> keine zuvor abgespeicherten, sondern interaktiv abgefragte Daten
> "gepoket".

Christoph sprach schon von dort abgelegtem Code, aber die Frage, warum 
man auf dem ZX81 dafür einen REM-Platzhalter braucht, statt die Daten 
hinter dem vom BASIC-Code genutzten Speicher abzulegen, stellt sich 
unabhängig davon.

Nach dem, was ich zum ZX81-Bildschirmspeicher ("DFILE") finde, war 
dessen Startadresse allerdings tatsächlich dynamisch. Das kann einem 
natürlich wirklich den gefahrlos nutzbaren Bereich auf den BASIC-Code 
beschränken und somit den REM-Zeilen-Trick notwendig machen.

Sinclair war schon recht speziell, auf dem ZX Spectrum fand ich die 
diversen verschiedenen Cursor-Arten gewöhnungsbedürftig. Auch wenn sie 
angesichts der Standard-Gummitastatur wohl ihre Berechtigung hatten.

von Thomas W. (Gast)


Lesenswert?

Hmmm schrieb:
> Thomas W. schrieb:
>> Bei den Basic-Interpreter der damaligen Zeit (ich bin ein Zeitzeuge...)
>
> Ich auch, aber eben C64-Veteran ohne grossen Kontakt zur Sinclair-Welt,
> deshalb meine Detailfragen dazu.
>
> Auf dem C64 war es wie gesagt einfach, es gab einen festen
> BASIC-Programmspeicher von 0x0801 bis 0x9fff, die bekannten 38911 Bytes.

Was der ZX81 offensichtlich nicht konnte: Speicher reservieren so dass 
man eine wohldefinierte Adresse fuer das Laden eines Binaries hatte. Die 
erste Zeile Deines Programmes, die war wohldefiniert.

Eben beim Googlen habe ich dieses schoene Stueck Geschichte gefunden:
https://github.com/andrivet/zx81-typescript-emulator

Herrlich, was es jetzt alles gibt.

von Hmmm (hmmm)


Lesenswert?

Thomas W. schrieb:
> Was der ZX81 offensichtlich nicht konnte: Speicher reservieren

So einen Luxus hatte damals wohl keiner der Home-Computer. Auf dem C64 
hätten weitere BASIC-Zeilen natürlich auch den dahinterliegenden 
Maschinencode überschrieben, weil das für den Interpreter nur 
ungenutzter Speicher war.

Thomas W. schrieb:
> Herrlich, was es jetzt alles gibt.

Ja, und Systeme, die sich damals unfassbar schnell anfühlten, emuliert 
man heute bequem auf dem Smartphone oder im Browser.

von Thomas W. (Gast)


Lesenswert?

Hmmm schrieb:
> Thomas W. schrieb:
>> Was der ZX81 offensichtlich nicht konnte: Speicher reservieren
>
> So einen Luxus hatte damals wohl keiner der Home-Computer. Auf dem C64
> hätten weitere BASIC-Zeilen natürlich auch den dahinterliegenden
> Maschinencode überschrieben, weil das für den Interpreter nur
> ungenutzter Speicher war.

Der TRS-80 Model I hatte eine Abfrage "mem Size=?" so dass 
Speicherbereich reserviert werden konnte. Ebenso MBASIC (von MicroSoft) 
unter CP/M. Unter DOS konnte man ja schon Speicher reservieren (fuer die 
beruehmte Load and Stay Resident-Programme).

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Thomas W. schrieb:
> Eben beim Googlen habe ich dieses schoene Stueck Geschichte gefunden:
> https://github.com/andrivet/zx81-typescript-emulator

So wie ich das sehe, gibts ja da auch scans der Originalhandbuecher. 
Wenns wirklich interessiert, da halt reingucken. Im ZX81 Basic 
Programming.pdf gibts gegen Ende sehr ausfuehrliche Info, wie der 
Speicher/Basic-gedoens intern organisiert ist.
Weil der ZX81 aber auch mit nur 1kByte RAM erstaunlich gut funktioniert, 
gibt's da halt ein paar Besonderheiten, wie wandernden 
Bildschirmspeicher, der auch noch in der Groesse nicht konstant sein 
muss und bei leerem Bildschirm auf 25 Byte oder so zusammenschnurren 
kann.
Das mit dem Maschinencode in der ersten REM-Zeile hatte gute Gruende und 
nur weil man die noch nie gehoert hat, und's bei anderen Rechnern anders 
ging, muss das nicht komplett Kacke sein.
In der c't gab's auch mal einen Artikel, der die Funktion der 
Bildschrimausgabe detailliert beschrieben hat; das ist hoechst tricky 
geloest, und dass <CR> im ZX81-Code und die Z80 "halt" Instruktion beide 
dezimal 118 sind, ist kein Zufall...
</opa-erzaehlt-vom-krieg>

Gruss
WK

von Soul E. (soul_eye)


Lesenswert?

Thomas W. schrieb:
> Was der ZX81 offensichtlich nicht konnte: Speicher reservieren so dass
> man eine wohldefinierte Adresse fuer das Laden eines Binaries hatte. Die
> erste Zeile Deines Programmes, die war wohldefiniert.

Der ZX81 hatte eine Systemvariable namens MEMTOP. Die enthielt die 
oberste nutzbare Adresse plus 1. Wenn man die verkleinerte, konnte man 
Platz schaffen für Maschinencode.

Aber man konnte diesen Maschinencode nicht speichern. Zumindest nicht 
mit Bordmitteln auf Cassette. D.h. der User musste ein BASIC-Programm 
laden, welches den Code da oben hin POKEd, dann NEW eintippen und ein 
weiteres Programm laden, welches den Code nutzt. Die Methode mit dem 
eingebetteten Code war da praktischer.

von Hmmm (hmmm)


Lesenswert?

Soul E. schrieb:
> Der ZX81 hatte eine Systemvariable namens MEMTOP. Die enthielt die
> oberste nutzbare Adresse plus 1. Wenn man die verkleinerte, konnte man
> Platz schaffen für Maschinencode.

Demnach war die Kombination aus REM-Platzhalter und POKE-Schleife zur 
Laufzeit (mit verdoppeltem Speicherbedarf) tatsächlich unnötig.

Code hat man am besten in erstere gefüllt und danach (ohne die ggf. 
dafür verwendete POKE-Schleife) gespeichert, und zur Laufzeit erzeugte 
Daten konnte man auch hinter MEMTOP packen, um nicht die REM-Platzhalter 
mitladen zu müssen.

Soul E. schrieb:
> D.h. der User musste ein BASIC-Programm
> laden, welches den Code da oben hin POKEd, dann NEW eintippen und ein
> weiteres Programm laden, welches den Code nutzt.

Konnte man aus dem BASIC-Code nicht direkt nach dem POKEn mit RAND USR 
den dort abgelegten Code aufrufen?

von Soul E. (soul_eye)


Lesenswert?

Hmmm schrieb:
> Demnach war die Kombination aus REM-Platzhalter und POKE-Schleife zur
> Laufzeit (mit verdoppeltem Speicherbedarf) tatsächlich unnötig.

Niemand hat die POKE-Schleife zur Laufzeit genutzt. Die wurde verwendet, 
um den Code einzutippen und hat ggf eine Prüfsumme berechnet. Danach 
wurde sie gelöscht und durch das eigentliche Programm ersetzt.

Nicht vergessen: der ZX81 konnte nur einen Befehl pro Zeile und hatte 
kein READ/RESTORE/DATA. Man müsste POKEs mit Konstanten also alle 
aussschreiben. Das wären dann 10 Bytes um ein Byte OpCode abzulegen.

> Code hat man am besten in erstere gefüllt und danach (ohne die ggf.
> dafür verwendete POKE-Schleife) gespeichert, und zur Laufzeit erzeugte
> Daten konnte man auch hinter MEMTOP packen, um nicht die REM-Platzhalter
> mitladen zu müssen.

Exakt.


> Soul E. schrieb:
>> D.h. der User musste ein BASIC-Programm
>> laden, welches den Code da oben hin POKEd, dann NEW eintippen und ein
>> weiteres Programm laden, welches den Code nutzt.
>
> Konnte man aus dem BASIC-Code nicht direkt nach dem POKEn mit RAND USR
> den dort abgelegten Code aufrufen?

Natürlich ging das, aber das POKE-Programm stand dann noch im 
BASIC-Speicher. "10 POKE 48192,55" braucht 11 Bytes um ein Byte 
abzulegen. Daher hat man das üblicherweise gelöscht und dann die 
resident geladene Routine genutzt.

Nach dem Ändern von MEMTOP war ein "NEW" erforderlich, um die anderen 
Systemvariablen anzupassen.

von Rbx (rcx)


Lesenswert?

Gunnar F. schrieb:
> geht das auch in Maschinencode?

Nicht ganz so Begrifflich schön wie in C aber man stelle sich einen 
Instruction-Pointer vor, der auf den Start zeigt, meistens bei "0".
(oder sowas wie mov bp,sp)

Arduino F. schrieb:
> ASM kennt keine Funktionen, und damit auch keine Funktionsparameter.

Na, das ist auch Unfug, weil sich das auf C bezieht oder andere 
Hochsprachen.
Man erstellt sich stattdessen ein "Modul" wie man so schön sagt, ist 
aber rein funktionell nichts anderes.

Ein weiterer Unterschied wäre, dass bei Asm wirklich nur die Funktion im 
Hexeditor steht, und nicht auch noch ein halber Roman hintendran mit 
fragwürdigen Inhalten.

Was man sich merken kann, und das ist auch wichtig, das ist, dass 
Assembler, bzw. die Assembler selber nicht gut standardisiert sind - 
einmal das nicht, und dass zum anderen die CPUs auch verschieden sein 
können, und damit die Hardware und damit auch die 
Hardwareprogrammierung.
Hochsprachen wie C erleichtern den Umgang mit vielen verschiedenen 
Mikrocontrollern sehr.

von Günter K. (enk)


Lesenswert?

Hmmm schrieb:
> ... damals hat das noch keine PMMU verhindert.
Lieber Hmmm, was ist eine: "PMMU"?
Liebe Grüße
Günter K.
(ENK)
:-)

von Klaus (feelfree)


Lesenswert?

Günter K. schrieb:
> was ist eine: "PMMU"?

Nichts, was es in 50 Jahre alten Rechnern gegeben hätte. Du musst also 
nicht deine Speicherkapazität mit solch unnützem Wissen verstopfen.

von Hmmm (hmmm)


Lesenswert?

Günter K. schrieb:
> Lieber Hmmm, was ist eine: "PMMU"?

Eine Paged Memory Management Unit. Die kümmert sich unter anderem darum, 
dass Prozesse nur auf Speicherbereiche zugreifen können, bei denen das 
gewollt ist.

Sowas hatten die damaligen Computer nicht, jeglicher auf der CPU 
laufende Code konnte immer auf alles (Speicher, Peripheriebausteine 
etc.) zugreifen.

von Günter K. (enk)


Lesenswert?

Klaus (feelfree) schrieb: am 20.06.2025 22:29
> ... mit solch unnützem Wissen verstopfen.
Ja, Dankeschön!
Liebe Grüße
Günter K.
(ENK)
😊

von Günter K. (enk)


Lesenswert?

Thomas W. schrieb:
> LIPS ist LISP,
> und da ist ;; der Comment-delimiter.
ist ;; der Comment-delimiter, - als das Kommentartrennzeichen;
so lerne ich doch noch, immer noch ein bisschen Englisch dazu.
Liebe Grüße
Günter K.
(ENK)
😊

von Günter K. (enk)


Lesenswert?

Hallo liebe Leute,

... Wenn ein Macro mehr als ein Argument erwartet dann können
die Argumente durch ein (,) getrennt angegeben werden
wie bei anderen Assembler Befehlen üblich.

Definieren wir ein weiteres Macro in unserer   my_lib.INC:

%macro sleep 1
    mov rcx, %1
    _wait_loop
        nop
        dec rcx
        jnz _wait_loop
%endmacro

So I go sleep
Gute Nacht liebe Leute,
liebe Grüße
Günter K.
(ENK)
😊

von Klaus F. (klaus27f)


Lesenswert?

Mann o Mann, Günter,
da hat dir chatGPT aber ein tolles Macro für deinen Junior-Computer 
rausgehauen !

von Cyblord -. (cyblord)


Lesenswert?

Günter K. schrieb:
> So I go sleep

"Englisch" wurde der Liste der Dinge, die du nicht kannst, hinzugefügt.

: Bearbeitet durch User
von Günter K. (enk)


Lesenswert?

Cyblord -. schrieb:
> "Englisch" wurde der Liste der Dinge,
>  die du nicht kannst, hinzugefügt.
Hallo liebe Leute, hallo Cyblord,
Guten Tag, - ja, leider stimmt das.
Liebe Grüße
Günter K.
(ENK)
PS.: Ich mache weiter 😊

von Klaus F. (klaus27f)


Lesenswert?

Günter K. schrieb:
> PS.: Ich mache weiter 😊

Mit WAS ?

von Günter K. (enk)


Lesenswert?

Klaus F. schrieb:
>> PS.: Ich mache weiter 😊
>
> Mit WAS ?
Mit dem JC, - .
Danach ältere 8086, - nebenbei,
ein bisschen Assembler (als XP) unter DOS
(Ob das Betriebssysetem das noch kann,
weiß ich noch nicht.
Mit lieben Grüßen
Günter K.
(ENK)
😊

: Bearbeitet durch User
von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Kann es.

von Falk B. (falk)


Lesenswert?

Das verlangt nach einem Klassiker.

BING

https://www.youtube.com/watch?v=XVK40T33AMw

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

Günter K. schrieb:
> Mit dem JC

Gute Idee - arbeite die Elektor-Bücher durch - kann ich nur immer 
wiederholen!

Günter K. schrieb:
> Danach ältere 8086, - nebenbei,
> ein bisschen Assembler (als XP) unter DOS

Lass es! Das bringt nix. Mach die ganz einfachen Sachen Schritt für 
Schritt! Der Junior ist ausreichend dafür. Und den hast du ja vor dir 
liegen.

von KeinerLachtOhneHoden (keinerlachtohnehoden)


Lesenswert?

Günter K. schrieb:
> Mit dem JC, - .
> Danach ältere 8086, - nebenbei,
> ein bisschen Assembler (als XP) unter DOS
> (Ob das Betriebssysetem das noch kann,
> weiß ich noch nicht.

Sehr gut wenn auch Menschen im fortgeschrittenen Alter sich IT- und 
Elektronikmäßig noch was vornehmen!

von Günter K. (enk)


Lesenswert?

Hallo liebe Leute,

für das kommende Musikprogramm für den JC,
habe ich auf einem Bred-Board vom Arduino 6 Tasten gesteckt,
denn im Lied kommen 6 verschiedene Töne vor.
Hier eine speziell gedachte Anordnung der Tastatur
für - ein bestimmtes Lied.

3 schwarze Tasten und 3 weiße Tasten;
zur Orientierung zu den Violine-Noten.
Die schwarzen Tasten liegen auf der Linie und
die weißen Tasten liegen zwischen den Linien.
Allerdings beziehen sie sich nur auf die mittleren 3 Linien, denn die
unteren Noten z.B.: die für die E-Linie und die Oberen z.B.: die für 
F-Linie, kommen nicht als Note vor.

Im Noten-Bild für die Noten, kommen natürlich alle 5 Linien vor.
Folgende Töne kommen von unten nach oben vor, beginnend bei G4:
G4(s), A4(w), B4(s), C5(w), D5(s) und E5(w). (s)=schwarz, (w)=weiß, 
angeordnet.  -  B = International, ist gleich: H = Deutsch.
Die oberste und unterste Linie, - muss man sich dazu-denken.

Das Programm ist noch nicht eingegeben. Das Lied wird
manuell eingegeben werden. - Noch, ist es noch nicht so weit.
Viele liebe Grüße
Günter K.
(ENK)
😊

von Klaus (feelfree)


Lesenswert?

Nachhilfe im Notenlesen/schreiben wäre auch nicht verkehrt...
Aber egal, der JC wird sowieso nie auch nur einen Pieps ausgeben.

von Günter K. (enk)


Lesenswert?

Hallo liebe Leute,
Hallo lieber Wolfgang R.
Wolfgang R. schrieb:
> Lass es! Das bringt nix. Mach die ganz einfachen Sachen Schritt für
> Schritt! Der Junior ist ausreichend dafür. Und den hast du ja vor dir
> liegen.
DANKESCHÖN für den Rat;
ok, den habe ich ja auch noch nicht durch.
Liebe Grüße
Günter K.
(ENK)
:-)

von Günter K. (enk)


Lesenswert?

Klaus schrieb:
> Nachhilfe im Notenlesen/schreiben wäre auch nicht verkehrt...
Wieso?

Liebe Grüße
Günter K.
(ENK)

von Klaus (feelfree)



Lesenswert?

Günter K. schrieb:
>> Nachhilfe im Notenlesen/schreiben wäre auch nicht verkehrt...
> Wieso?

Günter K. schrieb:
> Die schwarzen Tasten liegen auf der Linie und
> die weißen Tasten liegen zwischen den Linien.
> G4(s), A4(w), B4(s), C5(w), D5(s) und E5(w). (s)=schwarz,

Du machst dir die Welt, wie sie dir gefällt.

von Klaus F. (klaus27f)


Lesenswert?

> Wieso?
.
.
     Da ist leider Hopfen und Malz verloren
.
.
  Und zwar gewaltig.
.
.

von Günter K. (enk)


Lesenswert?

Hallo liebe Leute,

Günter K. schrieb:
> Hier eine speziell gedachte Anordnung der Tastatur
> für - ein bestimmtes Lied.

-Es ist keine übliche Klaviatur.-
=================================

Es sind nur 6 Tasten (sonst nichts),
die ich an den Junior-Computer anschließen werde.
Wie ich das -richtig- mache,
ist natürlich -mir-, überlassen;
wie gesagt: für - ein bestimmtes Lied.
😊))
Günter K. schrieb:
> Im Noten-Bild für die Noten,
> kommen natürlich alle 5 Linien vor.
Also dem Notenbild des Liedes, kommen nicht mehr
als 6 verschiedene Töne vor, und diese werden dann
mit dieser Tastatur gespielt, mehr nicht.
Aber mehr, als: Ein Pieps. Denn Du Klaus schriebst im Beitrag #7899193:
>> Aber egal, der JC wird sowieso nie auch nur einen Pieps ausgeben.
Folgende Töne kommen -nur- in dem Lied, von unten nach oben vor,
denn ich schrieb:
> Folgende Töne kommen von unten nach oben vor,
> beginnend bei G4:
> G4(s), A4(w), B4(s), C5(w), D5(s) und E5(w). (s)=schwarz, (w)=weiß,
> angeordnet.  -  B = International, ist gleich: H = Deutsch.
> Die oberste und unterste Linie, - muss man sich dazu-denken.

-Das bestimmte Lied, hat u.a. nur 6 Töne.-
Diese Tasten haben nur diese Farbe; siehe oben.

Die dann evtl. in der Melodie wiederholt gespielt werden (oder nicht).
Auch über die Tonlänge, habe ich keine Angaben gemacht.
Es sind nur 6 Tasten, die ein bestimmtes Lied,
erklingen lassen sollen.
Liebe Grüße
Günter K.
;-)

: Bearbeitet durch User
von Klaus (feelfree)


Lesenswert?

Günter K. schrieb:
> Es sind nur 6 Tasten, die ein bestimmtes Lied,
> erklingen lassen sollen

Vielleicht solltest du nicht nur längliche Erklärungen und Ankündigungen 
machen, sondern einfach mal liefern.

Günter K. schrieb:
> Aber mehr, als: Ein Pieps.

In deinem Kopf ganz sicher, aber niemals in der Realität.

von Günter K. (enk)


Lesenswert?

Hallo liebe Leute,
ein schöner Sonntag sei gewünscht.

Klaus schrieb:
> In deinem Kopf ganz sicher, aber niemals in der Realität.

Ja, - noch in meinen Kopf - und erst danach in Realität.
denn ich habe das Programm noch nicht geschrieben.
Später danach, kommt die Klaviatur
aus dem Junior Buch 2 dran.
Liebe Grüße
Günter K.
(ENK)
😊

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
Noch kein Account? Hier anmelden.