Powerpc Maschinenworte |
Toshokan01 unregistriert
|
|
Meine Frage:
Hi,
ich sitze hier an einer Übungsaufgabe und komme nicht auf das korrekte Ergebnis. Die Aufgabe wie folgt:
Auf Basis Powerpc sind die 3 Adressbefehle wie folgt definiert. Sie bestehen aus einem prim. Opcode (dezimal) 31 (Bits 0-5), gefolgt von 3 Registernummern (Bits 6-10, 11-15 und 16-20).dabei ist das erste der 3 Register das Destinationsregister. Die Bits 21-30 enthalten den sek. Opcode, Bit 31 in allen Beispielen stets 0. Die folgende Tabelle gibt die sek. Opcodes (dezimal) an.
and -> 28
or -> 444
xor -> 316
nand -> 476
nor -> 124
Nun die eigentliche Aufgabe:
Setze folgende Assemblerbefehle in Maschinenworte um:
nand r7, r22, r12
or r13, r9, r10
Meine Ideen:
Dabei komme ich auf:
nand r7, r22, r12 -> 0xF8F56300
das scheint aber nicht richtig zu sein (0x7CF663B8 steht in der Lösung)
Vielleicht kann mir einer da helfen.
Danke
|
|
08.10.2011 14:25 |
|
|
petra269
Grünschnabel
Dabei seit: 10.10.2011
Beiträge: 1
|
|
RE: Powerpc Maschinenworte |
|
Hallo,
Auf Basis Powerpc sind die 3 Adressbefehle wie folgt definiert. Sie bestehen aus einem prim. Opcode (dezimal) 31 (Bits 0-5), gefolgt von 3 Registernummern (Bits 6-10, 11-15 und 16-20).dabei ist das erste der 3 Register das Destinationsregister. Die Bits 21-30 enthalten den sek. Opcode, Bit 31 in allen Beispielen stets 0. Die folgende Tabelle gibt die sek. Opcodes (dezimal) an.
nand -> 476
Nun die eigentliche Aufgabe:
Setze folgende Assemblerbefehle in Maschinenworte um:
nand r7, r22, r12
folgende Umwandlungen von Dezimalzahlen zu Dualzahlen waren nötig
Dezimal Dual
31 --> 011111
7 --> 00111
22 --> 10110
12 --> 01100
476 --> 0111011100
011111 00111 10110 01100 0111011100 0
in Viererblöcke aufgeteilt, von rechts nach links
0111 1100 1111 0110 0110 0011 1011 1000
und jeweils Block für Block in Hexadezimal umgewandelt, ergibt sich folgendes Bild
7 C F 6 6 3 B 8
Ich hoffe, nun ist es klar.
Gruss
Petra
|
|
10.10.2011 04:49 |
|
|
|