home *** CD-ROM | disk | FTP | other *** search
/ The Unsorted BBS Collection / thegreatunsorted.tar / thegreatunsorted / programming / misc_programming / sample1.def < prev    next >
Text File  |  1993-03-24  |  18KB  |  262 lines

  1.  
  2.                   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  3.                       SOURCER DEFINITION FILE - SAMPLE1
  4.                   ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  5.  
  6.  
  7.  
  8.  
  9.  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Section 1: CONTROL INFORMATION   ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  10.  
  11.  comments are indented one or more spaces
  12.  ┌─── Section 1 instructions──────────────────────────────────────────────────┐
  13.  │                                                                            │
  14.  │ Enter any of the following options, starting in the 1st column             │
  15.  │  (for no options enter "none" )  Only the first letter of the              │
  16.  │  command is necessary.                                                     │
  17.  │                                                                            │
  18.  │  Analysis option    = xxxxx Any option letters A-Z can be used.  Upper     │
  19.  │                              case indicates turning option on, lower case  │
  20.  │                              turns the option off.   See manual for a      │
  21.  │                              complete list of options.                     │
  22.  │  Code style         = xxx   Code style types include:                      │
  23.  │                              com, exe, fragment, zero start,               │
  24.  │                              device driver, overlay, special, new EXE,     │
  25.  │                              or Windows VxD.                               │
  26.  │  Drive              = x     Disk drive for output (letter a-z)             │
  27.  │  Format             = xxx   Output format ASM or LST for source code or    │
  28.  │                              listing output (LST is the default)           │
  29.  │  Go                         When the .def file has loaded, go              │
  30.  │  Header             = xxx   Enter the ascii header string (32 char max)    │
  31.  │  Input filename     = xxx   Filename for input (may include disk & path)   │
  32.  │  Keep segments      = xxx   When loading a file, use the file defined      │
  33.  │                              segments (FILE), use the def file segments    │
  34.  │                              in section 2 (DEF) or use both (BOTH)         │
  35.  │                              NOTE: Specify this option prior to file input │
  36.  │                              BOTH is the default, used in most cases       │
  37.  │  Label              = xxx   Select label type, Decimal, Zero fill,         │
  38.  │                              Segment & offset, Letter segment & offset     │
  39.  │  Math               = xx    Select math co-processor options ON/OFF/AUTO   │
  40.  │  Narrow ON                  For listings, do not include hex instructions  │
  41.  │  None                       Use default commands only                      │
  42.  │  Output filename    = xxx   Filename for output (may include drive & path) │
  43.  │  Passes             = x     Select the number of passes from 2 to 9        │
  44.  │  Remark             = xxx   Select remarks to be included: All, None,      │
  45.  │                              Data remarks only, Interrupts & I/O only,     │
  46.  │                              Others only, Except Data, Except Interrupts,  │
  47.  │                              Except Others                                 │
  48.  │  Segment display    = xxx   Set the segment type, OFF/HEX/NAME             │
  49.  │  Target assembler   = xxx   Select the assembler the code may be re-       │
  50.  │                              assembled on.  Options include MASM-4.0,      │
  51.  │                              MASM-5.0, MASM-5.1, MASM-6.0, MASM-6.1,       │
  52.  │                              TASM-1.0, TASM-2.X, TASM-3.0, TASM-3.1,       │
  53.  │                              TASM-3.2, OPTASM, OTHER, or NONE (optional    │
  54.  │                              functional, size or byte match may follow)    │
  55.  │  uP                 = xxx   Select the uP from:                            │
  56.  │                              8088, V20/V30, 80186, 80286, P286, 80386,     │
  57.  │                              P386, 80486, P486 or AUTO for automatic       │
  58.  │  Vertical lines     = xxx   For listings, select the number of lines per   │
  59.  │                              page from 10 to 255 (default is 59)           │
  60.  │  Words to upper case        Set upper case style (lower case is default)   │
  61.  │  Xref               = xx    ON or OFF (selecting ON sets passes to 5)      │
  62.  │  Zap load start     = x:x   Specifies double word start point within file  │
  63.  │                                                                            │
  64.  └────────────────────────────────────────────────────────────────────────────┘
  65.   
  66.  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Section 1: CONTROL INFORMATION   ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  67.   
  68.         <<<<<  Insert commands here (start in column 1) or "none"
  69.  
  70.  
  71.  
  72.  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Section 2: RANGE DEFINITION      ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  73.  
  74.  ┌─── Section 2 instructions──────────────────────────────────────────────────┐
  75.  │                                                                            │
  76.  │  segment:offset = start processing location (hex)                          │
  77.  │                     see note 3 at end on referencing loaded file segments  │
  78.  │                                                                            │
  79.  │  end offset     = ending location for segment                              │
  80.  │                                                                            │
  81.  │  default ds, es = default used when not overwritten by in-line code        │
  82.  │                                                                            │
  83.  │  segment type   = auto  - code/data, full data resolving                   │
  84.  │                   code  - code, limited data resolving                     │
  85.  │                   data  - data, no code processed                          │
  86.  │                   stack - stack, no code processed                         │
  87.  │                   rauto - ROM code/data (same as "auto") in ROM            │
  88.  │                   rcode - ROM code (same as "code") in ROM                 │
  89.  │                                                                            │
  90.  │  segment size   = use16 for 16 bit segments (this is the default)          │
  91.  │                   use32 for 32 bit segments. The text use32 may not be     │
  92.  │                   abbreviated.                                             │
  93.  │                                                                            │
  94.  └────────────────────────────────────────────────────────────────────────────┘
  95.  
  96.  
  97.  ▒▒▒▒ Segments ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  98.   
  99.   begin      end      default      seg   seg  
  100.  seg:off     off     ds     es     type  size  
  101.  -------     ----    ----   ----   ----- -----
  102.         <<<<<  Insert ranges here (start in column 1) or "none"
  103.  
  104.  
  105.  
  106.    ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Section 3  REFERENCE DEFINITIONS ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  107.  
  108.  ┌─── Section 3 instructions──────────────────────────────────────────────────┐
  109.  │                                                                            │
  110.  │  segment:offset = absolute location of item (hex)                          │
  111.  │                    see note 3 at end on referencing loaded file segments   │
  112.  │                    optional short-cut:                                     │
  113.  │                       use "+" to indicate next data offset                 │
  114.  │                                                                            │
  115.  │  typ            = type field                                               │
  116.  │                    DB = data byte                                          │
  117.  │                    DW = data word                                          │
  118.  │                    DD = double word                                        │
  119.  │                    DA = ascii text byte(s)                                 │
  120.  │                    DS = data structure                                     │
  121.  │                    SUB = subroutine reference (S can also be used)         │
  122.  │                    LOC = location reference   (L can also be used)         │
  123.  │                    FORCE = forced function    (F can also be used)         │
  124.  │                                                                            │
  125.  │  options (indicate one or more options with a comma separator, except      │
  126.  │           forced functions only can have one option per line)              │
  127.  │                                                                            │
  128.  │     data options:  , C xxx    comment number xxx (from 1 to 3FF)           │
  129.  │                    , EQU      treat label as an equate                     │
  130.  │                    , DUP      duplicate same bytes/words R times           │
  131.  │                    , INDEX    replace a index of the same value            │
  132.  │                    , OSN      offset sub_xxx               (Sub Near)      │
  133.  │                    , OSF      offset sub_xxx, seg sub_xxx  (Sub Far)       │
  134.  │                    , OLN      offset loc_xxx               (Loc Near)      │
  135.  │                    , OLF      offset loc_xxx, seg loc_xxx  (Loc Far)       │
  136.  │                    , ODN      offset data_xxx              (Data Near)     │
  137.  │                    , ODF      offset data_xx, seg data_xx  (Data Far)      │
  138.  │                    , R xxxx   repeat 0 to FFFF, (FFFF bytes max)           │
  139.  │                                 (i.e. dw, R 4    indicates 8 bytes)        │
  140.  │                                 (see manual for additional options)        │
  141.  │                    , SEG      item is a segment name (dw only)             │
  142.  │                    , UNUSED   if item is never referenced, then do not use │
  143.  │                                                                            │
  144.  │      Location      , C xx     comment number xx (from 1 to FF)             │
  145.  │         options:   , EXT      external entry point to program              │
  146.  │                    , FAR      far procedure                                │
  147.  │                    , NEAR     near procedure                               │
  148.  │                              Note: EXT, FAR & NEAR all reset the simulator │
  149.  │                    , UNUSED   if item is never referenced, then do not use │
  150.  │                                                                            │
  151.  │      Subroutine    , C xx     comment number xx (from 1 to FF)             │
  152.  │         options:   , FAR      subroutine is defined as FAR                 │
  153.  │                    , TERM     subroutine terminates (does not return to    │
  154.  │                                 caller)                                    │
  155.  │                    , UNUSED   if item is never referenced, then do not use │
  156.  │                                                                            │
  157.  │       Forced       , ANALYSIS xxxxx    Select different analysis options   │
  158.  │          options:             at any time, with lower case to turn option  │
  159.  │                               off, and upper case to turn option(s) on.    │
  160.  │                    , CODE     switch to code mode                          │
  161.  │                    , COMMENT xxxxxxxxx  A comment may be placed at any     │
  162.  │                               offset within a file, replacing any auto-    │
  163.  │                               matically generated comment                  │
  164.  │                    , DATA     switch to data mode                          │
  165.  │                    , CODE16   switch to 16 bit code mode                   │
  166.  │                    , CODE32   switch to 32 bit code mode                   │
  167.  │                    , ENDP     force a endp to appear after instruction     │
  168.  │                    , AX=xxxx  change the value of any simulation           │
  169.  │                               register ax/bx/cx/dx/bp/si/di/sp             │
  170.  │                                        ds/es/ss/fs/gs                      │
  171.  │                    , EAX=xxxx  change the value of any 32 bit simulation   │
  172.  │                                register eax/ebx/ecx/edx/ebp/esi/edi        │
  173.  │                    , EAx      LEA instruction's reference item type        │
  174.  │                                 EAS for sub, EAL for location, EAD for data│
  175.  │                                 optional segment follows                   │
  176.  │                    , IMMEDIATE  force an instrucion with an offset to      │
  177.  │                               an immediate.                                │
  178.  │                    , Ox       convert immediate value to offset            │
  179.  │                               OS for sub, OL for location, OD for data     │
  180.  │                               optional segment follows (cs segment default)│
  181.  │                    , REG      display the internal simulation registers    │
  182.  │                                                                            │
  183.  │                            Forced index table analysis for calls & jumps   │
  184.  │                    , SN       table type "offset sub_xx"                   │
  185.  │                    , SF       table type "offset sub_xxx, seg sub_xxx"     │
  186.  │                    , LN       table type "offset loc_xx"                   │
  187.  │                    , LF       table type "offset loc_xxx, seg loc_xxx"     │
  188.  │                           format: "seg_a:xxxx  f, sn 1234:22 34"           │
  189.  │                               where 1234:22 is the location of the table   │
  190.  │                               with 34h entries                             │
  191.  │                                                                            │
  192.  │  label field    = enter label up to 15 characters long (32 chars with EMS; │
  193.  │                     label ignored for forced functions; do not place a     │
  194.  │                     comma before or inside label)                          │
  195.  │                                                                            │
  196.  │  comment field  = a short comment can be included here (64 characters max) │
  197.  │                   if a semi-colon appears, the rest of the line is ignored │
  198.  └────────────────────────────────────────────────────────────────────────────┘
  199.                                                                                
  200.    ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Section 3  REFERENCE DEFINITIONS ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  201.  
  202.  
  203.  ════ Subroutines ═══════════════════════
  204.   seg:off   type & options     label           comments
  205.   -------   --------------     --------------  --------------
  206.         <<<<<  Insert new reference definitions here (start in column 1)
  207.  
  208.  
  209.  ════ Locations        ═════════════════════════
  210.   seg:off   type & options     label           comments
  211.   -------   --------------     --------------  --------------
  212.         <<<<<  Insert new reference definitions here (start in column 1)
  213.  
  214.  
  215.  ════ Data Items ════════════════════════
  216.   seg:off   type & options     label           comments
  217.   -------   --------------     --------------  --------------
  218.         <<<<<  Insert new reference definitions here (start in column 1)
  219.  
  220.  
  221.  
  222.  
  223.  ┌─── General Notes ─────────────────────────────────────────────────────────┐
  224.  │  Notes:                                                                   │
  225.  │     1) Must have at least one entry in each section to operate properly.  │
  226.  │          Use "none" if no entries are needed for a section.               │
  227.  │          Separate each section with at least one line with a space in     │
  228.  │          column 1.                                                        │
  229.  │                                                                           │
  230.  │     2) Order of entries within sections 2 & 3 is unimportant.             │
  231.  │                                                                           │
  232.  │     3) When a filename is specified in section 1, it is loaded and the    │
  233.  │         first 250 segments can be referenced as "seg_a" to "seg_z" and    │
  234.  │          "seg_aa" to "seg_az" through to the 250th segment "seg_io".      │
  235.  │          These can be used anywhere a segment is required.  For example   │
  236.  │          a location label can be defined as:                              │
  237.  │                                                                           │
  238.  │                        6234:0124  loc, Ext, C 2  temp_value_a             │
  239.  │                  or:   seg_b:0124 loc, Ext, C 2  temp_value_a             │
  240.  │                                                                           │
  241.  │          The second entry will use the 2nd segment within the loaded file │
  242.  │          An error will be generated if a segment is used beyond those     │
  243.  │          specified by the file load (Consult manual for more information).│
  244.  │                                                                           │
  245.  │     4) Section 3 ignores blank lines or lines starting with a space in    │
  246.  │          column 1, or the balance of a line where a semicolon occurs.     │
  247.  │                                                                           │
  248.  │     5) The following examples show acceptable forms for the same function,│
  249.  │          a location entry as a external entry point with comment #2:      │
  250.  │                                                                           │
  251.  │          seg_a:0124 loc, Ext, C 2  temp_value_a  ; prefered format        │
  252.  │          seg_a:0124 l, Ext, C 2  temp_value_a                             │
  253.  │          seg_a:0124 l, E, C=2  temp_value_a      ; notes can follow       │
  254.  │          seg_a:0124 l, External, C 2       temp_value_a                   │
  255.  │          seg_a:124  Location, Ext, C 02   temp_value_a                    │
  256.  │          seg_a:124  L, e, c 2 temp_value_a                                │
  257.  │                                                                           │
  258.  │     6) Upper and lower case will have no effect (except for analysis      │
  259.  │          options), but is preserved for labels.                           │
  260.  └───────────────────────────────────────────────────────────────────────────┘
  261.  
  262.