Hi Leuts! Habe mal ein frage weiss vielleicht einer von euch wo es eine dividierroutine von einer 8bit dualzahl durch eine 10(dezimal) gibt? Bzw. 8bit dual durch 8bit dual(rest muesste ich mir dann Ableiten) Waere super wenn irgenwo gut erklaert stehen wuerde damit man es auch versteht.Ptogrammiere in Assembler.
Wenn Du AVR-Studio verwendest gibs in dem Ordner AppNotes 2 .asm-Files wo für Deine Zwecke was dabei ist. Ansonsten bei www.atmel.com nach diesen AppNotes suchen. Gruß Andi
Hi. Hab das vor kurzem in VHDL "geschrieben" oder besser "beschschrieben" :-) Mir hat da sehr dieses Dokument geholfen, wo das sehr gut erklärt ist: http://www.rs.uni-siegen.de/Lehre/skripte/Rechner_Arithmetik/kap5_1bis30.pdf Gruß, Daniel
Es läuft im Endeffekt auf das Gleiche hinaus, wie bei der Multiplikation. Wenn man noch gelernt hat, von Hand zu dividieren, kommt man relativ einfach auf den Algorithmus. Beispiel: 86 / 10 214 = binär 11010110, 10 = binär 00001010 Man muß allerdings den Divisor (in diesem Fall die 10) normalerweise 8 Mal in einem 16-Bit Register shiften. Wenn der Divisor immer 10 ist, kann man das natürlich optimieren. Wir beginnen mit der 10 4x nach links geshiftet, oder auch "normalisiert", d.h. die führende 1 linksbündig. 214= 11010110 -10100000 geht, also 1 (MSB) --------- 00110110 shift>> -01010000 geht nicht, -> 0 00110110 shift>> -00101000 geht -> 1 ---------- 00001110 shift>> 00010100 geht nicht ->0 00001110 shift>> 00001010 geht 1 (LSB) --------- 0100 = Rest |_ Ergebnis 10101 = 21 Rest 4
@Daniel: Solche Links find ich immer super zu Uni-Material! :-) Ist das ein Zufall, dass nur Rechnerarithmetik frei zugänglich ist? :(
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.