| DSP5600X Demontage-Bibliothek DSP5600X-Demontage-Bibliothek ist eine Code-Demontage-Bibliothek für das Motorola DSP5600X. |
Jetzt downloaden |
DSP5600X Demontage-Bibliothek Ranking & Zusammenfassung
- Name des Herausgebers:
- Miloslaw Smyk
DSP5600X Demontage-Bibliothek Stichworte
DSP5600X Demontage-Bibliothek Beschreibung
DSP5600X Disassembly-Bibliothek ist eine Code-Demontage-Bibliothek für das Motorola DSP5600X. LIB5600X ist eine Bibliothek, die Motorola dsp5600x disassembler implementiert. Es ist eine Ansi C-Link-Bibliothek, die für Menschen nützlich sein sollte, um Debuggers, Gedächtnismonitore usw. für DSP5600X-Chips.Sage1 zu schreiben. Zuerst nennen Sie zwei Initialisierungsfunktionen in der Bibliothek. Dieser Schritt ist obligatorisch: make_masks (); make_masks2 (); Sie geben nichts weiter und prüfen nach keiner Ergebnis - diese Funktionen sind garantiert dem Erfolg.2. Jetzt müssen Sie den Speicher für eine Struktur zuordnen, die zum Übergeben von Daten in / aus der Bibliothek verwendet wird. Möglicherweise tun Sie das auf dem Stapelstruktur Disasm_Data dis, * d = ja, der Zeiger ist auch nützlich. Die Diasm_Data-Struktur wird in der Datei 5600x_Disasm.h definiert. Nehmen wir näher aus: #define line_size 256Struct disasm_data {unsigniertes Zeichen; char line_buf ; char * line_ptr; Zeichen;}; Erstes Mitglied - "MEMORY" - sollte auf den Opcode hinweisen, den Sie demontiert haben möchten. WICHTIG! Die Bibliothek erwartet, dass es ein 24-Bit-Wort ist, sodass der Assembler 32-Bit-Wörter erstellt, müssen Sie eine einfache Konvertierung erstellen. Werfen Sie einen Blick auf test.c, um zu sehen, wie es fertig ist. Darüber hinaus möchte die Bibliothek möglicherweise zwei Wörter gleichzeitig auswerten, sodass Sie dies berücksichtigen müssen - dies wird auch in der Beispielquelle demonstriert.3. Nach ordnungsgemäßem Einrichten der Disasm_Data-Struktur (d. H. "MEMORY" -Zeiger), rufen Sie die folgende Funktion an: int disassememle_opcode (struct disasm_data *); Diese Funktion nimmt den Zeiger auf die Struktur, die Sie gerade als Argument vorbereitet haben. Wenn es zurückgibt, enthält das "Line_BUF-Mitglied der Disasm_Data-Struktur den disassontierten Opcode als Zeichenfolge von ASCII-Zeichen. "line_ptr" sollte für Sie kein Interesse sein (es ist lediglich eine interne Variable) und "Wörter" hält die Anzahl der 24-Bit-Wörter, mit denen Sie Ihren Speicherzeiger vorstellen sollten. Diese Variable ist auch als Rückgabewert der obigen Funktion erhältlich. Wieder ishall verweise Sie auf die Beispielquelle.4. Wiederholen Sie Schritt 3, bis Sie den Code zum Zerlegen ausführen. TESTINGFIRST, überprüfen Sie das Makefile und stellen Sie sicher, dass es ordnungsgemäße Flags enthält, und definiert Ihre Architektur. Big Endian-Benutzer sollten -dbigendian nach Cflags hinzufügen (Ich würde mich freuen, wenn jemand AutoConf-Skript erstellt hat, um solche Tricks zu vermeiden). Danach, typeMake./Test-Beispiel_DSP_BININARYAND Vergleichen Sie den Ausgang (visuell) mit Beispiel.A56, der ein Quellcode i ist, der zum Erstellen von Beispiel_DSP_BINARY und die alle Anweisungen und Adressierungsmodi verwendet wird, die in DSP56000 / DSP56001, der in DSP56000 / DSP56001 beschrieben ist, die in DSP56000 / DSP56001-Modi enthält, die in der Digital Signal Processor-Benutzerhandbuch der digitalen Signale des DSP56000 / DSP56001 beschrieben werden. Sie können Ihre Ausgabe auch 'differenzieren und Beispiel.out-Datei senden, um zu prüfen, ob es Unterschiede gibt (es sollte keine
DSP5600X Demontage-Bibliothek Zugehörige Software