Umwandlung nach BCD

OP #2045616
Lesenswert?

Ich binn grad auf Lothars Seite auf die BCD Umwandlung gestossen:
http://www.lothar-miller.de/s9y/archives/34-Vektor-nach-BCD.html

Dort ist zu Lesen:
Der Vektor wird von rechts in die BCD-Zahlen hineingeschoben und beim 
Überlauf die entsprechende BCD-Stelle mit einer Addition +6 korrigiert.

Irgendwie versteh ich nicht warum das so geht, ich habe mir mal mit 
Excel einen versuch gemacht und die Zahl 99 nach BCD konvertiert.
Beim 5. Shift kommt es zum Überlauf und ich rechne dann 6 Dazu. Aber am 
Ende kommt nicht 99 raus, sondern 93. Wieso ? Wo ist mein Denkfehler ?
Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #2046052
Lesenswert?

Ok, langsam:
99 =      01100011
Z    E
---- ---- 01100011
---- ---0 1100011
---- --01 100011
---- -011 00011
---- 0110 0011      E>4 --> E = E+3 = 6+3 = 9 = 1001
---- 1001 0011
---1 0010 011
--10 0100 11
-100 1001 1         E>4 --> E = E+3 = 9+3 = 12 = 1100
-100 1100 1
1001 1001     -> 9 9

Ich habe in meinem VHDL-Code das Shift-Add-3 Verfahren verwendet, weil 
das Addieren von 3 und das gleichzeitige Schieben im FPGA wie eine 
Addition von 6 ist...

Z    E
---- ---- 01100011
---- ---0 1100011
---- --01 100011
---- -011 00011
---- 0110 0011
---0 1100 011       E>9 -->
---1 0010 011       E = E+6 = 12+6 = 18 = 1 0010 --> Z=1, E=0010
--10 0100 11
-100 1001 1
1001 0011           Überlauf, weil E nach Shift E>9 -->  ****
1001 1001           E = E+6 = 3+6 = 9 = 1001 --> E=1001 -> 9 9
                   (****Diesen zweiten Überlauf hast du nicht 
erkannt...)

Das Shift-Add-6 Verfahren hat die etwas unangenehme Eigenschaft, dass 
der Übertrag nicht so leicht zu erkennen ist, weil er entweder bei >9 
oder bei einem Übertrag einer 1 in die nächste Stelle stattfindet. Zudem 
muß auch die rechnerische Korrektur (+6) evtl. die nächste Stelle 
manipulieren...


Siehe auch dort etwa in der Mitte:
http://www.scribd.com/doc/47896259/Digital-Logic-FPGA-Lab-Manual
Gast #2047724
Lesenswert?

Hey Lothar,

na wie läuft es in der Wurst-Fabrik ?  :-)

VG, Würstle-Horst



P.S.

>PS. das solltest du vielleicht noch auf deiner Seite dazuschreiben
Leute, Ihr solltet mal damit anfangen, selber nachzudenken!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren