02.05.2013 Aufrufe

beginner_de

beginner_de

beginner_de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Avr-Asm-Tutorial S. 103<br />

brcc NoInc ; Wenn Carry nicht gesetzt, springe<br />

inc Res3 ; erhoehe Ergebnis-Byte 3<br />

NoInc:<br />

Das Ergebnis in R4:R3:R2 ist hex 2625A9, was <strong>de</strong>zimal<br />

2.500.000 entspricht (wie je<strong>de</strong>r sofort weiß), und das ist<br />

korrekt.<br />

Der Zykluszähler zeigt nach <strong>de</strong>r Multiplikation auf 10, bei<br />

1 MHz Takt sind gera<strong>de</strong> mal 10 Mikrosekun<strong>de</strong>n vergangen.<br />

Sehr viel schneller als die Software-Multiplikation!<br />

Hardware Multiplikation einer 16- mit einer 16-bit-Binärzahl<br />

Nun, da wir das Prinzip verstan<strong>de</strong>n haben, sollte es einfach sein die 16-mal-16-Multiplikation zu erledigen.<br />

Das Ergebnis benötigt jetzt vier Bytes (Res4:Res3:Res2:Res1, untergebracht in<br />

R5:R4:R3:R2). Die Formel lautet:<br />

m1 * m2 =<br />

(256*m1M + m1L) * (256*m2M + m2L) =<br />

65536*m1M*m2M + 256*m1M*m2L + 256*m1L*m2M + m1L*m2L<br />

Offensichtlich sind jetzt vier Multiplikationen<br />

zu erledigen. Wir beginnen mit <strong>de</strong>n bei<strong>de</strong>n einfachsten,<br />

<strong>de</strong>r ersten und <strong>de</strong>r letzten: ihre Ergebnisse<br />

können einfach in die Ergebnisregister kopiert<br />

wer<strong>de</strong>n. Die bei<strong>de</strong>n mittleren Multiplikationen<br />

in <strong>de</strong>r Formel müssen zu <strong>de</strong>n bei<strong>de</strong>n mittleren<br />

Ergebnisregistern addiert wer<strong>de</strong>n. Mögliche<br />

Überläufe müssen in das Ergebnisregister<br />

Res4 übertragen wer<strong>de</strong>n, wofür hier ein einfacher<br />

Trick angewen<strong>de</strong>t wird, <strong>de</strong>r einfach zu verstehen sein dürfte. Die Software:<br />

;<br />

; Test Hardware Multiplikation 16 mal 16<br />

;

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!