Powerpc Maschinenworte |
08.10.2011, 14:25 | 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 |
|
|
10.10.2011, 04:49 | 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 |
|