Günstig ist in zwei Stellen "zu sprechen", also "$FF" "$FF" ... "AF" "12" "2B" = "ah ef" "eins zwei" "zwei beh" usf.
"Programmieren" lernen
-
-
Man kommt ja in Versuchung eine 16 wie eine 16 auszusprechen
Immer ziffernweise. Also $16 wird gesprochen als : eins - sechs.
Binärzahlen spricht man ja auch nicht dezimal aus: Binär 10 ist "eins-null" und nicht "zehn".
Nur Dezimalzahlen werden auch dezimal ausgesprochen.
-
Man kommt ja in Versuchung eine 16 wie eine 16 auszusprechen
Immer ziffernweise. Also $16 wird gesprochen als : eins - sechs.
Binärzahlen spricht man ja auch nicht dezimal aus: Binär 10 ist "eins-null" und nicht "zehn".
Nur Dezimalzahlen werden auch dezimal ausgesprochen.
Das erinnert mich an den Spruch:
Es gibt 10 Arten von Leute auf der Welt:
Die, die binär verstehen, und die, die es nicht verstehen.
-
Man kommt ja in Versuchung eine 16 wie eine 16 auszusprechen
Immer ziffernweise. Also $16 wird gesprochen als : eins - sechs.
Binärzahlen spricht man ja auch nicht dezimal aus: Binär 10 ist "eins-null" und nicht "zehn".
Nur Dezimalzahlen werden auch dezimal ausgesprochen.
Das erinnert mich an den Spruch:
Es gibt 10 Arten von Leute auf der Welt:
Die, die binär verstehen, und die, die es nicht verstehen.
Irgendwo her kenne ich den Spruch . Er gefiel mir so gut, dass ich ihn seit längerem hier als Fußnote habe. Gerade da merkt man, wie wichtig die richtige Ausprache der Zahl bzw. der Ziffernkette ist. Meine Frau programmiert ja auch Assembler, allerdings kommt sie momentan nicht dazu. Sie beschäftigt sich mit dem 8051 Controller. Wenn sie jemand fragt, welche Sprachen sie spricht, sagt sie immer Deutsch und Mathe. Sie mag Zahlensysteme und ist auch total aufgeblüht, als sie mir zB erklärt hat, wie man Binärzahlen subtrahiert etc.
Allerdings will sie sich nicht näher mit dem 6502 beschäftigen, anderer Befehlssatz, andere Register...etc.
Ich schrieb ihr einmal eine SMS mit dem Spruch und sie hat wirklich den ganzen Mittag, bis ich von der Arbeit kam, überlegt, was der Spruch bedeutet. Gerade, weil die Zahl nur 2 Ziffern hatte, hat sie es als dezimale Zehn interpretiert, statt als binäre eins-null. Hätte ich 1010 geschrieben, wäre es etwas anderes gewesen.
Ich hab mir bei Notizen auch angewöhnt, jetzt immer $ vor hex, % vor bin und # vor dez anzufügen, wenn ich mich mit Assembler beschäftige. Wobei es meistens auch so logisch ist. Die Adresse 53280 gäbe es in hex und bin gar nicht und wäre auch völlig unlogisch.
Gruss Jan
-
10 ..... 1-0
... Hab es auch gerade erst gemerkt beim Scorpion auf Netflix gucken...
-
Irgendwo her kenne ich den Spruch
Gibt's z.B. als T-Shirt.
-
Zitat
Bei meinem sind es insgesamt nur knapp 50 Seiten.
Das ist wirklich Komisch, ich habe gelesen das Dein Handbuch Doppelt so viele Seiten wie meins hat.
Wenn ich diese Woche endlich dazukomme, werde ich mal das Buch durcharbeiten und dann Einscannen.
Dann kannst Du mal beide Ausgaben vergleichen.
Grüße Jürgen
-
Irgendwo her kenne ich den Spruch
Gibt's z.B. als T-Shirt.
-
Frage: Gibt es ein Programm um den Quelltext passend zu formatieren, also die Spalten Auszurichten ?
Aktuell lese ich wieder etwas Quellcode für den Z80, assembliere und teste ..
Ein Problem habe ich aber, die Formartierung im Quelltext passt nicht.
Beispiel:
Code
Alles anzeigenESET3: BIT 5,(IX) ;test density JR NZ,RESET4 ;jump if double density SET 5,(IX) ;set to double density DJNZ RESET2 ;try again RESET4: RES 5,(IX) ;switch to single density DJNZ RESET2 ;try again JR $ ;no load --> HANG UP ! RESET5: LD A,0F7H OUT ($IOSEL),A ;disable ROM XOR A ;switch boot marker off PUSH AF JP 06ADH ;jump into "TRS-80 pseudo ROM So sollte es sein. ESET3: BIT 5,(IX) ;test density JR NZ,RESET4 ;jump if double density SET 5,(IX) ;set to double density DJNZ RESET2 ;try again RESET4: RES 5,(IX) ;switch to single density DJNZ RESET2 ;try again JR $ ;no load --> HANG UP ! RESET5: LD A,0F7H OUT ($IOSEL),A ;disable ROM XOR A ;switch boot marker off PUSH AF JP 06ADH ;jump into "TRS-80 pseudo ROM
-
Da sind anscheinend Tabs im Spiel. Wenn Du z.B. im Emacs die tab-width passend einstellst, sollte er es ausgerichtet darstellen.
-
Der Quellcode wurde unter CP/M erstellt, Wordstar im Nondocument Modus (vermutlich).
Im Notepad++ sieht es soaus (alle Zeichen dargestellt):
-
Hmmm... vielleicht kannst Du die Source Assemblieren, und zwar mit LST Output (wo Byte Code und Assembler Text kombiniert dargestellt wird).
Dadurch könnte es wieder reformatiert sein.
Oder Du verzichtest auf die Kommentare und assemblierst es, und danach deassemblierst Du es wieder
(Ok, die letzte Idee ist wohl nicht so toll, aber man könnte eventuell die Kommentare vorher retten....)
-
TABs auf "8" einstellen, sollte klappen.
-
Hmmm... vielleicht kannst Du die Source Assemblieren, und zwar mit LST Output (wo Byte Code und Assembler Text kombiniert dargestellt wird).
Dadurch könnte es wieder reformatiert sein.
Oder Du verzichtest auf die Kommentare und assemblierst es, und danach deassemblierst Du es wieder
(Ok, die letzte Idee ist wohl nicht so toll, aber man könnte eventuell die Kommentare vorher retten....)
Die Idee gefällt mir, leider sieht die PRN auch so 'schräg' formatiert aus.
Geht also nicht.
ThoralfAsmussen genau, ich versuche mal die TABS umzustellen.
-
Der Quellcode wurde unter CP/M erstellt, Wordstar im Nondocument Modus (vermutlich).
Im Notepad++ sieht es soaus (alle Zeichen dargestellt):
Sieht doch gut aus. Stelle die Formatierung in Notepad++ auf 8er Tabs (Tab alle 8 Zeichen) und die Formierung wird vermutlich passen.
-
Oder mit vim:
Die erste Zeile setzt die Tab-Weite auf 8, dann sollte die Ansicht stimmen.
Im Drucker kann es aber anders eingestellt sein, deshalb mit :expandtab
einstellen, dass ein druck auf Tab nicht einen Tab einfügt sondern entsprechend
viele Leerzeichen. und mit :retab werden im ganzen Dokument die Tabs
neu erzeugt, also in diesem Fall mit Leerzeichen ersetzt. Das Ersetzen ist
natürlich nicht ein Leerzeichen pro Tab oder hier 8 pro Tab, sondern
soviele das es genauso aussieht wie mit der eingestellten Tab-Weite.
Danach sollte der Ausdruck auch richtig aussehen, da jetzt keine Tabs
mehr drin sind.
BTW mit
wird gespeichert und beendet (write und quit). Mit :q! verlässt man ohne
speichern und ohne Nachfrage, ob die Änderungen wirklich verworfen
werden sollen.
PS: Mit gVim hat man sogar die üblichen grafischen Elemente.
-
Das geht natürlich auch in Notepad++ (Bearbeiten -> Nicht druckbare Zeichen -> Tabulatoren in Leerzeichen umwandeln).
Vorher natürlich den Tab-Abstand richtig einstellen, damit die richtige Anzahl Leerzeichen eingefügt wird.
Ich persönlich arbeite übrigens lieber mit Tabs als mit Leerzeichen und lasse daher in solchen Daten immer erstmal die Leerzeichen durch Tabs ersetzen.
-
Wollte mal kurz ein Video einwerfen was zum Thema programmieren passt: