…Idee wurde Algorythmus, Algorythmus zu Mnemonic und Mnemonic zum Programm…….
Passiert oft während einer langweiligen Zugfahrt oder in Wartezimmern von Ärzten, nicht nur spektakuläres, sonder auch oft ganz grundlegendes.
Die Umwandlung eines 8-Bit Integers nach ASCII zur Ausgabe auf den Bildschirm in 6502 Assembler zum Beispiel, schau einfach mal hier nach: https://retrozock.wordpress.com/2012/04/07/zahlenspiele/
Gleiches Prinzip, die Umwandlung eines 8-Bit Integres nach Hex. Dezimale Zahlen gründen sich auf der Basis 10 und werden mittels der Ziffern 0 bis 9 dargestellt.
Hexadezimale Zahlen gründen sich auf der Basis 16 und werden mittels der Ziffern 0 bis F dargestellt. Für die Umwandlung eines 8-Bit Integres benötigen wir im hexadezimalen Zahlensystem 2 Ziffern. Stelle 1 ergibt die Potenz 16^1=16 und die zweite Stelle 16^0=1 (vgl. dezimal: 10^2=100, 10^1=10, 10^0=1).
Wir fragen uns nun , wie oft kann ich von meiner Zahl, sagen wir der 169, die 16 abziehen? 10 mal, Rest 9!
Damit ist die erste Ziffer unserer gesuchten Zahl (hex) die 10, also A.
Weiter mit dem Rest. Wie oft kann ich von der Neun die 1 abziehen? Neun mal, Rest 0!
Damit ist die zweite Ziffer unserer gesuchten Zahl (hex) die 9 => 169 (dez.)=A9 (hex).
Das nachstehende Progrämmchen macht’s vor:
* INTHEX.SRC * * WANDELT DEN IN "ZAHL" ENTHALTENEN * INTEGER IN BILDSCHRIMZEICHEN UM UND * GIBT DIESE AUF DEM BILDSCHIRM * ALS HEX- ZAHL AUS * * ZAHL KLEINER ODER GLEICH 255! * * B.FRITZ 5.6.2012 ************************************* BILD EQU 88 ADRESSE BILDSPEICHER BILDH EQU 89 ORG $A800 * ANZAHL DER STELLEN UNSERER ZAHL * UND ZEIGER AUF UNSERE TABELLE DER * POTENZEN VON 16 LDY #0 * ANZAHL DER SUBTRAKTIONEN BIS DAS * ERGEBNIS >0 WAR LDX #0 * LOS GEHTS LDA ZAHL ZAHL VORHER RETTEN STA ZAHLB L1 SEC LDX #0 L2 LDA ZAHLB SBC POW,Y STA ZAHLB
BCC NULL ERGEBNIS<0
INX ERGEBNIS>0 D.H. BCS L2 WEITER NULL LDA ZIFF,X EREBNIS<0 STA (BILD),Y ZIFFER AUSG. LDA ZAHLB ZAHL>0 MACHEN ADC POW,Y STA ZAHLB INY NAECHST NIEDR. CPY #2 16ER, ALLE STELLEN BNE L1 DURCH?
BRK JA!
* * EINIGE DATEN * * UNSERE ZIFFERN- ZEICHEN ZIFF ASC %0123456789ABCDEF% * 16ER
POW DFB 16,1
* DIESE ZAHL SOLL AUSGEGEBEN WERDEN ZAHL DFB 169 * ZWISCHENSPEICHER ZUM RECHNEN ZAHLB DFB 0
Kommentar verfassen