Hallo!
Ich habe hier mal ein Programm, dass ihr mal checken müsst ob das auch so richtig ist. Berechnet werden soll die 10te Fakultät. Befehlssatz vom Motorola MC68000. Zum Schluss soll das Erg. auf Adr. $4000 verschoben werden und start ab Adr. $2100
org $2100
move.l #$0001,D2
move.l #$0000,D1
loop
add.l #$0001,D1
mulu D1,D2
cmp.l #$35980,D2
bne loop
move D2,$4000
Könnte man das so machen oder doch nicht ganz richtig?
Dann habe ich noch eine andere Aufgabe. Der Inhalt des Datenregisters D1 ist $A45B9C1D. Der Inhalt soll mit ASR.L #6,D1 verschoben werden. Was steht dann in D1 drin?
Also ich habe mir jetzt gedacht diese Zahl erstma binär darstellen. Beim ASR rechts verschieben bleibt doch das höhste Bit immer an der gleichen Stelle. Jetzt dachte ich mir, die letzten sechs Stellen diese r Binärzahl wegstreichen und zwischen 1 und den anderen vorn 6 Nullen einzufügen. kP ob das so richtig ist.
10100100010110111001110000011101 = A45B9C1D
10000000100100010110111001110000 = 40916E70 in D1
Ist das so korrekt?
Vielen Dank