home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
- March 5, 1988
-
- UNINLINE--AN INLINE DISASSEMBLER
- Version 1.1
-
-
- OVERVIEW
-
- UNINLINE.EXE is a disassembler which accepts an 'object' file
- consisting of Turbo Pascal (tm) Inline statements and produces an
- assembly language source file. The source file may then be
- modified and reassembled to Inline statements using INLINE.EXE.
-
- Figure 1 shows an Inline statement input file and Figure 2, the
- resulting source code disassembly.
-
-
- LOADING AND RUNNING UNINLINE
-
- First create an EXE file, UNINLINE.EXE, by compiling UNINLINE.PAS
- using version 4 of the Turbo Pascal compiler. The files
- UNPARS.INC and FLPT.INC are also required for compilation.
-
- UNINLINE is called at the DOS prompt with two filename parameters
- specifying the names of the object and source files. If no
- extensions are given, .OBJ and .ASM are used by default. For
- instance,
-
- UNINLINE ABC DEF
-
- will cause UNINLINE to look for an object file, ABC.OBJ, and
- create a source file DEF.ASM. Files with no extension may be
- input or created by using a simple '.' for the extension.
-
- If the second filename is missing from the command line, an ASM
- file will be created using the same name as the object file. If
- neither filename is specified, then names will be requested once
- execution starts.
-
- Once execution begins, UNINLINE will run to completion with the
- only console output being error messages.
-
-
- OPERATION
-
- 1. UNINLINE should accept any syntax within an Inline statement
- which is acceptable by Turbo Pascal. Disassembly starts
- with the word 'Inline' and ends with the ending ')'.
- Intervening Pascal comments are ignored. Thus it is
- possible to digest an entire Pascal source file processing
- only the Inline statements.
-
-
-
- 1
-
-
-
-
-
-
-
-
-
-
-
- 2. The source code instructions resulting from each Inline
- statement are separated by the pseudo-instruction, NEW.
- When reassembled using INLINE.EXE, the NEW instruction
- causes separate Inline statements to be generated.
-
- 3. Labels are inserted in the assembly language source code as
- required. Labels consist of the letter, X, and a decimal
- number which is the number of bytes from the start of the
- disassembly. Labels are only inserted on those instructions
- which are the destination of a jump or call.
-
-
-
-
- VERSIONS
-
- 1.1 Convert source for Turbo 4.
-
-
-
- (C) Copyright 1985,86 by L. David Baldwin.
-
- UNINLINE may be copied and distributed freely providing that no
- fee is charged and it is not part of a package for which a charge
- is made.
-
- Please report all bugs, suggestions, and problems to Dave
- Baldwin, CompuServe ID #76327,53.
-
- 22 Fox Den Rd., (Summer) 144 13th St. East, (Winter)
- Hollis, NH 03049 Tierra Verde, FL 33715
- (603) 465-7857 (813) 867-3030
-
-
- Turbo Pascal is a trademark of Borland International Inc.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Inline($FC/$8A/$86/>CH/$8B/$8E/>LIMIT/$09/$C9/$9C/$79/$03/
- $F7/$D9/$FD/$89/$CA/$C4/$BE/>T/$F2/$AE/$75/$01/$41/$29/$CA/
- $9D/$79/$02/$F7/$DA/$89/$96/>RSLT);
-
-
- Figure 1: Inline Statement Input File
-
-
-
- CLD
- MOV AL,[BP+>CH]
- MOV CX,[BP+>LIMIT]
- OR CX,CX
- PUSHF
- JNS X17
- NEG CX
- STD
- X17: MOV DX,CX
- LES DI,[BP+>T]
- REPNE
- SCASB
- JNZ X28
- INC CX
- X28: SUB DX,CX
- POPF
- JNS X35
- NEG DX
- X35: MOV [BP+>RSLT],DX
-
-
- Figure 2: Disassembled Output File
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 3
-
-
-
-
-