home *** CD-ROM | disk | FTP | other *** search
-
- ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- SOURCER DEFINITION FILE - TESTYN
- ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
-
-
-
- ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Section 1: CONTROL INFORMATION ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
-
- comments are indented one or more spaces
- ┌─── Section 1 instructions──────────────────────────────────────────────────┐
- │ │
- │ Enter any of the following options, starting in the 1st column │
- │ (for no options enter "none" ) Only the first letter of the │
- │ command is necessary. │
- │ │
- │ Analysis option = xxxxx Any option letters A-Z can be used. Upper │
- │ case indicates turning option on, lower case │
- │ turns the option off. See manual for a │
- │ complete list of options. │
- │ I - Inhibit graphics characters │
- │ L - use for MASM versions prior to 4.5 │
- │ M - use for MASM versions prior to 4.5 │
- │ Code style = xxx Code style types include: │
- │ com, exe, fragment, zero start, │
- │ device driver, or overlay │
- │ Drive = x Disk drive for output (letter a-z) │
- │ Format = xxx Output format ASM or LST for source code or │
- │ listing output (LST is the default) │
- │ Go When the .def file has loaded, go │
- │ Header = xxx Enter the ascii header string (32 char max) │
- │ Input filename = xxx Filename for input (may include disk & path) │
- │ Keep segments = xxx When loading a file, use the file defined │
- │ segments (FILE), use the def file segments │
- │ in section 2 (DEF) or use both (BOTH) │
- │ NOTE: Specify this option prior to file input │
- │ BOTH is the default, used in most cases │
- │ Label = xxx Select label type, Decimal, Zero fill, │
- │ Segment & offset, Letter segment & offset │
- │ Math on Use the math co-processor instruction set │
- │ None Use default commands only │
- │ Output filename = xxx Filename for output (may include drive & path) │
- │ Passes = x Select the number of passes from 2 to 9 │
- │ Remark = xxx Select remarks to be included: All, None, │
- │ Data remarks only, Interrupts & I/O only, │
- │ Others only, Except Data, Except Interrupts, │
- │ Except Others │
- │ Segment display off Turn off the display of segments on listings │
- │ Tabs off Only use spaces, no tabs │
- │ uP = xxx Select the uP from: │
- │ 8088, V20/V30, 80186, 80286, P286, 80386, │
- │ P386, 80486, P486 or AUTO for automatic │
- │ Vertical lines = xxx For listings, select the number of lines per │
- │ page from 10 to 255 (default is 59) │
- │ Words to upper case Set upper case style (lower case is default) │
- │ Xref = xx ON or OFF (selecting ON sets passes to 5) │
- │ │
- └────────────────────────────────────────────────────────────────────────────┘
-
- ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Section 1: CONTROL INFORMATION ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
-
- uP = 8088
- Input filename = testyn.exe
- Header = TESTYN with definition file
- Xref = ON
-
-
-
-
- ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Section 2: RANGE DEFINITION ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
-
- ┌─── Section 2 instructions──────────────────────────────────────────────────┐
- │ │
- │ segment:offset = start processing location (hex) │
- │ see note 3 at end on referencing loaded file segments │
- │ │
- │ end offset = ending location for segment │
- │ │
- │ default ds, es = default used when not overwritten by in-line code │
- │ │
- │ segment type = auto - code/data, full data resolving │
- │ code - code, limited data resolving │
- │ data - data, no code processed │
- │ stack - stack, no code processed │
- │ rauto - ROM code/data (same as "auto") in ROM │
- │ rcode - ROM code (same as "code") in ROM │
- │ │
- │ segment size = use16 for 16 bit segments (this is the default) │
- │ use32 for 32 bit segments. The text use32 may not be │
- │ abbreviated. │
- │ │
- └────────────────────────────────────────────────────────────────────────────┘
-
-
- ▒▒▒▒ Segments ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
-
- begin end default seg seg
- seg:off off ds es type size
- ------- ---- ---- ---- ----- -----
- none ; comments in this area ignored
-
-
-
- ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Section 3 REFERENCE DEFINITIONS ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
-
- ┌─── Section 3 instructions──────────────────────────────────────────────────┐
- │ │
- │ segment:offset = absolute location of item (hex) │
- │ see note 3 at end on referencing loaded file segments │
- │ │
- │ typ = type field │
- │ DB = data byte │
- │ DW = data word │
- │ DD = double word │
- │ DA = ascii text byte(s) │
- │ DS = data structure │
- │ SUB = subroutine reference (S can also be used) │
- │ LOC = location reference (L can also be used) │
- │ FORCE = forced function (F can also be used) │
- │ │
- │ options (indicate one or more options with a comma separator) │
- │ │
- │ data options: , C xxx comment number xxx (from 1 to 3FF) │
- │ , EQU treat label as an equate │
- │ , DUP duplicate same bytes/words R times │
- │ , INDEX replace a index of the same value │
- │ , MULTI multi-defined label │
- │ , OSN offset sub_xxx (Sub Near) │
- │ , OSF offset sub_xxx, seg sub_xxx (Sub Far) │
- │ , OLN offset loc_xxx (Loc Near) │
- │ , OLF offset loc_xxx, seg loc_xxx (Loc Far) │
- │ , ODN offset data_xxx (Data Near) │
- │ , ODF offset data_xx, seg data_xx (Data Far) │
- │ , R xxxx repeat 0 to FFFF, (FFFF bytes max) │
- │ (i.e. dw, R 4 indicates 8 bytes) │
- │ , SEG item is a segment name (dw only) │
- │ , UNUSED if item is never referenced, then do not use │
- │ │
- │ Location , C xx comment number xx (from 1 to FF) │
- │ options: , EXT external entry point to program │
- │ , FAR far procedure │
- │ , NEAR near procedure │
- │ Note: EXT, FAR & NEAR all reset the simulator │
- │ , UNUSED if item is never referenced, then do not use │
- │ │
- │ Subroutine , C xx comment number xx (from 1 to FF) │
- │ options: , FAR subroutine is defined as FAR │
- │ , TERM subroutine terminates (does not return to │
- │ caller) │
- │ , UNUSED if item is never referenced, then do not use │
- │ │
- │ Forced , CODE switch to code mode │
- │ options: , DATA switch to data mode │
- │ , CODE16 switch to 16 bit code mode │
- │ , CODE32 switch to 32 bit code mode │
- │ , ENDP force a endp to appear after instruction │
- │ , AX=xxxx change the value of any simulation │
- │ register ax/bx/cx/dx/bp/si/di/sp │
- │ ds/es/ss/fs/gs │
- │ , EAX=xxxx change the value of any 32 bit simulation │
- │ register eax/ebx/ecx/edx/ebp/esi/edi │
- │ , EAx LEA instruction's reference item type │
- │ EAS for sub, EAL for location, EAD for data│
- │ optional segment follows │
- │ , Ox convert immediate value to offset │
- │ OS for sub, OL for location, OD for data │
- │ optional segment follows (cs segment default)│
- │ , REG display the internal simulation registers │
- │ │
- │ Forced index table analysis for calls & jumps │
- │ , SN table type "offset sub_xx" │
- │ , SF table type "offset sub_xxx, seg sub_xxx" │
- │ , LN table type "offset loc_xx" │
- │ , LF table type "offset loc_xxx, seg loc_xxx" │
- │ format: "seg_a:xxxx f, sn 1234:22 34" │
- │ where 1234:22 is the location of the table │
- │ with 34h entries │
- │ │
- │ label field = enter label up to 15 characters long │
- │ (label ignored for forced functions; │
- │ do not place a comma before or inside label) │
- │ │
- │ comment field = a short comment can be included here (64 characters max) │
- │ if a semi-colon appears, the rest of the line is ignored │
- └────────────────────────────────────────────────────────────────────────────┘
-
- ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Section 3 REFERENCE DEFINITIONS ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
-
-
- ════ Subroutines ═══════════════════════
- seg:off type & options label comments
- ------- -------------- -------------- --------------
- seg_c:0000 sub, far, c 02 beeper ; beep subroutine (3rd segment)
-
-
- ════ Locations ═════════════════════════
- seg:off type & options label comments
- ------- -------------- -------------- --------------
- seg_a:0028 loc, c 04 begin_program
- seg_a:0043 loc exit
-
-
- ════ Data Items ════════════════════════
- seg:off type & options label comments
- ------- -------------- -------------- --------------
- seg_c:002C da, r 0C yes_no_message
- seg_c:0038 dw, c 6 speaker_port
- seg_c:003A dw, c 7 on_off_time
- seg_c:003C dw, c 8 beep_cycles
-
-
- ┌─── General Notes ─────────────────────────────────────────────────────────┐
- │ Notes: │
- │ 1) Must have at least one entry in each section to operate properly. │
- │ Use "none" if no entries are needed for a section. │
- │ Separate each section with at least one line with a space in │
- │ column 1. │
- │ │
- │ 2) Order of entries within each section is unimportant. │
- │ │
- │ 3) When a filename is specified in section 1, it is loaded and the │
- │ first 250 segments can be referenced as "seg_a" to "seg_z" and │
- │ "seg_aa" to "seg_az" through to the 250th segment "seg_io". │
- │ These can be used anywhere a segment is required. For example │
- │ a location label can be defined as: │
- │ │
- │ 6234:0124 loc, Ext, C 2 temp_value_a │
- │ or: seg_b:0124 loc, Ext, C 2 temp_value_a │
- │ │
- │ The second entry will use the 2nd segment within the loaded file │
- │ An error will be generated if a segment is used beyond those │
- │ specified by the file load (Consult manual for more information).│
- │ │
- │ 4) Section 3 ignores blank lines or lines starting with a space in │
- │ column 1, or the balance of a line where a semicolon occurs. │
- │ │
- │ 5) The following examples show acceptable forms for the same function,│
- │ a location entry as a external entry point with comment #2: │
- │ │
- │ seg_a:0124 loc, Ext, C 2 temp_value_a ; prefered format │
- │ seg_a:0124 l, Ext, C 2 temp_value_a │
- │ seg_a:0124 l, E, C=2 temp_value_a ; notes can follow │
- │ seg_a:0124 l, External, C 2 temp_value_a │
- │ seg_a:0124 Location, Ext, C 02 temp_value_a │
- │ seg_a:0124 L, e, c 2 temp_value_a │
- │ │
- │ 6) Upper and lower case will have no effect (except for analysis │
- │ options), but is preserved for labels. │
- └───────────────────────────────────────────────────────────────────────────┘
-
-