Libreria di smontaggio DSP5600X.

La libreria di smontaggio DSP5600X è una libreria di smontaggio di codice per Motorola DSP5600X.
Scarica ora

Libreria di smontaggio DSP5600X. Classifica e riepilogo

Annuncio pubblicitario

  • Rating:
  • Licenza:
  • BSD License
  • Prezzo:
  • FREE
  • Nome editore:
  • Miloslaw Smyk
  • Sito web dell'editore:

Libreria di smontaggio DSP5600X. Tag


Libreria di smontaggio DSP5600X. Descrizione

La libreria di smontaggio DSP5600X è una libreria di smontaggio di codice per Motorola DSP5600X. LIB5600X è una biblioteca che implementa il disassemblatore Motorola DSP5600X. È una libreria di collegamento ANSI C che dovrebbe essere utile per le persone che scrivono debugger, monitor di memoria ecc. Per chipsSP5600X chips.USAGE1. Per prima cosa chiami due funzioni di inizializzazione nella libreria. Questo passaggio è obbligatorio: make_masks (); make_masks2 (); non vai nulla e controlla i risultati: queste funzioni sono garantite per avere successo.2. Ora devi allocare la memoria per una struttura che verrà utilizzata per il passaggio dei dati da / verso la biblioteca. Puoi farlo su Stackstruct DRASM_DATA DIS, * D = Sì, anche il puntatore sarà utile. La struttura DISSMSM_DATA è definita nel file 5600X_DISasm.h. Diamo un look più da vicino: #Define line_size 256struct disssm_data {memoria char * senza segno *; char line_buf ; char * line_ptr; words char;}; primo membro - "Memory" - dovrebbe puntare all'OPCODE che si desidera smontare. IMPORTANTE! La biblioteca si aspetta che sia una parola a 24 bit, quindi se il tuo assemblatore crea parole a 32 bit, dovrai fare una semplice conversione. Dai un'occhiata a test.c per vedere come è fatto. Inoltre, la Biblioteca potrebbe desiderare di valutare due parole alla volta, quindi è necessario tener conto di questo - questo è anche dimostrato nella sorgente di esempio.3. Dopo aver impostato correttamente Disssm_Data Struct Struct (I.e. "Memory" Puntainter), si chiamano la funzione seguente: Int Disassemble_OPcode (StructSsm_Data *); Questa funzione prese il puntatore alla struttura che hai appena preparato come argomento. Quando ritorna, il membro "Line_BUF" di Disasm_Data Struct Struct contiene l'opcode smontato come una stringa di caratteri ASCII. "LINE_PTR" non dovrebbe interessarti (è solo una variabile interna) e "parole" contiene il numero di parole a 24 bit da cui dovresti avanzare il puntatore di memoria. Questa variabile è disponibile anche come valore di ritorno della funzione di cui sopra. Ancora una volta, Ishall ti riferisce alla fonte di esempio.4. Ripeti il passaggio 3 finché non si esaurisce il codice per disassemblare. TestingFirst, controlla il Makefile e assicurati che contiene flag appropriati e definisce la tua architettura. Gli utenti di Big Endian dovrebbero aggiungere -Dbigendian a CFlags (apprezzerei se qualcuno ha creato lo script di autoconf per evitare tali trucchi). Seguendo ciò, TypeMake./Test Esempio_dsp_binaryand Confronta l'output (visivamente) con example.a56 che è un codice sorgente che ho utilizzato per creare example_dsp_binary e che contiene tutte le istruzioni e le modalità di indirizzamento descritte nel manuale dell'utente del processore del segnale DSP56000 / DSP561. Puoi anche 'diff' il tuo output e fornito Esempio. File per verificare se ci sono differenze (non ci dovrebbe essere nessuno).


Libreria di smontaggio DSP5600X. Software correlato

Cmdsyntax.

CMDSYNTAX è un modulo Python per la corrispondenza degli argomenti della riga di comando per una definizione di sintassi. ...

170

Scarica