Printed 1/15/91 Page 1
DISASSEMBLER(3X-SysV)RISC/os Reference ManualISASSEMBLER(3X-SysV)
NAME
disassembler - disassemble a MIPS instruction and print the
results
SYNOPSIS
int disassembler (iadr, regstyle, get_symname, get_regvalue, get_bytes, print_header)
unsigned iadr;
int regstyle;
char *(*get_symname)();
int (*get_regvalue)();
long (*get_bytes)();
void (*print_header)();
DESCRIPTION
disassembler disassembles and prints a MIPS machine instruc-
tion on stdout.
iadr is the instruction address to be disassembled. regs-
tyle specifies how registers are named in the disassembly;
if the value is 0, compiler names are used; otherwise,
hardware names are used.
The next four arguments are function pointers, most of which
give the caller some flexibility in the appearance of the
disassembly. The only function that MUST be provided is
get_bytes. All other functions are optional. get_bytes is
called with no arguments and returns the next byte(s) to
disassemble.
get_symname is passed an address, which is the target of a
jal instruction. If NULL is returned or if get_symname is
NULL, the disassembler prints the address; otherwise, the
string name is printed as returned from get_symname. If
get_regvalue is not NULL, it is passed a register number and
returns the current contents of the specified register.
disassembler prints this information along with the instruc-
tion disassembly. If print_header is not NULL, it is passed
the instruction address iadr and the current instruction to
be disassembled, which is the return value from get_bytes.
print_header can use these parameters to print any desired
information before the actual instruction disassembly is
printed.
If get_bytes is NULL, the disassembler returns -1 and errno
is set to EINVAL; otherwise, the number of bytes that were
disassembled is returned. If the disassembled word is a
jump or branch instruction, the instruction in the delay
slot is also disassembled.
The program must be loaded with the object file access rou-
tine library libmld.a.
Printed 1/15/91 Page 1
DISASSEMBLER(3X-SysV)RISC/os Reference ManualISASSEMBLER(3X-SysV)
SEE ALSO
ldfcn(4).
Page 2 Printed 1/15/91