Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : ... von Assembler zu Maschinencode uebersetzen...?



Racuun
01.12.2006, 08:50
Ya... wie der Titel schon sagt... ich wuesst gern, wie ich (von Hand versteht sich) nen Assembler-Quelltext in Maschinencode uebersetzen kann.

Abgesehen von der ersten Spalte, wo der Code fuer den Befehl steht hab ich leider noch nix davon verstanden xD' Bin fuer jede Hilfe dankbar :3

(aber kommt mir bitte nicht mit googlen... das funzt bei mir ned xD'...)

Seraph
01.12.2006, 10:16
Mehr ist das doch gar nicht o_O Übersetzt man den Assemblercode in Maschinensprache (Mit Hilfe ner Befehlsliste), hat man drei Spalten, die Nummer des Befehls, die Adresse des Befehls und den Code des Befehls. Nen Beispiel: (Rechts die Mnemonics und links die Maschinensprache)

Ich hoffe man erkennt die Liste, ist durchs Forum etwas verunglückt.

Und ich hoffe dass du das meinst^^°

0001 0000 AssemblerCode für 5+7-3
0002 0000 05 0C MOV SP,12
0003 0002 1F MOV A, [SP]
0004 0003 56 INC SP
0005 0004 20 MOV B, [SP]
0006 0005 60 ADD A,B
0007 0006 56 INC SP
0008 0007 20 MOV B, [SP]
0009 0008 40 SUB A,B
0010 0009 56 INC SP
0011 000A 23 MOV [SP], A
0012 000B 00 HLT
0013 000C .END

Racuun
01.12.2006, 15:25
Nyaa~ bei uns sah das ganze irgendwie was anders aus....
Im Maschinencode klar, wie du sagtest, erst die Zeile, Adresse und dann den Code des befehls, aber nach dem kommen noch die RegisterNr, die Index Register-angabe, irgendwas vonwegen Programmanfang und dann die Speicheradresse... in etwa so~

Zeile Adr Adr (in Hex) - Maschinencode
0001 0000 0000 -------- 72 00 00 AE

Nya, der Maschinencode *beispielzeile nehm*
Code - RegisterNr - Indexregisterangabe - Prog.Anfang - Speicheradresse
72 ----- 0 --------------- 0 ---------------- 0 ------------ 0B6

Die speicheradresse hat wohl irgendwas mit ner cross-reference-liste am hut die irgendwas mit den labels zu tun hat.... oder so xD? *ka*...