DSP5600x disassembly library 1.1
Sponsored Links
DSP5600x disassembly library 1.1 Ranking & Summary
File size:
0.012 MB
Platform:
Any Platform
License:
BSD License
Price:
Downloads:
1695
Date added:
2005-03-07
Publisher:
Miloslaw Smyk
DSP5600x disassembly library 1.1 description
lib5600x is a library implementing Motorola DSP5600x disassembler. Its an ANSI C link library that should be useful for people writing debuggers, memory monitors etc for DSP5600x chips.
Usage
1. First you call two initialization functions in the library. This step is mandatory:
make_masks();
make_masks2();
You pass nothing and check for no results -- these functions are guaranteed to succeed.
2. Now you have to allocate memory for a structure that will be used for passing data to/from the library. You may do that on the stack
struct disasm_data dis, *d = &dis;
Yes, the pointer will be useful, too. The disasm_data structure is defined in 5600x_disasm.h file. Lets take a closer look:
#define LINE_SIZE 256
struct disasm_data
{
unsigned char *memory;
char line_buf[LINE_SIZE];
char *line_ptr;
char words;
};
First member -- "memory" -- should point to the opcode you want disassembled. IMPORTANT! The library expects it to be a 24-bit word, so if your assembler creates 32-bit words, youll have to make a simple conversion. Take a look at test.c to see how it is done. Whats more, the library may wish to evaluate two words at a time, so you have to account for that -- this is also demonstrated in the example source.
3. After properly setting up disasm_data struct (i.e. "memory" pointer), you call following function:
int disassemble_opcode(struct disasm_data *);
This function takes pointer to the struct youve just prepared as an argument. When it returns, disasm_data structs "line_buf" member contains the disassembled opcode as a string of ASCII characters. "line_ptr" should be of no interest to you (it is merely a internal variable) and "words" holds the number of 24-bit words you should advance your memory pointer by. This variable is also available as a return value of above function. Again, I
shall refer you to the example source.
4. Repeat step 3 until you run out of code to disassemble.
Testing
First, check out the makefile and make sure it contains proper flags and defines for your architecture. Big endian users should add -DBIGENDIAN to CFLAGS (Id appreciate if someone created Autoconf script to avoid such tricks). Following that, type
make
./test example_dsp_binary
and compare the output (visually) with example.a56 which is a source code I used to create example_dsp_binary and which contains all instructions and addressing modes described in DSP56000/DSP56001 Digital Signal Processor Users Manual. You can also diff your output and supplied example.out file to check if there are any differences (there should be none).
Usage
1. First you call two initialization functions in the library. This step is mandatory:
make_masks();
make_masks2();
You pass nothing and check for no results -- these functions are guaranteed to succeed.
2. Now you have to allocate memory for a structure that will be used for passing data to/from the library. You may do that on the stack
struct disasm_data dis, *d = &dis;
Yes, the pointer will be useful, too. The disasm_data structure is defined in 5600x_disasm.h file. Lets take a closer look:
#define LINE_SIZE 256
struct disasm_data
{
unsigned char *memory;
char line_buf[LINE_SIZE];
char *line_ptr;
char words;
};
First member -- "memory" -- should point to the opcode you want disassembled. IMPORTANT! The library expects it to be a 24-bit word, so if your assembler creates 32-bit words, youll have to make a simple conversion. Take a look at test.c to see how it is done. Whats more, the library may wish to evaluate two words at a time, so you have to account for that -- this is also demonstrated in the example source.
3. After properly setting up disasm_data struct (i.e. "memory" pointer), you call following function:
int disassemble_opcode(struct disasm_data *);
This function takes pointer to the struct youve just prepared as an argument. When it returns, disasm_data structs "line_buf" member contains the disassembled opcode as a string of ASCII characters. "line_ptr" should be of no interest to you (it is merely a internal variable) and "words" holds the number of 24-bit words you should advance your memory pointer by. This variable is also available as a return value of above function. Again, I
shall refer you to the example source.
4. Repeat step 3 until you run out of code to disassemble.
Testing
First, check out the makefile and make sure it contains proper flags and defines for your architecture. Big endian users should add -DBIGENDIAN to CFLAGS (Id appreciate if someone created Autoconf script to avoid such tricks). Following that, type
make
./test example_dsp_binary
and compare the output (visually) with example.a56 which is a source code I used to create example_dsp_binary and which contains all instructions and addressing modes described in DSP56000/DSP56001 Digital Signal Processor Users Manual. You can also diff your output and supplied example.out file to check if there are any differences (there should be none).
DSP5600x disassembly library 1.1 Screenshot
Advertisements
DSP5600x disassembly library 1.1 Keywords
DSP5600x
Motorola DSP5600x
Library 1.1
library
disassembly
data
line
memory
DISASM
DSP5600x disassembly library
DSP5600x disassembly library 1.1
Disassemblers
Programming
Bookmark DSP5600x disassembly library 1.1
DSP5600x disassembly library 1.1 Copyright
WareSeeker periodically updates pricing and software information of DSP5600x disassembly library 1.1 full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of DSP5600x disassembly library 1.1 Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed
Featured Software
Want to place your software product here?
Please contact us for consideration.
Contact WareSeeker.com
Related Information
disassembler
disassemble
library supplies
glock disassembly
public library
librarything
disassembly line
library of congress
library video company
xbox disassembly
national library
ipswich public library
library prank
how to disassemble an xbox
disassembly nokia
enterprise library 1.1
library furniture
crime library
Related Software
Perl x86 Disassembler is an Intel x86 disassembler written in Perl. Free Download
Thread Safe Template Library (TSTL) is a C++ library that provides thread-safe storage data structures without global locking. Free Download
Datalink library for Linux uses the SVGAlib to send data to the Timex DataLink watches. Free Download
MAT is a C++ mathematical template class library. Free Download
ShmFIFO library provides an easy-to-use interface to shared memory for programs. Free Download
LiON Library is a full nonblocking, single thread library with an API that is portable and easy to use. Free Download
TCB::Library provides a database-backed book library package for DBIx::Frame. Free Download
The Ionflux Tools Class Library is a lightweight multi-platform C++ framework. Free Download
Latest Software
Popular Software
Favourite Software