Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ disassembler(3x) — NEWS-os 5.0.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ldfcn(4)



disassembler(3X)        LIBRARY FUNCTIONS        disassembler(3X)



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.




                                                                1





disassembler(3X)        LIBRARY FUNCTIONS        disassembler(3X)



SEE ALSO
     ldfcn(4).





















































                                                                2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026