Powerpc Maschinenworte

Neue Frage »

Auf diesen Beitrag antworten »
Toshokan01 Powerpc Maschinenworte

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
 
Auf diesen Beitrag antworten »
petra269 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
 
Neue Frage »
Antworten »


Verwandte Themen