Ich schreibe ein kleines Programm, um eine Eingabedatei von Sony Cell SPU-Anweisungen zu analysieren und gibt ein Textformat an das binäre Format der Anweisung aus.Eingangstext analysieren und in eine Datei ausgeben
Der Grundgedanke ist folgender:
Eingabetextformat ist Instruktion rt/ra/rb
a r3,r2,r1
ah r6,r5,r4
Ausgabetextformat ist: Opcode/rb/ra/rt
00011000000000000100000100000011
00011001000000010000001010000110
Also im Grunde parsiere ich die Befehlssyntax (a, ah, etc ...) und ermittle den Opcode. Diese Information gibt mir auch das Format der Anweisung (die Registerformate). Sobald ich weiß, auf welche Register zugegriffen wird, wandle ich diese Werte in 7-Bit-Werte um (r3 = 0000011, etc ..). Dann schreibe ich die 32-Bit-Konvertierung in einen Ausgabetext.
Wo ich stecken bleibe, ist, wie man das Parsing der Befehlssyntax macht.
Insbesondere, was ich im Sinn hatte war in jeder Zeile der Eingabe Textdatei in eine char array
lesen und überprüfen Sie die niedrigen Bits des Index und vergleichen Sie es mit einer Zeichenfolge für jede meiner Anweisungen, aber ich nicht denke, das ist eine gute Methode.
Was ist eine gute Methode, um diese Art von Analyse und Vergleich durchzuführen?