Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:45:07
C to PARSER interface                                       Page     1-1


				page           60,132
				name           _parse
				title          C to PARSER interface
				;-------------------------------------------------------------------
				;
				;       MODULE:         _parse
				;
				;       PURPOSE:        Supplies an interface between C programs and
				;                       the DOS 3.3 parser
				;
				;       CALLING FORMAT:
				;                       parse(&inregs,&outregs);
				;
				;       DATE:           5-21-87
				;
				;-------------------------------------------------------------------
				
				;       extrn   sysparse:far
				
				        public  _parse
				
				;-------------------------------------------------------------------
 = 0000				FarSW   equ     0       ; make sysparse be a NEAR proc
 = 0000				TimeSW  equ     0       ; Check time format
 = 0000				FileSW  equ     0       ; Check file specification
 = 0000				CAPSW   equ     0       ; Perform CAPS if specified
 = 0000				CmpxSW  equ     0       ; Check complex list
 = 0001				NumSW   equ     1       ; Check numeric value
 = 0000				KeySW   equ     0       ; Support keywords
 = 0001				SwSW    equ     1       ; Support switches
 = 0001				Val1SW  equ     1       ; Support value definition 1
 = 0001				Val2SW  equ     1       ; Support value definition 2
 = 0000				Val3SW  equ     0       ; Support value definition 3
 = 0000				DrvSW   equ     0       ; Support drive only format
 = 0000				QusSW   equ     0       ; Support quoted string format
				;-------------------------------------------------------------------
				
				
				
				
 0000				_TEXT   SEGMENT BYTE PUBLIC 'CODE'
 0000				_TEXT   ENDS
 0000				_DATA   SEGMENT WORD PUBLIC 'DATA'
 0000				_DATA   ENDS
 0000				CONST   SEGMENT WORD PUBLIC 'CONST'
 0000				CONST   ENDS
 0000				_BSS    SEGMENT WORD PUBLIC 'BSS'
 0000				_BSS    ENDS
				
				
				DGROUP  GROUP   CONST, _BSS, _DATA
				
				
 0000				_DATA   segment word public 'DATA'
				
				        assume  cs:DGROUP
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:45:07
C to PARSER interface                                       Page     1-2


				        assume  ss:dgroup
				
				        public  SysParse
				
				;-------------------------------------------------------------------
				.list
				;-------------------------------------------------------------------
				
				                public  CallParser
 0920				CallParser      proc    far
				
 0920  1E			        push    ds
 0921  06			        PUSH    ES
				
 0922  0E			        push    cs
 0923  1F			        pop     ds
				        assume  ds:DGROUP
				
 0924  0E			        push    cs
 0925  07			        pop     es
				        assume  es:DGROUP
				
 0926  90			        nop
				
 0927  E8 00C8 R		        call    SysParse
				
 092A  07			        POP     ES
 092B  1F			        pop     ds
				
 092C  CB			        ret
				
 092D				CallParser      endp
				
				
				
 092D				_DATA   ends
				
 0000				_TEXT   segment byte public 'CODE'
				
				        ASSUME  CS:_TEXT
				        ASSUME  DS:DGROUP
				        ASSUME  ES:NOTHING
				        ASSUME  SS:DGROUP
				
 0000				_parse  proc    near
				
 0000  55			        push    bp              ; save user's base pointer
 0001  8B EC			        mov     bp,sp           ; set bp to current sp
 0003  57			        push    di              ; save some registers
 0004  56			        push    si
				
				;       copy C inregs into proper registers
				
 0005  8B 7E 04			        mov     di,[bp+4]       ; fix di (arg 0)
				
				;-------------------------------------------------------------------
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:45:07
C to PARSER interface                                       Page     1-3


				
 0008  8B 45 0A			        mov     ax,[di+0ah]     ; load di
 000B  50			        push    ax              ; the di value from inregs is now on stack
				
 000C  8B 05			        mov     ax,[di+00]      ; get inregs.x.ax
 000E  8B 5D 02			        mov     bx,[di+02]      ; get inregs.x.bx
 0011  8B 4D 04			        mov     cx,[di+04]      ; get inregs.x.cx
 0014  8B 55 06			        mov     dx,[di+06]      ; get inregs.x.dx
 0017  8B 75 08			        mov     si,[di+08]      ; get inregs.x.si
 001A  5F			        pop     di              ; get inregs.x.di from stack
				
 001B  55			        push    bp              ; save base pointer
				
				;-------------------------------------------------------------------
				;-------------------------------------------------------------------
				
 001C  9A 0920 ---- R		        call    CallParser      ; call the parser
				
				;-------------------------------------------------------------------
				;-------------------------------------------------------------------
				
 0021  5D			        pop     bp              ; restore base pointer
 0022  57			        push    di              ; the di value from call is now on stack
 0023  8B 7E 06			        mov     di,[bp+6]       ; fix di (arg 1)
				
 0026  89 05			        mov     [di+00],ax      ; load outregs.x.ax
 0028  89 5D 02			        mov     [di+02],bx      ; load outregs.x.bx
 002B  89 4D 04			        mov     [di+04],cx      ; load outregs.x.cx
 002E  89 55 06			        mov     [di+06],dx      ; load outregs.x.dx
 0031  89 75 08			        mov     [di+08],si      ; load outregs.x.si
				
 0034  33 C0			        xor     ax,ax           ; clear ax
 0036  9F			        lahf                    ; get flags into ax
 0037  89 45 0C			        mov     [di+0ch],ax     ; load outregs.x.cflag
				
 003A  58			        pop     ax              ; get di from stack
 003B  89 45 0A			        mov     [di+0ah],ax     ; load outregs.x.di
				
				;-------------------------------------------------------------------
				
 003E  5E			        pop     si              ; restore registers
 003F  5F			        pop     di
 0040  8B E5			        mov     sp,bp           ; restore sp
 0042  5D			        pop     bp              ; restore user's bp
 0043  C3			        ret
				
 0044				_parse  endp
				
 0044				_TEXT   ends                    ; end code segment
				        end
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:45:07
C to PARSER interface                                       Symbols-1


Structures and Records:

                N a m e                 Width   # fields
                                        Shift   Width   Mask    Initial

$P_CDI . . . . . . . . . . . . .  	0022	000C
  $P_CDI_DATEF . . . . . . . . .  	0000
  $P_CDI_MONEY . . . . . . . . .  	0002
  $P_CDI_1000  . . . . . . . . .  	0007
  $P_CDI_DEC . . . . . . . . . .  	0009
  $P_CDI_DATES . . . . . . . . .  	000B
  $P_CDI_TIMES . . . . . . . . .  	000D
  $P_CDI_TIMEF . . . . . . . . .  	0011
$P_CONTROL_BLK . . . . . . . . .  	000A	0006
  $P_MATCH_FLAG  . . . . . . . .  	0000
  $P_FUNCTION_FLAG . . . . . . .  	0002
  $P_RESULT_BUF  . . . . . . . .  	0004
  $P_VALUE_LIST  . . . . . . . .  	0006
  $P_NID . . . . . . . . . . . .  	0008
  $P_KEYORSW . . . . . . . . . .  	0009
$P_DOS_TBL . . . . . . . . . . .  	0005	0003
  $P_DOS_INFOID  . . . . . . . .  	0000
  $P_DOS_TBL_OFF . . . . . . . .  	0001
  $P_DOS_TBL_SEG . . . . . . . .  	0003
$P_PARMSX_BLK  . . . . . . . . .  	0004	0003
  $P_MINP  . . . . . . . . . . .  	0000
  $P_MAXP  . . . . . . . . . . .  	0001
  $P_1ST_CONTROL . . . . . . . .  	0002
$P_PARMS_BLK . . . . . . . . . .  	0004	0003
  $P_PARMSX_ADDRESS  . . . . . .  	0000
  $P_NUM_EXTRA . . . . . . . . .  	0002
  $P_LEN_EXTRA_DELIM . . . . . .  	0003
$P_RESULT_BLK  . . . . . . . . .  	0008	0004
  $P_TYPE  . . . . . . . . . . .  	0000
  $P_ITEM_TAG  . . . . . . . . .  	0001
  $P_SYNONYM_PTR . . . . . . . .  	0002
  $P_PICKED_VAL  . . . . . . . .  	0004
$P_VAL_LIST  . . . . . . . . . .  	0009	0005
  $P_NUMOFLIST . . . . . . . . .  	0000
  $P_VAL_XL  . . . . . . . . . .  	0001
  $P_VAL_XH  . . . . . . . . . .  	0003
  $P_VAL_YL  . . . . . . . . . .  	0005
  $P_VAL_YH  . . . . . . . . . .  	0007

Segments and Groups:

                N a m e         	Length	 Align	Combine Class

DGROUP . . . . . . . . . . . . .  	GROUP
  CONST  . . . . . . . . . . . .  	0000	WORD	PUBLIC	'CONST'
  _BSS . . . . . . . . . . . . .  	0000	WORD	PUBLIC	'BSS'
  _DATA  . . . . . . . . . . . .  	092D	WORD	PUBLIC	'DATA'
_TEXT  . . . . . . . . . . . . .  	0044	BYTE	PUBLIC	'CODE'
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:45:07
C to PARSER interface                                       Symbols-2


Symbols:            

                N a m e         	Type	 Value	 Attr

CallParser . . . . . . . . . . .  	F PROC	0920	_DATA	Global	Length = 000D
CAPSW  . . . . . . . . . . . . .  	NUMBER	0000	
CMPXSW . . . . . . . . . . . . .  	NUMBER	0000	

DATESW . . . . . . . . . . . . .  	NUMBER	0001	
DRVSW  . . . . . . . . . . . . .  	NUMBER	0000	

FARSW  . . . . . . . . . . . . .  	NUMBER	0000	
FILESW . . . . . . . . . . . . .  	NUMBER	0000	

INCSW  . . . . . . . . . . . . .  	NUMBER	0001	

KEYSW  . . . . . . . . . . . . .  	NUMBER	0000	

LFEOLSW  . . . . . . . . . . . .  	NUMBER	0001	

NUMSW  . . . . . . . . . . . . .  	NUMBER	0001	

PSDATA_SEG . . . . . . . . . . .  	ALIAS	 CS		

QUSSW  . . . . . . . . . . . . .  	NUMBER	0000	

SWSW . . . . . . . . . . . . . .  	NUMBER	0001	
SysParse . . . . . . . . . . . .  	N PROC	00C8	_DATA	Global	Length = 0159

TIMESW . . . . . . . . . . . . .  	NUMBER	0000	

VAL1SW . . . . . . . . . . . . .  	NUMBER	0001	
VAL2SW . . . . . . . . . . . . .  	NUMBER	0001	
VAL3SW . . . . . . . . . . . . .  	NUMBER	0000	

$P_0099  . . . . . . . . . . . .  	N PROC	05E3	_DATA	Length = 000E
$P_0099ERR . . . . . . . . . . .  	L NEAR	05EF	_DATA
$P_1ST_VAL . . . . . . . . . . .  	L WORD	00BA	_DATA
$P_2ND_VAL . . . . . . . . . . .  	L WORD	00BC	_DATA
$P_3RD_VAL . . . . . . . . . . .  	L WORD	00BE	_DATA
$P_4TH_VAL . . . . . . . . . . .  	L WORD	00C0	_DATA
$P_ASCII80 . . . . . . . . . . .  	NUMBER	0080	
$P_BRIDGE  . . . . . . . . . . .  	L NEAR	03AD	_DATA
$P_CAPS_RET  . . . . . . . . . .  	L NEAR	048F	_DATA
$P_CAP_CHAR  . . . . . . . . . .  	NUMBER	0002	
$P_CAP_FILE  . . . . . . . . . .  	NUMBER	0001	
$P_CHAR_CAP_PTR  . . . . . . . .  	L BYTE	00C2	_DATA
$P_CHECK_MATCH_FLAGS . . . . . .  	N PROC	036E	_DATA	Length = 0098
$P_CHECK_OVF . . . . . . . . . .  	N PROC	05D1	_DATA	Length = 0012
$P_CHKDFIN . . . . . . . . . . .  	L NEAR	0883	_DATA
$P_CHK_DBCS  . . . . . . . . . .  	N PROC	08CA	_DATA	Length = 0056
$P_CHK_DELIM . . . . . . . . . .  	N PROC	083B	_DATA	Length = 0061
$P_CHK_DELIM00 . . . . . . . . .  	L NEAR	0855	_DATA
$P_CHK_DELIM01 . . . . . . . . .  	L NEAR	0865	_DATA
$P_CHK_DELIM_EXIT  . . . . . . .  	L NEAR	0883	_DATA
$P_CHK_DELIM_EXIT0 . . . . . . .  	L NEAR	0886	_DATA
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:45:07
C to PARSER interface                                       Symbols-3


$P_CHK_DELIM_LOOP  . . . . . . .  	L NEAR	0879	_DATA
$P_CHK_DELIM_NZ  . . . . . . . .  	L NEAR	0881	_DATA
$P_CHK_EOL . . . . . . . . . . .  	N PROC	0805	_DATA	Length = 0036
$P_CHK_EOL_EXIT  . . . . . . . .  	L NEAR	0838	_DATA
$P_CHK_EOL_LOOP  . . . . . . . .  	L NEAR	082E	_DATA
$P_CHK_EOL_NZ  . . . . . . . . .  	L NEAR	0836	_DATA
$P_CHK_IF_DATA_REQUIRED  . . . .  	L NEAR	02BF	_DATA
$P_CHK_KEY_CONTROL . . . . . . .  	N PROC	0253	_DATA	Length = 0002
$P_CHK_POS_CONTROL . . . . . . .  	N PROC	0221	_DATA	Length = 0032
$P_CHK_SWITCH  . . . . . . . . .  	N PROC	089C	_DATA	Length = 002E
$P_CHK_SW_CONTROL  . . . . . . .  	N PROC	0286	_DATA	Length = 0063
$P_CHK_SW_ERR0 . . . . . . . . .  	L NEAR	02DB	_DATA
$P_CHK_SW_EXIT . . . . . . . . .  	L NEAR	02DE	_DATA
$P_CHK_SW_SINGLE_EXIT  . . . . .  	L NEAR	02E8	_DATA
$P_CMPX_S  . . . . . . . . . . .  	NUMBER	0400	
$P_COLON . . . . . . . . . . . .  	NUMBER	003A	
$P_COLON_IS_NOT_NECESSARY  . . .  	NUMBER	0020	
$P_COLON_PERIOD  . . . . . . . .  	NUMBER	0001	
$P_COMMA . . . . . . . . . . . .  	NUMBER	002C	
$P_COMPLEX . . . . . . . . . . .  	NUMBER	0004	
$P_COUNTRY_INFO  . . . . . . . .  	L 	0098	_DATA
$P_COVF  . . . . . . . . . . . .  	L NEAR	05DC	_DATA
$P_COVF00  . . . . . . . . . . .  	L NEAR	05E1	_DATA
$P_CPC00 . . . . . . . . . . . .  	L NEAR	022F	_DATA
$P_CPC01 . . . . . . . . . . . .  	L NEAR	024E	_DATA
$P_CPC02 . . . . . . . . . . . .  	L NEAR	0243	_DATA
$P_CPC_EXIT  . . . . . . . . . .  	L NEAR	0251	_DATA
$P_CR  . . . . . . . . . . . . .  	NUMBER	000D	
$P_CSW00 . . . . . . . . . . . .  	L NEAR	02D5	_DATA
$P_DATEF00 . . . . . . . . . . .  	L NEAR	072C	_DATA
$P_DATEF01 . . . . . . . . . . .  	L NEAR	072A	_DATA
$P_DATEF02 . . . . . . . . . . .  	L NEAR	0745	_DATA
$P_DATEF03 . . . . . . . . . . .  	L NEAR	074E	_DATA
$P_DATEF_ERR0  . . . . . . . . .  	L NEAR	06F6	_DATA
$P_DATEF_ERROR . . . . . . . . .  	L NEAR	0759	_DATA
$P_DATEF_YMD . . . . . . . . . .  	L NEAR	0700	_DATA
$P_DATE_DMY  . . . . . . . . . .  	NUMBER	0001	
$P_DATE_F  . . . . . . . . . . .  	NUMBER	0007	
$P_DATE_FORMAT . . . . . . . . .  	N PROC	06BA	_DATA	Length = 00B3
$P_DATE_FORMAT_EXIT  . . . . . .  	L NEAR	0769	_DATA
$P_DATE_MDY  . . . . . . . . . .  	NUMBER	0000	
$P_DATE_S  . . . . . . . . . . .  	NUMBER	1000	
$P_DATE_YMD  . . . . . . . . . .  	NUMBER	0002	
$P_DBCS00  . . . . . . . . . . .  	L NEAR	08FC	_DATA
$P_DBCS01  . . . . . . . . . . .  	L NEAR	0917	_DATA
$P_DBCS02  . . . . . . . . . . .  	L NEAR	08F2	_DATA
$P_DBCSEV_OFF  . . . . . . . . .  	L WORD	0009	_DATA
$P_DBCSEV_SEG  . . . . . . . . .  	L WORD	000B	_DATA
$P_DBCS_EXIT . . . . . . . . . .  	L NEAR	091C	_DATA
$P_DBCS_LOOP . . . . . . . . . .  	L NEAR	0906	_DATA
$P_DBSP1 . . . . . . . . . . . .  	NUMBER	0081	
$P_DBSP2 . . . . . . . . . . . .  	NUMBER	0040	
$P_DCC00 . . . . . . . . . . . .  	L NEAR	0462	_DATA
$P_DCC01 . . . . . . . . . . . .  	L NEAR	047E	_DATA
$P_DCC_GO  . . . . . . . . . . .  	L NEAR	045B	_DATA
$P_DCS00 . . . . . . . . . . . .  	L NEAR	0444	_DATA
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:45:07
C to PARSER interface                                       Symbols-4


$P_DCS01 . . . . . . . . . . . .  	L NEAR	0445	_DATA
$P_DCS_EXIT  . . . . . . . . . .  	L NEAR	0448	_DATA
$P_DCS_LOOP  . . . . . . . . . .  	L NEAR	0430	_DATA
$P_DOSTBL_BL . . . . . . . . . .  	NUMBER	0005	
$P_DOSTBL_CHAR . . . . . . . . .  	NUMBER	0002	
$P_DOSTBL_DEF  . . . . . . . . .  	NUMBER	-0001	
$P_DOSTBL_FILE . . . . . . . . .  	NUMBER	0004	
$P_DOS_GETEV . . . . . . . . . .  	NUMBER	6300	
$P_DOS_GET_CDI . . . . . . . . .  	NUMBER	3800	
$P_DOS_GET_TBL . . . . . . . . .  	NUMBER	0065	
$P_DO_CAPS_CHAR  . . . . . . . .  	N PROC	044B	_DATA	Length = 0045
$P_DO_CAPS_STRING  . . . . . . .  	N PROC	042C	_DATA	Length = 001F
$P_DO_DATE_DELIMS  . . . . . . .  	L NEAR	07AB	_DATA
$P_DO_TIME_DELIM1  . . . . . . .  	L NEAR	07A5	_DATA
$P_DQUOTE  . . . . . . . . . . .  	NUMBER	0022	
$P_DRIVE . . . . . . . . . . . .  	NUMBER	0006	
$P_DRV_ONLY  . . . . . . . . . .  	NUMBER	0100	
$P_DX  . . . . . . . . . . . . .  	L WORD	0006	_DATA
$P_EOL . . . . . . . . . . . . .  	NUMBER	0000	
$P_EQU . . . . . . . . . . . . .  	NUMBER	0001	
$P_ERROR_FILESPEC  . . . . . . .  	NUMBER	0001	
$P_ERR_FLAG  . . . . . . . . . .  	L BYTE	00C7	_DATA
$P_EXIT_AT_EXTRA . . . . . . . .  	L NEAR	0803	_DATA
$P_EXTRA . . . . . . . . . . . .  	NUMBER	0020	
$P_FILE_SPC  . . . . . . . . . .  	NUMBER	0200	
$P_FILE_SPEC . . . . . . . . . .  	NUMBER	0005	
$P_FILL_RESULT . . . . . . . . .  	N PROC	02E9	_DATA	Length = 0085
$P_FIN . . . . . . . . . . . . .  	L NEAR	00FE	_DATA
$P_FLAGS . . . . . . . . . . . .  	L WORD	000D	_DATA
$P_FLAGS1  . . . . . . . . . . .  	BYTE	000D	_DATA
$P_FLAGS2  . . . . . . . . . . .  	BYTE	000E	_DATA
$P_FOUND_SYNONYM . . . . . . . .  	L WORD	0015	_DATA
$P_GETNUM00  . . . . . . . . . .  	L NEAR	07D0	_DATA
$P_GETNUM01  . . . . . . . . . .  	L NEAR	07D5	_DATA
$P_GETNUM02  . . . . . . . . . .  	L NEAR	07D9	_DATA
$P_GETNUM_EXIT . . . . . . . . .  	L NEAR	07DA	_DATA
$P_GETNUM_LOOP . . . . . . . . .  	L NEAR	078D	_DATA
$P_GET_DECNUM  . . . . . . . . .  	N PROC	0789	_DATA	Length = 0056
$P_GOT_TIME  . . . . . . . . . .  	L BYTE	0097	_DATA
$P_IG_COLON  . . . . . . . . . .  	NUMBER	0010	
$P_I_HAVE_DELIM  . . . . . . . .  	NUMBER	0001	
$P_I_HAVE_EOL  . . . . . . . . .  	NUMBER	0002	
$P_I_USE_DEFAULT . . . . . . . .  	NUMBER	0000	
$P_KEYORSW_EXIT  . . . . . . . .  	L NEAR	0277	_DATA
$P_KEYORSW_FOUND . . . . . . . .  	L NEAR	0271	_DATA
$P_KEYORSW_LOOP  . . . . . . . .  	L NEAR	0264	_DATA
$P_KEYORSW_NOT_FOUND . . . . . .  	L NEAR	026E	_DATA
$P_KEYORSW_PTR . . . . . . . . .  	L WORD	0011	_DATA
$P_KEYWORD . . . . . . . . . . .  	NUMBER	003D	
$P_KEY_CMP . . . . . . . . . . .  	NUMBER	0008	
$P_KEY_MANAGER . . . . . . . . .  	L NEAR	01D0	_DATA
$P_KEY_MGR_LOOP  . . . . . . . .  	L NEAR	01EF	_DATA
$P_KEY_NOT_FOUND . . . . . . . .  	L NEAR	01FD	_DATA
$P_LEN_PARMS . . . . . . . . . .  	NUMBER	0004	
$P_LEN_RANGE . . . . . . . . . .  	NUMBER	0009	
$P_LEN_STRING  . . . . . . . . .  	NUMBER	0003	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:45:07
C to PARSER interface                                       Symbols-5


$P_LEN_VALUE . . . . . . . . . .  	NUMBER	0005	
$P_LF  . . . . . . . . . . . . .  	NUMBER	000A	
$P_LIST_IDX  . . . . . . . . . .  	NUMBER	0002	
$P_LPAREN  . . . . . . . . . . .  	NUMBER	0028	
$P_MAKE_LOWER  . . . . . . . . .  	NUMBER	0020	
$P_MAKE_UPPER  . . . . . . . . .  	NUMBER	00DF	
$P_MAT . . . . . . . . . . . . .  	L NEAR	0394	_DATA
$P_MATCH02 . . . . . . . . . . .  	L NEAR	03AB	_DATA
$P_MATCH03 . . . . . . . . . . .  	L NEAR	03B0	_DATA
$P_MATCH04 . . . . . . . . . . .  	L NEAR	03C7	_DATA
$P_MATCH05 . . . . . . . . . . .  	L NEAR	03DE	_DATA
$P_MATCH09 . . . . . . . . . . .  	L NEAR	03ED	_DATA
$P_MATCH2_EXIT . . . . . . . . .  	L NEAR	0404	_DATA
$P_MATCH_EXIT  . . . . . . . . .  	L NEAR	03ED	_DATA
$P_MBP_EXIT  . . . . . . . . . .  	L NEAR	0284	_DATA
$P_MBP_LOOP  . . . . . . . . . .  	L NEAR	027A	_DATA
$P_MINUS . . . . . . . . . . . .  	NUMBER	002D	
$P_MOVEBP_NUL  . . . . . . . . .  	N PROC	027A	_DATA	Length = 000C
$P_NEEDTOBEREAD  . . . . . . . .  	NUMBER	FFFF	
$P_NEG . . . . . . . . . . . . .  	NUMBER	0002	
$P_NEITHER_DELIMS  . . . . . . .  	L NEAR	07B7	_DATA
$P_NON_DBCS  . . . . . . . . . .  	L NEAR	091B	_DATA
$P_NOT_APPLICABLE  . . . . . . .  	L NEAR	068D	_DATA
$P_NOT_IN_KEY  . . . . . . . . .  	NUMBER	0004	
$P_NOT_IN_STR  . . . . . . . . .  	NUMBER	0008	
$P_NOT_IN_SW . . . . . . . . . .  	NUMBER	0003	
$P_NOT_IN_VAL  . . . . . . . . .  	NUMBER	0007	
$P_NO_ERROR  . . . . . . . . . .  	NUMBER	0000	
$P_NO_NRNG . . . . . . . . . . .  	NUMBER	0000	
$P_NO_SET_EXTRA  . . . . . . . .  	L NEAR	0898	_DATA
$P_NO_TAG  . . . . . . . . . . .  	NUMBER	00FF	
$P_NULL  . . . . . . . . . . . .  	NUMBER	0000	
$P_NUMBER  . . . . . . . . . . .  	NUMBER	0001	
$P_NUM_VAL . . . . . . . . . . .  	NUMBER	8000	
$P_NVAL_NONE . . . . . . . . . .  	NUMBER	0000	
$P_NVAL_RANGE  . . . . . . . . .  	NUMBER	0001	
$P_NVAL_STRING . . . . . . . . .  	NUMBER	0003	
$P_NVAL_VALUE  . . . . . . . . .  	NUMBER	0002	
$P_OPTIONAL  . . . . . . . . . .  	NUMBER	0001	
$P_OP_MISSING  . . . . . . . . .  	NUMBER	0002	
$P_ORDINAL . . . . . . . . . . .  	L WORD	0000	_DATA
$P_OUT_OF_RANGE  . . . . . . . .  	NUMBER	0006	
$P_PACK_END  . . . . . . . . . .  	L NEAR	0159	_DATA
$P_PACK_END_BACKUP_SI  . . . . .  	L NEAR	0133	_DATA
$P_PACK_END_BY_EOL . . . . . . .  	L NEAR	0158	_DATA
$P_PACK_LOOP . . . . . . . . . .  	L NEAR	0116	_DATA
$P_PERIOD  . . . . . . . . . . .  	NUMBER	002E	
$P_PERIOD_ONLY . . . . . . . . .  	NUMBER	0002	
$P_PL00  . . . . . . . . . . . .  	L NEAR	014B	_DATA
$P_PL01  . . . . . . . . . . . .  	L NEAR	013E	_DATA
$P_PLUS  . . . . . . . . . . . .  	NUMBER	002B	
$P_POSITIONAL_MANAGER  . . . . .  	L NEAR	017C	_DATA
$P_QUOTED_STRING . . . . . . . .  	NUMBER	0009	
$P_QU_STRING . . . . . . . . . .  	NUMBER	0080	
$P_RC  . . . . . . . . . . . . .  	L WORD	0002	_DATA
$P_RCOL00  . . . . . . . . . . .  	L NEAR	0420	_DATA
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:45:07
C to PARSER interface                                       Symbols-6


$P_RCOL01  . . . . . . . . . . .  	L NEAR	0426	_DATA
$P_RCOL_EXIT . . . . . . . . . .  	L NEAR	0429	_DATA
$P_RCOL_LOOP . . . . . . . . . .  	L NEAR	0408	_DATA
$P_RC_EOL  . . . . . . . . . . .  	NUMBER	-0001	
$P_READ_CDI  . . . . . . . . . .  	L NEAR	0779	_DATA
$P_REMOVE_COLON  . . . . . . . .  	N PROC	0406	_DATA	Length = 0026
$P_REPEAT  . . . . . . . . . . .  	NUMBER	0002	
$P_RETURN_TO_CALLER  . . . . . .  	L NEAR	0204	_DATA
$P_RETURN_TO_CALLER0 . . . . . .  	L NEAR	0204	_DATA
$P_RLT00 . . . . . . . . . . . .  	L NEAR	0312	_DATA
$P_RLT01 . . . . . . . . . . . .  	L NEAR	031C	_DATA
$P_RLT02 . . . . . . . . . . . .  	L NEAR	0308	_DATA
$P_RLT03 . . . . . . . . . . . .  	L NEAR	032E	_DATA
$P_RLT04 . . . . . . . . . . . .  	L NEAR	0304	_DATA
$P_RLT05 . . . . . . . . . . . .  	L NEAR	0341	_DATA
$P_RLT_CAP00 . . . . . . . . . .  	L NEAR	0355	_DATA
$P_RLT_CAP01 . . . . . . . . . .  	L NEAR	0361	_DATA
$P_RLT_CAP02 . . . . . . . . . .  	L NEAR	035E	_DATA
$P_RLT_EXIT  . . . . . . . . . .  	L NEAR	036C	_DATA
$P_RM_COLON  . . . . . . . . . .  	NUMBER	0010	
$P_RPAREN  . . . . . . . . . . .  	NUMBER	0029	
$P_SAVESI_CMPX . . . . . . . . .  	L WORD	000F	_DATA
$P_SAVE_EOB  . . . . . . . . . .  	L WORD	0013	_DATA
$P_SCOM00  . . . . . . . . . . .  	L NEAR	0661	_DATA
$P_SCOM01  . . . . . . . . . . .  	L NEAR	0674	_DATA
$P_SCOM02  . . . . . . . . . . .  	L NEAR	06A1	_DATA
$P_SCOM03  . . . . . . . . . . .  	L NEAR	0653	_DATA
$P_SCOM04  . . . . . . . . . . .  	L NEAR	063D	_DATA
$P_SCOM05  . . . . . . . . . . .  	L NEAR	0650	_DATA
$P_SCOM_DIFFER . . . . . . . . .  	L NEAR	06AC	_DATA
$P_SCOM_DIFFER0  . . . . . . . .  	L NEAR	0676	_DATA
$P_SCOM_EXIT . . . . . . . . . .  	L NEAR	06B5	_DATA
$P_SCOM_LOOP . . . . . . . . . .  	L NEAR	061D	_DATA
$P_SCOM_SAME . . . . . . . . . .  	L NEAR	06AF	_DATA
$P_SEARCH_KEYORSW  . . . . . . .  	N PROC	0255	_DATA	Length = 0025
$P_SET_CDI . . . . . . . . . . .  	N PROC	076D	_DATA	Length = 001C
$P_SET_CDI_EXIT  . . . . . . . .  	L NEAR	0788	_DATA
$P_SIGNED  . . . . . . . . . . .  	NUMBER	0080	
$P_SIM00 . . . . . . . . . . . .  	L NEAR	0604	_DATA
$P_SIM01 . . . . . . . . . . . .  	L NEAR	0604	_DATA
$P_SIMPLE_S  . . . . . . . . . .  	NUMBER	2000	
$P_SIMPLE_STRING . . . . . . . .  	N PROC	05F1	_DATA	Length = 0026
$P_SIM_EXIT  . . . . . . . . . .  	L NEAR	060D	_DATA
$P_SIM_EXIT0 . . . . . . . . . .  	L NEAR	060F	_DATA
$P_SINGLE_EXIT . . . . . . . . .  	L NEAR	021F	_DATA
$P_SI_SAVE . . . . . . . . . . .  	L WORD	0004	_DATA
$P_SKIP_DELIM  . . . . . . . . .  	N PROC	07DF	_DATA	Length = 0026
$P_SKIP_DELIM_CY . . . . . . . .  	L NEAR	07FD	_DATA
$P_SKIP_DELIM_EXIT . . . . . . .  	L NEAR	0801	_DATA
$P_SKIP_DELIM_LOOP . . . . . . .  	L NEAR	07DF	_DATA
$P_SKIP_DELIM_NCY  . . . . . . .  	L NEAR	0800	_DATA
$P_SLASH . . . . . . . . . . . .  	NUMBER	002F	
$P_SNUM_VAL  . . . . . . . . . .  	NUMBER	4000	
$P_SPACE . . . . . . . . . . . .  	NUMBER	0020	
$P_START . . . . . . . . . . . .  	L NEAR	0102	_DATA
$P_STRING  . . . . . . . . . . .  	NUMBER	0003	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:45:07
C to PARSER interface                                       Symbols-7


$P_STRING_BUF  . . . . . . . . .  	L BYTE	0017	_DATA	Length = 0080
$P_STRING_BUF_END  . . . . . . .  	NEAR	0097	_DATA
$P_STRING_COMP . . . . . . . . .  	N PROC	0617	_DATA	Length = 00A3
$P_STRUC_L1  . . . . . . . . . .  	L NEAR	08C9	_DATA
$P_STRUC_L12 . . . . . . . . . .  	L NEAR	08C8	_DATA
$P_STRUC_L2  . . . . . . . . . .  	L NEAR	08BE	_DATA
$P_STRUC_L5  . . . . . . . . . .  	L NEAR	08BB	_DATA
$P_STRUC_L7  . . . . . . . . . .  	L NEAR	08B8	_DATA
$P_SVAL00  . . . . . . . . . . .  	L NEAR	04AE	_DATA
$P_SVAL01  . . . . . . . . . . .  	L NEAR	04AF	_DATA
$P_SVALUE  . . . . . . . . . . .  	N PROC	0490	_DATA	Length = 0024
$P_SVAL_IN . . . . . . . . . . .  	L NEAR	0568	_DATA
$P_SW  . . . . . . . . . . . . .  	NUMBER	0040	
$P_SWITCH  . . . . . . . . . . .  	NUMBER	002F	
$P_SW_CMP  . . . . . . . . . . .  	NUMBER	0010	
$P_SW_MANAGER  . . . . . . . . .  	L NEAR	01A4	_DATA
$P_SW_MGR_LOOP . . . . . . . . .  	L NEAR	01B9	_DATA
$P_SW_NOT_FOUND  . . . . . . . .  	L NEAR	01C7	_DATA
$P_SYNTAX  . . . . . . . . . . .  	NUMBER	0009	
$P_TAB . . . . . . . . . . . . .  	NUMBER	0009	
$P_TERMINATOR  . . . . . . . . .  	L BYTE	0008	_DATA
$P_TIME12  . . . . . . . . . . .  	NUMBER	0004	
$P_TIME12AM  . . . . . . . . . .  	NUMBER	0001	
$P_TIME_AGAIN  . . . . . . . . .  	NUMBER	0002	
$P_TIME_F  . . . . . . . . . . .  	NUMBER	0008	
$P_TIME_S  . . . . . . . . . . .  	NUMBER	0800	
$P_TOO_MANY  . . . . . . . . . .  	NUMBER	0001	
$P_TOO_MANY_ERROR  . . . . . . .  	L NEAR	019B	_DATA
$P_VAL02_LOOP  . . . . . . . . .  	L NEAR	0534	_DATA
$P_VAL02_NEXT  . . . . . . . . .  	L NEAR	0578	_DATA
$P_VAL02_SIGN  . . . . . . . . .  	L NEAR	055A	_DATA
$P_VAL03_LOOP  . . . . . . . . .  	L NEAR	059E	_DATA
$P_VAL03_NEXT  . . . . . . . . .  	L NEAR	05AA	_DATA
$P_VALUE . . . . . . . . . . . .  	N PROC	04B4	_DATA	Length = 011D
$P_VALUE00 . . . . . . . . . . .  	L NEAR	0506	_DATA
$P_VALUE01 . . . . . . . . . . .  	L NEAR	0519	_DATA
$P_VALUE02 . . . . . . . . . . .  	L NEAR	052B	_DATA
$P_VALUE03 . . . . . . . . . . .  	L NEAR	0593	_DATA
$P_VALUE04 . . . . . . . . . . .  	L NEAR	05BE	_DATA
$P_VALUE_ERR . . . . . . . . . .  	L NEAR	05BE	_DATA
$P_VALUE_ERR0  . . . . . . . . .  	L NEAR	0502	_DATA
$P_VALUE_EXIT  . . . . . . . . .  	L NEAR	05C9	_DATA
$P_VALUE_LOOP  . . . . . . . . .  	L NEAR	04BD	_DATA
$P_VAL_FOUND . . . . . . . . . .  	L NEAR	058C	_DATA
$P_VAL_IN  . . . . . . . . . . .  	L NEAR	054A	_DATA
@CPU . . . . . . . . . . . . . .  	TEXT  0101h		
@FILENAME  . . . . . . . . . . .  	TEXT  _parse		
@VERSION . . . . . . . . . . . .  	TEXT  510		
_parse . . . . . . . . . . . . .  	N PROC	0000	_TEXT	Global	Length = 0044

Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:45:07

C to PARSER interface                                       Symbols-8






   3642 Source  Lines
   3642 Total   Lines
    361 Symbols

  46304 + 218648 Bytes symbol space free

      0 Warning Errors
      0 Severe  Errors
