Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Technische Informatik » Power-PC » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Power-PC
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Michi
unregistriert
Power-PC Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 11:02
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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.

__________________
Syntax Highlighting fürs Board (Link)
18.10.2013 19:51 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Michi
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
19.10.2013 00:47
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Technische Informatik » Power-PC