Power-PC |
18.10.2013, 11:02 | Auf diesen Beitrag antworten » |
Michi | Power-PC Hallo Leute, ich komme nicht weiter ab c) bei stw r22; 0x022a(r0) kommt bei Instr.- kommt 0x92C0022A und bei EA kommt 0x0000022A Welche Schritte muss man hier machen um auf das Ergebnis zukommen? Vielen Dank im Voraus Hier die komplette Aufgabenstellung. Die üblichen 3-Adressbefehle des POWER-PC haben als primären OPCODE stets (dezimal) 31 (Bits 0 - 5), gefolgt von 3 Registernummern (Bits 6-10, 11-15 und 16-20); 2 dabei ist das erste der drei Register das Destinationregister. Die Bits 21-30 enthalten den sekundären OPCODE, Bit 31 sei in unseren Beispielen stets 0. Die folgende Tabelle gibt die sekundären OPCODES (dezimal) einiger dieser 3- Adressbefehle an: and or xor nand nor 28 444 316 476 124 a) Setzen Sie die folgenden Assemblerbefehle um in Maschinenworte: nand r7; r22; r12 or r13; r9; r10 xor r14; r20; r3 and r11; r24; r5 nor r4; r5; r6 b) Welche der folgenden Maschinenworte entsprechen logischen 3-Adressbefehlen mit den obigen Operatoren und wie lauten die zugehörigen Assemblerbefehle? Wie lauten die primären OPCODES der Befehle, die keine 3-Adress-Befehle sind? 0x7cec7378 0x7e2e5838 0x7d5370f8 0x834d21b2 0x90e043a1 0x7c3533b8 Die beiden Befehle lwz (load word) bzw. stw (store word) verwenden als primären OPCODE 32 bzw. 36 (Bits 0 - 5), die Bits 6-10 bzw. 11-15 sind mit zwei Registernummern D=S bzw. A besetzt, die letzten 16 Bits enthalten ein Displacement d. Die zugehörigen Assemblerbefehle lauten lwz rD; d(rA) stw rS; d(rA) In der 32-Bit-Version des POWER-PC werden damit effektive 32-Bit Adressen EA wie folgt konfiguriert: Ist A = 0, so ist EA die 32-Bit-Sign-Extension von d (aufgefasst als Zweierkomplement- Zahl), ist A 8= 0, so ist EA die Summe aus dem Registerinhalt von A und der 32-Bit- Sign-Extension von d. In den 32-Bit-Registern 1 - 5 sollen folgende Werte stehen: R1 0x0a3453e1 R2 0x1357bc10 R3 0x2c2b341f R4 0x3ac50133 R5 0x6249a656 c) Welche Maschineninstruktionen entsprechen den folgenden Assemblerbefehlen und welche effektiven Adressen werden mit diesen angesprochen: stw r22; 0x022a(r0) lwz r3; 0xa32b(r3) stw r5; 0xb123(r4) lwz r1; 0x0000(r5) d) Welchen Assemblerbefehlen entsprechen die folgenden Maschinenworte und welche effektiven Adressen werden von diesen angesprochen: 0x90e5a341 0x91a013e5 0x82e3b345 0x80e423a6 |
|
|
18.10.2013, 19:51 | Auf diesen Beitrag antworten » |
eulerscheZahl | Es scheint beim Kopieren Probleme gegeben zu haben (ist A 8= 0 sollte ein A ungleich 0 werden), hier die Aufgabe, falls sich jemand hierhin verirren sollte: FH Frankfurt Für die Maschineninstruktion erhalte ich ein anderes Ergebnis: stw = 36 = 010010 (als 6Bit Zahl) r22 = 10110 r0 = 00000 0x022a bleibt unverändert. 0100101011000000 = 0x4ac0 zusammen: 0x4ac0022a die effektive Adresse: A=0, daher: Ist A = 0, so ist EA die 32-Bit-Sign-Extension von d (aufgefasst als Zweierkomplement-Zahl) gibt 0x0000022a, da stimme ich mir dir überein. |
19.10.2013, 00:47 | Auf diesen Beitrag antworten » |
Michi | Vielen Dank für die Hilfe. Ich weiß jetzt wieso 0x92C0022A herauskommt du hast dich vertan nur bei stw = 36 = 100100 dann würde es so aussehen 1001001011000000 = 0x92C0022A |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |
|