Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:49
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
				
				;-------------------------------------------------------------------
				;FarSW	 equ	 0	 ; make sysparse be a NEAR proc
				;TimeSW  equ	 0	 ; Check time format
				;FileSW  equ	 0	 ; Check file specification
				;CAPSW	 equ	 0	 ; Perform CAPS if specified
				;CmpxSW  equ	 0	 ; Check complex list
				;NumSW	 equ	 1	 ; Check numeric value
				;KeySW	 equ	 0	 ; Support keywords
				;SwSW	 equ	 1	 ; Support switches
				;Val1SW  equ	 1	 ; Support value definition 1
				;Val2SW  equ	 1	 ; Support value definition 2
				;Val3SW  equ	 0	 ; Support value definition 3
				;DrvSW	 equ	 0	 ; Support drive only format
				;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:44:49
C to PARSER interface                                       Page     1-2


					assume	ss:dgroup
				
					public	SysParse
				
				;-------------------------------------------------------------------
				.list
				;-------------------------------------------------------------------
				
						public	CallParser
 0DC3				CallParser	proc	far
				
 0DC3  1E				push	ds
 0DC4  06				PUSH	ES
				
 0DC5  0E				push	cs
 0DC6  1F				pop	ds
					assume	ds:DGROUP
				
 0DC7  0E				push	cs
 0DC8  07				pop	es
					assume	es:DGROUP
				
 0DC9  90				nop
				
 0DCA  E8 00DE R			call	SysParse
				
 0DCD  07				POP	ES
 0DCE  1F				pop	ds
				
 0DCF  CB				ret
				
 0DD0				CallParser	endp
				
				
				
 0DD0				_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:44:49
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 0DC3 ---- 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:44:49
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  . . . . . . . . . . . .  	0DD0	WORD	PUBLIC	'DATA'
_TEXT  . . . . . . . . . . . . .  	0044	BYTE	PUBLIC	'CODE'
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:49
C to PARSER interface                                       Symbols-2


Symbols:            

                N a m e         	Type	 Value	 Attr

CallParser . . . . . . . . . . .  	F PROC	0DC3	_DATA	Global	Length = 000D
CAPSW  . . . . . . . . . . . . .  	NUMBER	0001	
CMPXSW . . . . . . . . . . . . .  	NUMBER	0001	

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

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

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

KEYSW  . . . . . . . . . . . . .  	NUMBER	0001	

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

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

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

QUSSW  . . . . . . . . . . . . .  	NUMBER	0001	

SWSW . . . . . . . . . . . . . .  	NUMBER	0001	
SysParse . . . . . . . . . . . .  	N PROC	00DE	_DATA	Global	Length = 01CB

TIMESW . . . . . . . . . . . . .  	NUMBER	0001	

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

$P_0099  . . . . . . . . . . . .  	N PROC	072C	_DATA	Length = 000E
$P_0099ERR . . . . . . . . . . .  	L NEAR	0738	_DATA
$P_1ST_VAL . . . . . . . . . . .  	L WORD	00C0	_DATA
$P_2ND_VAL . . . . . . . . . . .  	L WORD	00C2	_DATA
$P_3RD_VAL . . . . . . . . . . .  	L WORD	00C4	_DATA
$P_4TH_VAL . . . . . . . . . . .  	L WORD	00C6	_DATA
$P_ASCII80 . . . . . . . . . . .  	NUMBER	0080	
$P_BL_EQ . . . . . . . . . . . .  	NUMBER	203D	
$P_BRIDGE  . . . . . . . . . . .  	L NEAR	04A5	_DATA
$P_CAPS_RET  . . . . . . . . . .  	L NEAR	05D8	_DATA
$P_CAP_CHAR  . . . . . . . . . .  	NUMBER	0002	
$P_CAP_FILE  . . . . . . . . . .  	NUMBER	0001	
$P_CHAR_CAP_PTR  . . . . . . . .  	L BYTE	00C8	_DATA
$P_CHECK_MATCH_FLAGS . . . . . .  	N PROC	0438	_DATA	Length = 010E
$P_CHECK_OVF . . . . . . . . . .  	N PROC	071A	_DATA	Length = 0012
$P_CHKDFIN . . . . . . . . . . .  	L NEAR	0D26	_DATA
$P_CHK_DBCS  . . . . . . . . . .  	N PROC	0D6D	_DATA	Length = 0056
$P_CHK_DELIM . . . . . . . . . .  	N PROC	0CDE	_DATA	Length = 0061
$P_CHK_DELIM00 . . . . . . . . .  	L NEAR	0CF8	_DATA
$P_CHK_DELIM01 . . . . . . . . .  	L NEAR	0D08	_DATA
$P_CHK_DELIM_EXIT  . . . . . . .  	L NEAR	0D26	_DATA
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:49
C to PARSER interface                                       Symbols-3


$P_CHK_DELIM_EXIT0 . . . . . . .  	L NEAR	0D29	_DATA
$P_CHK_DELIM_LOOP  . . . . . . .  	L NEAR	0D1C	_DATA
$P_CHK_DELIM_NZ  . . . . . . . .  	L NEAR	0D24	_DATA
$P_CHK_EOL . . . . . . . . . . .  	N PROC	0CA8	_DATA	Length = 0036
$P_CHK_EOL_EXIT  . . . . . . . .  	L NEAR	0CDB	_DATA
$P_CHK_EOL_LOOP  . . . . . . . .  	L NEAR	0CD1	_DATA
$P_CHK_EOL_NZ  . . . . . . . . .  	L NEAR	0CD9	_DATA
$P_CHK_IF_DATA_REQUIRED  . . . .  	L NEAR	0389	_DATA
$P_CHK_KEY_CONTROL . . . . . . .  	N PROC	02DB	_DATA	Length = 0044
$P_CHK_KEY_ERR0  . . . . . . . .  	L NEAR	030A	_DATA
$P_CHK_KEY_ERR1  . . . . . . . .  	L NEAR	030D	_DATA
$P_CHK_KEY_ERREXIT . . . . . . .  	L NEAR	0314	_DATA
$P_CHK_KEY_EXIT  . . . . . . . .  	L NEAR	031E	_DATA
$P_CHK_POS_CONTROL . . . . . . .  	N PROC	02A9	_DATA	Length = 0032
$P_CHK_SWITCH  . . . . . . . . .  	N PROC	0D3F	_DATA	Length = 002E
$P_CHK_SW_CONTROL  . . . . . . .  	N PROC	0350	_DATA	Length = 0063
$P_CHK_SW_ERR0 . . . . . . . . .  	L NEAR	03A5	_DATA
$P_CHK_SW_EXIT . . . . . . . . .  	L NEAR	03A8	_DATA
$P_CHK_SW_SINGLE_EXIT  . . . . .  	L NEAR	03B2	_DATA
$P_CMPX00  . . . . . . . . . . .  	L NEAR	0AE1	_DATA
$P_CMPX01  . . . . . . . . . . .  	L NEAR	0AEB	_DATA
$P_CMPX02  . . . . . . . . . . .  	L NEAR	0B07	_DATA
$P_CMPX03  . . . . . . . . . . .  	L NEAR	0B0E	_DATA
$P_CMPX04  . . . . . . . . . . .  	L NEAR	0AFB	_DATA
$P_CMPX05  . . . . . . . . . . .  	L NEAR	0B0A	_DATA
$P_CMPXERR0  . . . . . . . . . .  	L NEAR	0B26	_DATA
$P_CMPX_ERR  . . . . . . . . . .  	L NEAR	0B2F	_DATA
$P_CMPX_EXIT . . . . . . . . . .  	L NEAR	0B36	_DATA
$P_CMPX_LOOP . . . . . . . . . .  	L NEAR	0AD2	_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_COMPLEX_FORMAT  . . . . . . .  	N PROC	0AC3	_DATA	Length = 007E
$P_COUNTRY_INFO  . . . . . . . .  	L 	009E	_DATA
$P_COUNT_TO_EOL  . . . . . . . .  	L WORD	00DB	_DATA
$P_COVF  . . . . . . . . . . . .  	L NEAR	0725	_DATA
$P_COVF00  . . . . . . . . . . .  	L NEAR	072A	_DATA
$P_CPC00 . . . . . . . . . . . .  	L NEAR	02B7	_DATA
$P_CPC01 . . . . . . . . . . . .  	L NEAR	02D6	_DATA
$P_CPC02 . . . . . . . . . . . .  	L NEAR	02CB	_DATA
$P_CPC_EXIT  . . . . . . . . . .  	L NEAR	02D9	_DATA
$P_CR  . . . . . . . . . . . . .  	NUMBER	000D	
$P_CSW00 . . . . . . . . . . . .  	L NEAR	039F	_DATA
$P_DATEF00 . . . . . . . . . . .  	L NEAR	08B8	_DATA
$P_DATEF01 . . . . . . . . . . .  	L NEAR	08B6	_DATA
$P_DATEF02 . . . . . . . . . . .  	L NEAR	08D1	_DATA
$P_DATEF03 . . . . . . . . . . .  	L NEAR	08DA	_DATA
$P_DATEF_ERR0  . . . . . . . . .  	L NEAR	0882	_DATA
$P_DATEF_ERROR . . . . . . . . .  	L NEAR	08E5	_DATA
$P_DATEF_YMD . . . . . . . . . .  	L NEAR	088C	_DATA
$P_DATE_DMY  . . . . . . . . . .  	NUMBER	0001	
$P_DATE_F  . . . . . . . . . . .  	NUMBER	0007	
$P_DATE_FORMAT . . . . . . . . .  	N PROC	0846	_DATA	Length = 00B3
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:49
C to PARSER interface                                       Symbols-4


$P_DATE_FORMAT_EXIT  . . . . . .  	L NEAR	08F5	_DATA
$P_DATE_MDY  . . . . . . . . . .  	NUMBER	0000	
$P_DATE_S  . . . . . . . . . . .  	NUMBER	1000	
$P_DATE_YMD  . . . . . . . . . .  	NUMBER	0002	
$P_DBCS00  . . . . . . . . . . .  	L NEAR	0D9F	_DATA
$P_DBCS01  . . . . . . . . . . .  	L NEAR	0DBA	_DATA
$P_DBCS02  . . . . . . . . . . .  	L NEAR	0D95	_DATA
$P_DBCSEV_OFF  . . . . . . . . .  	L WORD	0009	_DATA
$P_DBCSEV_SEG  . . . . . . . . .  	L WORD	000B	_DATA
$P_DBCS_EXIT . . . . . . . . . .  	L NEAR	0DBF	_DATA
$P_DBCS_LOOP . . . . . . . . . .  	L NEAR	0DA9	_DATA
$P_DBSP1 . . . . . . . . . . . .  	NUMBER	0081	
$P_DBSP2 . . . . . . . . . . . .  	NUMBER	0040	
$P_DCC00 . . . . . . . . . . . .  	L NEAR	05AB	_DATA
$P_DCC01 . . . . . . . . . . . .  	L NEAR	05C7	_DATA
$P_DCC_GO  . . . . . . . . . . .  	L NEAR	059B	_DATA
$P_DCS00 . . . . . . . . . . . .  	L NEAR	0584	_DATA
$P_DCS01 . . . . . . . . . . . .  	L NEAR	0585	_DATA
$P_DCS_EXIT  . . . . . . . . . .  	L NEAR	0588	_DATA
$P_DCS_LOOP  . . . . . . . . . .  	L NEAR	0570	_DATA
$P_DO1 . . . . . . . . . . . . .  	L NEAR	0123	_DATA
$P_DO2 . . . . . . . . . . . . .  	L NEAR	012B	_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_DOUBLE_QUOTE  . . . . . . . .  	NUMBER	0022	
$P_DO_CAPS_CHAR  . . . . . . . .  	N PROC	058B	_DATA	Length = 004E
$P_DO_CAPS_STRING  . . . . . . .  	N PROC	056C	_DATA	Length = 001F
$P_DO_DATE_DELIMS  . . . . . . .  	L NEAR	0937	_DATA
$P_DO_TIME_DELIM1  . . . . . . .  	L NEAR	0931	_DATA
$P_DQUOTE  . . . . . . . . . . .  	NUMBER	0022	
$P_DRIVE . . . . . . . . . . . .  	NUMBER	0006	
$P_DRIVE_FORMAT  . . . . . . . .  	N PROC	0C3E	_DATA	Length = 0044
$P_DRVF00  . . . . . . . . . . .  	L NEAR	0C61	_DATA
$P_DRV_ERR . . . . . . . . . . .  	L NEAR	0C78	_DATA
$P_DRV_EXIT  . . . . . . . . . .  	L NEAR	0C7F	_DATA
$P_DRV_ONLY  . . . . . . . . . .  	NUMBER	0100	
$P_DRV_ONLY_EXIT . . . . . . . .  	L NEAR	0C28	_DATA
$P_DX  . . . . . . . . . . . . .  	L WORD	0006	_DATA
$P_EOL . . . . . . . . . . . . .  	NUMBER	0000	
$P_EQU . . . . . . . . . . . . .  	NUMBER	0001	
$P_EQ_BL . . . . . . . . . . . .  	NUMBER	3D20	
$P_EQ_TB . . . . . . . . . . . .  	NUMBER	3D09	
$P_ERROR_FILESPEC  . . . . . . .  	NUMBER	0001	
$P_ERR_FLAG  . . . . . . . . . .  	L BYTE	00DD	_DATA
$P_EXIT_AT_EXTRA . . . . . . . .  	L NEAR	0CA6	_DATA
$P_EXTRA . . . . . . . . . . . .  	NUMBER	0020	
$P_FILEF00 . . . . . . . . . . .  	L NEAR	0C09	_DATA
$P_FILEF01 . . . . . . . . . . .  	L NEAR	0C05	_DATA
$P_FILEF02 . . . . . . . . . . .  	L NEAR	0C19	_DATA
$P_FILEF03 . . . . . . . . . . .  	L NEAR	0BF0	_DATA
$P_FILEF_ERR . . . . . . . . . .  	L NEAR	0BDA	_DATA
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:49
C to PARSER interface                                       Symbols-5


$P_FILEF_LOOP0 . . . . . . . . .  	L NEAR	0BC0	_DATA
$P_FILEF_LOOP1 . . . . . . . . .  	L NEAR	0BF2	_DATA
$P_FILEF_RLT . . . . . . . . . .  	L NEAR	0C17	_DATA
$P_FILESP_CHAR . . . . . . . . .  	L BYTE	00D2	_DATA
$P_FILESP_CHK  . . . . . . . . .  	N PROC	0C29	_DATA	Length = 0015
$P_FILESP_EXIT . . . . . . . . .  	L NEAR	0C3B	_DATA
$P_FILESP_LEN  . . . . . . . . .  	NUMBER	0009	
$P_FILESP_LOOP . . . . . . . . .  	L NEAR	0C32	_DATA
$P_FILE_CAP_PTR  . . . . . . . .  	L BYTE	00CD	_DATA
$P_FILE_FORMAT . . . . . . . . .  	N PROC	0BB8	_DATA	Length = 0071
$P_FILE_SPC  . . . . . . . . . .  	NUMBER	0200	
$P_FILE_SPEC . . . . . . . . . .  	NUMBER	0005	
$P_FILL_RESULT . . . . . . . . .  	N PROC	03B3	_DATA	Length = 0085
$P_FIN . . . . . . . . . . . . .  	L NEAR	0186	_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	095C	_DATA
$P_GETNUM01  . . . . . . . . . .  	L NEAR	0961	_DATA
$P_GETNUM02  . . . . . . . . . .  	L NEAR	0965	_DATA
$P_GETNUM_EXIT . . . . . . . . .  	L NEAR	0966	_DATA
$P_GETNUM_LOOP . . . . . . . . .  	L NEAR	0919	_DATA
$P_GET_DECNUM  . . . . . . . . .  	N PROC	0915	_DATA	Length = 0056
$P_GOT_TIME  . . . . . . . . . .  	L BYTE	009D	_DATA
$P_IF3 . . . . . . . . . . . . .  	L NEAR	0132	_DATA
$P_IF5 . . . . . . . . . . . . .  	L NEAR	0166	_DATA
$P_IF6 . . . . . . . . . . . . .  	L NEAR	0166	_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	0341	_DATA
$P_KEYORSW_FOUND . . . . . . . .  	L NEAR	033B	_DATA
$P_KEYORSW_LOOP  . . . . . . . .  	L NEAR	032E	_DATA
$P_KEYORSW_NOT_FOUND . . . . . .  	L NEAR	0338	_DATA
$P_KEYORSW_PTR . . . . . . . . .  	L WORD	0011	_DATA
$P_KEYWORD . . . . . . . . . . .  	NUMBER	003D	
$P_KEY_CMP . . . . . . . . . . .  	NUMBER	0008	
$P_KEY_MANAGER . . . . . . . . .  	L NEAR	0258	_DATA
$P_KEY_MGR_LOOP  . . . . . . . .  	L NEAR	0277	_DATA
$P_KEY_NOT_FOUND . . . . . . . .  	L NEAR	0285	_DATA
$P_LEN_PARMS . . . . . . . . . .  	NUMBER	0004	
$P_LEN_RANGE . . . . . . . . . .  	NUMBER	0009	
$P_LEN_STRING  . . . . . . . . .  	NUMBER	0003	
$P_LEN_VALUE . . . . . . . . . .  	NUMBER	0005	
$P_LF  . . . . . . . . . . . . .  	NUMBER	000A	
$P_LIST_IDX  . . . . . . . . . .  	NUMBER	0002	
$P_LL6 . . . . . . . . . . . . .  	L NEAR	014C	_DATA
$P_LOC_EOL . . . . . . . . . . .  	L NEAR	0116	_DATA
$P_LPAREN  . . . . . . . . . . .  	NUMBER	0028	
$P_MAKE_LOWER  . . . . . . . . .  	NUMBER	0020	
$P_MAKE_UPPER  . . . . . . . . .  	NUMBER	00DF	
$P_MAT . . . . . . . . . . . . .  	L NEAR	045E	_DATA
$P_MATCH01 . . . . . . . . . . .  	L NEAR	0475	_DATA
$P_MATCH02 . . . . . . . . . . .  	L NEAR	048C	_DATA
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:49
C to PARSER interface                                       Symbols-6


$P_MATCH03 . . . . . . . . . . .  	L NEAR	04A8	_DATA
$P_MATCH04 . . . . . . . . . . .  	L NEAR	04BF	_DATA
$P_MATCH05 . . . . . . . . . . .  	L NEAR	04D6	_DATA
$P_MATCH06 . . . . . . . . . . .  	L NEAR	04F0	_DATA
$P_MATCH07 . . . . . . . . . . .  	L NEAR	0507	_DATA
$P_MATCH08 . . . . . . . . . . .  	L NEAR	051E	_DATA
$P_MATCH09 . . . . . . . . . . .  	L NEAR	052D	_DATA
$P_MATCH2_EXIT . . . . . . . . .  	L NEAR	0544	_DATA
$P_MATCH_EXIT  . . . . . . . . .  	L NEAR	052D	_DATA
$P_MBP_EXIT  . . . . . . . . . .  	L NEAR	034E	_DATA
$P_MBP_LOOP  . . . . . . . . . .  	L NEAR	0344	_DATA
$P_MINUS . . . . . . . . . . . .  	NUMBER	002D	
$P_MOVEBP_NUL  . . . . . . . . .  	N PROC	0344	_DATA	Length = 000C
$P_NEEDTOBEREAD  . . . . . . . .  	NUMBER	FFFF	
$P_NEG . . . . . . . . . . . . .  	NUMBER	0002	
$P_NEITHER_DELIMS  . . . . . . .  	L NEAR	0943	_DATA
$P_NON_DBCS  . . . . . . . . . .  	L NEAR	0DBE	_DATA
$P_NOT_APPLICABLE  . . . . . . .  	L NEAR	0819	_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	0D3B	_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_ORIG_ORD  . . . . . . . . . .  	L WORD	0097	_DATA
$P_ORIG_SI . . . . . . . . . . .  	L WORD	009B	_DATA
$P_ORIG_STACK  . . . . . . . . .  	L WORD	0099	_DATA
$P_OUT_OF_RANGE  . . . . . . . .  	NUMBER	0006	
$P_PACK_END  . . . . . . . . . .  	L NEAR	01E1	_DATA
$P_PACK_END_BACKUP_SI  . . . . .  	L NEAR	01BB	_DATA
$P_PACK_END_BY_EOL . . . . . . .  	L NEAR	01E0	_DATA
$P_PACK_LOOP . . . . . . . . . .  	L NEAR	019E	_DATA
$P_PERIOD  . . . . . . . . . . .  	NUMBER	002E	
$P_PERIOD_ONLY . . . . . . . . .  	NUMBER	0002	
$P_PL00  . . . . . . . . . . . .  	L NEAR	01D3	_DATA
$P_PL01  . . . . . . . . . . . .  	L NEAR	01C6	_DATA
$P_PLUS  . . . . . . . . . . . .  	NUMBER	002B	
$P_POSITIONAL_MANAGER  . . . . .  	L NEAR	0204	_DATA
$P_QUOTED_FORMAT . . . . . . . .  	N PROC	0B41	_DATA	Length = 0041
$P_QUOTED_STR  . . . . . . . . .  	N PROC	0B82	_DATA	Length = 0036
$P_QUOTED_STRING . . . . . . . .  	NUMBER	0009	
$P_QUOTED_STR_EXIT . . . . . . .  	L NEAR	0BB6	_DATA
$P_QUS00 . . . . . . . . . . . .  	L NEAR	0B9B	_DATA
$P_QUS01 . . . . . . . . . . . .  	L NEAR	0BA7	_DATA
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:49
C to PARSER interface                                       Symbols-7


$P_QUS02 . . . . . . . . . . . .  	L NEAR	0BB1	_DATA
$P_QUSTR_ERR0  . . . . . . . . .  	L NEAR	0BAE	_DATA
$P_QUS_ERR . . . . . . . . . . .  	L NEAR	0B70	_DATA
$P_QUS_ERR0  . . . . . . . . . .  	L NEAR	0B67	_DATA
$P_QUS_EXIT  . . . . . . . . . .  	L NEAR	0B77	_DATA
$P_QUS_LOOP  . . . . . . . . . .  	L NEAR	0B83	_DATA
$P_QU_STRING . . . . . . . . . .  	NUMBER	0080	
$P_RC  . . . . . . . . . . . . .  	L WORD	0002	_DATA
$P_RCOL00  . . . . . . . . . . .  	L NEAR	0560	_DATA
$P_RCOL01  . . . . . . . . . . .  	L NEAR	0566	_DATA
$P_RCOL_EXIT . . . . . . . . . .  	L NEAR	0569	_DATA
$P_RCOL_LOOP . . . . . . . . . .  	L NEAR	0548	_DATA
$P_RC_EOL  . . . . . . . . . . .  	NUMBER	-0001	
$P_READ_CDI  . . . . . . . . . .  	L NEAR	0905	_DATA
$P_REDO_TIME . . . . . . . . . .  	L NEAR	00F4	_DATA
$P_REG_BH_CG_SW  . . . . . . . .  	ALIAS	 BH		
$P_REG_BL_DQ_SW  . . . . . . . .  	ALIAS	 BL		
$P_REMOVE_COLON  . . . . . . . .  	N PROC	0546	_DATA	Length = 0026
$P_REPEAT  . . . . . . . . . . .  	NUMBER	0002	
$P_RETURN_TO_CALLER  . . . . . .  	L NEAR	028C	_DATA
$P_RETURN_TO_CALLER0 . . . . . .  	L NEAR	028C	_DATA
$P_RLT00 . . . . . . . . . . . .  	L NEAR	03DC	_DATA
$P_RLT01 . . . . . . . . . . . .  	L NEAR	03E6	_DATA
$P_RLT02 . . . . . . . . . . . .  	L NEAR	03D2	_DATA
$P_RLT03 . . . . . . . . . . . .  	L NEAR	03F8	_DATA
$P_RLT04 . . . . . . . . . . . .  	L NEAR	03CE	_DATA
$P_RLT05 . . . . . . . . . . . .  	L NEAR	040B	_DATA
$P_RLT_CAP00 . . . . . . . . . .  	L NEAR	041F	_DATA
$P_RLT_CAP01 . . . . . . . . . .  	L NEAR	042B	_DATA
$P_RLT_CAP02 . . . . . . . . . .  	L NEAR	0428	_DATA
$P_RLT_EXIT  . . . . . . . . . .  	L NEAR	0436	_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	07ED	_DATA
$P_SCOM01  . . . . . . . . . . .  	L NEAR	0800	_DATA
$P_SCOM02  . . . . . . . . . . .  	L NEAR	082D	_DATA
$P_SCOM03  . . . . . . . . . . .  	L NEAR	07DF	_DATA
$P_SCOM04  . . . . . . . . . . .  	L NEAR	07C9	_DATA
$P_SCOM05  . . . . . . . . . . .  	L NEAR	07DC	_DATA
$P_SCOM_DIFFER . . . . . . . . .  	L NEAR	0838	_DATA
$P_SCOM_DIFFER0  . . . . . . . .  	L NEAR	0802	_DATA
$P_SCOM_EXIT . . . . . . . . . .  	L NEAR	0841	_DATA
$P_SCOM_LOOP . . . . . . . . . .  	L NEAR	07A9	_DATA
$P_SCOM_SAME . . . . . . . . . .  	L NEAR	083B	_DATA
$P_SEARCH_KEYORSW  . . . . . . .  	N PROC	031F	_DATA	Length = 0025
$P_SET_CDI . . . . . . . . . . .  	N PROC	08F9	_DATA	Length = 001C
$P_SET_CDI_EXIT  . . . . . . . .  	L NEAR	0914	_DATA
$P_SIGNED  . . . . . . . . . . .  	NUMBER	0080	
$P_SIM00 . . . . . . . . . . . .  	L NEAR	074D	_DATA
$P_SIM01 . . . . . . . . . . . .  	L NEAR	0790	_DATA
$P_SIMPLE_S  . . . . . . . . . .  	NUMBER	2000	
$P_SIMPLE_STRING . . . . . . . .  	N PROC	073A	_DATA	Length = 0069
$P_SIM_EXIT  . . . . . . . . . .  	L NEAR	0799	_DATA
$P_SIM_EXIT0 . . . . . . . . . .  	L NEAR	079B	_DATA
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:49
C to PARSER interface                                       Symbols-8


$P_SIM_FOUND . . . . . . . . . .  	L NEAR	0785	_DATA
$P_SIM_LOOP  . . . . . . . . . .  	L NEAR	076B	_DATA
$P_SINGLE_EXIT . . . . . . . . .  	L NEAR	02A7	_DATA
$P_SI_SAVE . . . . . . . . . . .  	L WORD	0004	_DATA
$P_SKIP_DELIM  . . . . . . . . .  	N PROC	0C82	_DATA	Length = 0026
$P_SKIP_DELIM_CY . . . . . . . .  	L NEAR	0CA0	_DATA
$P_SKIP_DELIM_EXIT . . . . . . .  	L NEAR	0CA4	_DATA
$P_SKIP_DELIM_LOOP . . . . . . .  	L NEAR	0C82	_DATA
$P_SKIP_DELIM_NCY  . . . . . . .  	L NEAR	0CA3	_DATA
$P_SLASH . . . . . . . . . . . .  	NUMBER	002F	
$P_SNUM_VAL  . . . . . . . . . .  	NUMBER	4000	
$P_SPACE . . . . . . . . . . . .  	NUMBER	0020	
$P_START . . . . . . . . . . . .  	L NEAR	018A	_DATA
$P_STRING  . . . . . . . . . . .  	NUMBER	0003	
$P_STRING_BUF  . . . . . . . . .  	L BYTE	0017	_DATA	Length = 0080
$P_STRING_BUF_END  . . . . . . .  	NEAR	0097	_DATA
$P_STRING_COMP . . . . . . . . .  	N PROC	07A3	_DATA	Length = 00A3
$P_STRUC_L1  . . . . . . . . . .  	L NEAR	0D6C	_DATA
$P_STRUC_L12 . . . . . . . . . .  	L NEAR	0D6B	_DATA
$P_STRUC_L2  . . . . . . . . . .  	L NEAR	0D61	_DATA
$P_STRUC_L5  . . . . . . . . . .  	L NEAR	0D5E	_DATA
$P_STRUC_L7  . . . . . . . . . .  	L NEAR	0D5B	_DATA
$P_SVAL00  . . . . . . . . . . .  	L NEAR	05F7	_DATA
$P_SVAL01  . . . . . . . . . . .  	L NEAR	05F8	_DATA
$P_SVALUE  . . . . . . . . . . .  	N PROC	05D9	_DATA	Length = 0024
$P_SVAL_IN . . . . . . . . . . .  	L NEAR	06B1	_DATA
$P_SW  . . . . . . . . . . . . .  	NUMBER	0040	
$P_SWITCH  . . . . . . . . . . .  	NUMBER	002F	
$P_SW_CMP  . . . . . . . . . . .  	NUMBER	0010	
$P_SW_MANAGER  . . . . . . . . .  	L NEAR	022C	_DATA
$P_SW_MGR_LOOP . . . . . . . . .  	L NEAR	0241	_DATA
$P_SW_NOT_FOUND  . . . . . . . .  	L NEAR	024F	_DATA
$P_SYNTAX  . . . . . . . . . . .  	NUMBER	0009	
$P_T1200 . . . . . . . . . . . .  	L NEAR	0AAD	_DATA
$P_T1201 . . . . . . . . . . . .  	L NEAR	0AB5	_DATA
$P_T12_EXIT  . . . . . . . . . .  	L NEAR	0AC0	_DATA
$P_T12_LOOP  . . . . . . . . . .  	L NEAR	0A82	_DATA
$P_TAB . . . . . . . . . . . . .  	NUMBER	0009	
$P_TB_EQ . . . . . . . . . . . .  	NUMBER	093D	
$P_TCLR_CHR  . . . . . . . . . .  	L NEAR	0ABB	_DATA
$P_TERMINATOR  . . . . . . . . .  	L BYTE	0008	_DATA
$P_TIME12  . . . . . . . . . . .  	NUMBER	0004	
$P_TIME12AM  . . . . . . . . . .  	NUMBER	0001	
$P_TIMEF00 . . . . . . . . . . .  	L NEAR	097F	_DATA
$P_TIMEF_ERR . . . . . . . . . .  	L NEAR	0A66	_DATA
$P_TIMEF_ERR0  . . . . . . . . .  	L NEAR	0A05	_DATA
$P_TIMEF_ERROR . . . . . . . . .  	L NEAR	0A66	_DATA
$P_TIMEF_RLT . . . . . . . . . .  	L NEAR	0A0F	_DATA
$P_TIMESKIP00  . . . . . . . . .  	L NEAR	0A3B	_DATA
$P_TIME_2412 . . . . . . . . . .  	N PROC	0A80	_DATA	Length = 0043
$P_TIME_4  . . . . . . . . . . .  	L NEAR	0A02	_DATA
$P_TIME_AGAIN  . . . . . . . . .  	NUMBER	0002	
$P_TIME_F  . . . . . . . . . . .  	NUMBER	0008	
$P_TIME_FORMAT . . . . . . . . .  	N PROC	096B	_DATA	Length = 0115
$P_TIME_FORMAT_EXIT  . . . . . .  	L NEAR	0A76	_DATA
$P_TIME_NOTAM  . . . . . . . . .  	L NEAR	0A27	_DATA
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:49
C to PARSER interface                                       Symbols-9


$P_TIME_S  . . . . . . . . . . .  	NUMBER	0800	
$P_TOO_MANY  . . . . . . . . . .  	NUMBER	0001	
$P_TOO_MANY_ERROR  . . . . . . .  	L NEAR	0223	_DATA
$P_VAL02_LOOP  . . . . . . . . .  	L NEAR	067D	_DATA
$P_VAL02_NEXT  . . . . . . . . .  	L NEAR	06C1	_DATA
$P_VAL02_SIGN  . . . . . . . . .  	L NEAR	06A3	_DATA
$P_VAL03_LOOP  . . . . . . . . .  	L NEAR	06E7	_DATA
$P_VAL03_NEXT  . . . . . . . . .  	L NEAR	06F3	_DATA
$P_VALUE . . . . . . . . . . . .  	N PROC	05FD	_DATA	Length = 011D
$P_VALUE00 . . . . . . . . . . .  	L NEAR	064F	_DATA
$P_VALUE01 . . . . . . . . . . .  	L NEAR	0662	_DATA
$P_VALUE02 . . . . . . . . . . .  	L NEAR	0674	_DATA
$P_VALUE03 . . . . . . . . . . .  	L NEAR	06DC	_DATA
$P_VALUE04 . . . . . . . . . . .  	L NEAR	0707	_DATA
$P_VALUE_ERR . . . . . . . . . .  	L NEAR	0707	_DATA
$P_VALUE_ERR0  . . . . . . . . .  	L NEAR	064B	_DATA
$P_VALUE_EXIT  . . . . . . . . .  	L NEAR	0712	_DATA
$P_VALUE_LOOP  . . . . . . . . .  	L NEAR	0606	_DATA
$P_VAL_FOUND . . . . . . . . . .  	L NEAR	06D5	_DATA
$P_VAL_IN  . . . . . . . . . . .  	L NEAR	0693	_DATA
@CPU . . . . . . . . . . . . . .  	TEXT  0101h		
@FILENAME  . . . . . . . . . . .  	TEXT  _parse		
@VERSION . . . . . . . . . . . .  	TEXT  510		
_parse . . . . . . . . . . . . .  	N PROC	0000	_TEXT	Global	Length = 0044


   3642 Source  Lines
   3642 Total   Lines
    448 Symbols

  46304 + 230671 Bytes symbol space free

      0 Warning Errors
      0 Severe  Errors
