1 ;*************************************************************************
2 ;** disassembler.library
**
4 ;** An LGPL reimplementation of disassembler.library v40
**
5 ;** ©
2010 Pavel Fedin
**
7 ;** disassembler.libary v40 is
: **
8 ;** ©
1999 THOR-Software
, Thomas Richter
**
9 ;**---------------------------------------------------------------------**
10 ;** Definition of the library
, and structures
**
12 ;** $VER
: 41.0 (20.04.2010) **
13 ;*************************************************************************/
15 IFND LIBRARIES_DISASSEMBLER_I
17 LIBRARIES_DISASSEMBLER_I
SET 1
20 INCLUDE
"exec/types.i"
24 INCLUDE
"exec/libraries.i"
25 ENDC
; EXEC_LIBRARIES_I
27 ;* There's really nothing in this library base you need to care about
*
29 STRUCTURE DisassemblerBase
,LIB_SIZE
33 DISASSEMBLERNAME MACRO
34 DC.B 'disassembler.library'
,0
37 ;* The one and only structure you need to care about. This one is
38 ;* passed in to Disassemble
() *
41 APTR ds_From
;* base to start disassembly from
*
42 APTR ds_UpTo
;* where to stop it
*
43 APTR ds_PC
;* the disassembler prints a
"*" here
*
44 APTR ds_PutProc
;* to avoid casts
, this is a void
*.
*
45 APTR ds_UserData
;* passed to the PutProc in a1 and a3
*
46 APTR ds_UserBase
;* passed to the PutProc in a4
*
47 UWORD ds_Truncate
;* limit width of the output
*
48 UWORD ds_reserved
;* this is currently reserved
*
51 ;* PutProc is actually a function pointer
, but due to different compilers
52 ;* and conventions defined here as a void
*. It is called with the
53 ;* character to print in d0
, the user data in a1 and a3 and the user
54 ;* base in a4. This is most useful for C code.
56 ;* The library functions are interrupt-callable
, provided your PutProc
59 ENDC
;LIBRARIES_DISASSEMBLER_I