Google
 

Trailing-Edge - PDP-10 Archives - bb-x130a-sb - fixctl.mac
There are no other files named fixctl.mac in the archive.
;* Program to convert /VID switch syntax for Galaxy version 4
;	&ANCHOR = 1
TITLE .MAIN.
	.REQUEST SYS:FASLIB
	OPDEF	UFERR$	[1B8]
	OPDEF	CFERR$	[2B8]
	OPDEF	FCALV$	[3B8]
	OPDEF	FCALN$	[4B8]
	OPDEF	DASGN$	[5B8]
	OPDEF	DCONC$	[6B8]
	OPDEF	DICNV$	[7B8]
	OPDEF	DRCNV$	[10B8]
	OPDEF	AREFV$	[11B8]
	OPDEF	AREFN$	[12B8]


Q10002:	JSP	14,S$$ILZ##
	XWD	^D0,Q10000
	JRST	Q10003
	JSP	14,S$$STE##
	XWD	^D1,
	MOVE	^D1,K10088
	MOVEM	1,S$$KWD##+^D9
;	&STLIMIT = 500000
	JSP	14,S$$STE##
	XWD	^D2,
	MOVE	^D1,K10089
	MOVEM	1,S$$KWD##+^D13
;	DEFINE("DEV(STRING)")
	JSP	14,S$$STE##
	XWD	^D3,Q10004
	MOVE	1,S10090
	FCALV$	^D1,F10066
Q10004:
;	DEFINE("FILE(STRING)")
	JSP	14,S$$STE##
	XWD	^D4,Q10005
	MOVE	1,S10091
	FCALV$	^D1,F10066
Q10005:
;	DEFINE("OUTSTR(STRING)")
	JSP	14,S$$STE##
	XWD	^D5,Q10006
	MOVE	1,S10092
	FCALV$	^D1,F10066
Q10006:
;*
;	FILES = 0
	JSP	14,S$$STE##
	XWD	^D6,Q10007
	MOVE	1,I10094
	MOVEM	1,@N10093
Q10007:
;	LINES = 0
	JSP	14,S$$STE##
	XWD	^D7,Q10008
	MOVE	1,I10094
	MOVEM	1,@N10095
Q10008:
;	OUTSTR("Input command file name: ")
	JSP	14,S$$STE##
	XWD	^D8,Q10009
	MOVE	1,S10097
	FCALV$	^D1,F10096
Q10009:
;	CMDFILE = INPUT
	JSP	14,S$$STE##
	XWD	^D9,Q10010
	MOVE	1,@S$$INP##
	MOVEM	1,@N10098
Q10010:
;	OUTSTR("Do you want to convert /VID into /REMARK (Y/N) [N]? ")
	JSP	14,S$$STE##
	XWD	^D10,Q10011
	MOVE	1,S10099
	FCALV$	^D1,F10096
Q10011:
;	ANSWER = INPUT
	JSP	14,S$$STE##
	XWD	^D11,Q10012
	MOVE	1,@S$$INP##
	MOVEM	1,@N10100
Q10012:
;	SWITCH = "/VID:"
	JSP	14,S$$STE##
	XWD	^D12,Q10013
	MOVE	1,S10102
	MOVEM	1,@N10101
Q10013:
;	SWITCH = ?IDENT(ANSWER,"Y") "/REMARK:"
	JSP	14,S$$STE##
	XWD	^D13,Q10014
	MOVE	1,@N10100
	PUSH	16,1
	MOVE	1,S10103
	FCALV$	^D2,F10072
	SETZ	1,
	MOVE	1,S10104
	MOVEM	1,@N10101
Q10014:
;	CMDCHN = OPEN(DEV(CMDFILE))		:F(FERROR)
	JSP	14,S$$STE##
	XWD	^D14,L10107
	MOVE	1,@N10098
	FCALV$	^D1,F10106
	FCALV$	^D1,F10068
	MOVEM	1,@N10105
;	LOOKUP(FILE(CMDFILE),CMDCHN)		:F(FERROR)
	JSP	14,S$$STE##
	XWD	^D15,L10107
	MOVE	1,@N10098
	FCALV$	^D1,F10108
	PUSH	16,1
	MOVE	1,@N10105
	FCALV$	^D2,F10069
;	INPUT('CMDLIN',CMDCHN)
	JSP	14,S$$STE##
	XWD	^D16,Q10015
	MOVE	1,S10109
	PUSH	16,1
	MOVE	1,@N10105
	FCALV$	^D2,F10000
Q10015:
;* setup for new file
;NFILE	CMD = CMDLIN				:F(EOJ)
L10110:
	JSP	14,S$$STE##
	XWD	^D17,L10112
	MOVE	1,@N10109
	MOVEM	1,@N10111
;	DSKICHN = OPEN(DEV(CMD))		:F(FERROR)
	JSP	14,S$$STE##
	XWD	^D18,L10107
	MOVE	1,@N10111
	FCALV$	^D1,F10106
	FCALV$	^D1,F10068
	MOVEM	1,@N10113
;	LOOKUP(FILE(CMD),DSKICHN)		:F(FERROR)
	JSP	14,S$$STE##
	XWD	^D19,L10107
	MOVE	1,@N10111
	FCALV$	^D1,F10108
	PUSH	16,1
	MOVE	1,@N10113
	FCALV$	^D2,F10069
;	DSKOCHN = OPEN(DEV(CMD))		:F(FERROR)
	JSP	14,S$$STE##
	XWD	^D20,L10107
	MOVE	1,@N10111
	FCALV$	^D1,F10106
	FCALV$	^D1,F10068
	MOVEM	1,@N10114
;	ENTER(FILE(CMD),DSKOCHN)		:F(FERROR)
	JSP	14,S$$STE##
	XWD	^D21,L10107
	MOVE	1,@N10111
	FCALV$	^D1,F10108
	PUSH	16,1
	MOVE	1,@N10114
	FCALV$	^D2,F10070
;	INPUT('DSKILIN',DSKICHN)
	JSP	14,S$$STE##
	XWD	^D22,Q10016
	MOVE	1,S10115
	PUSH	16,1
	MOVE	1,@N10113
	FCALV$	^D2,F10000
Q10016:
;	OUTPUT('DSKOLIN',DSKOCHN)
	JSP	14,S$$STE##
	XWD	^D23,Q10017
	MOVE	1,S10116
	PUSH	16,1
	MOVE	1,@N10114
	FCALV$	^D2,F10002
Q10017:
;* loop for each line
;NLINE	LINE = DSKILIN				:F(EOF)
L10117:
	JSP	14,S$$STE##
	XWD	^D24,L10119
	MOVE	1,@N10115
	MOVEM	1,@N10118
;	LINE BREAK("/") . P1 LEN(1) ANY("Vv") ANY("Ii") ANY("Dd") ":" ANY("""'")  BREAK("""'") . P2 LEN(1) REM . P3	:F(NLINE.1)
	JSP	14,S$$STE##
	XWD	^D25,L10129
	MOVE	1,@N10118
	PUSH	16,1
	JSP	14,S$$MTX##
	XWD	^D-1,0
	BYTE	(2)2(16)1(18).+1
	JSP	11,S$$VAS##
	MOVEI	1,B10120
	JSP	11,S$$BRK##
	MOVE	1,N10121
	JSP	11,S$$CVA##
	HRRZ	1,K10088
	JSP	11,S$$LEN##
	MOVEI	1,B10122
	JSP	11,S$$ANY##
	MOVEI	1,B10123
	JSP	11,S$$ANY##
	MOVEI	1,B10124
	JSP	11,S$$ANY##
	MOVE	1,S10125
	JSP	11,S$$MST##
	MOVEI	1,B10126
	JSP	11,S$$ANY##
	JSP	11,S$$VAS##
	MOVEI	1,B10126
	JSP	11,S$$BRK##
	MOVE	1,N10127
	JSP	11,S$$CVA##
	HRRZ	1,K10088
	JSP	11,S$$LEN##
	JSP	11,S$$VAS##
	JSP	11,S$$REM##
	MOVE	1,N10128
	JSP	11,S$$CVA##
	JSP	11,S$$MTS##
;	LINES = LINES + 1
	JSP	14,S$$STE##
	XWD	^D26,Q10018
	DICNV$	@N10095
	ADD	^D1,K10088
	TLO	1,1B18
	TLZ	1,1B19
	MOVEM	1,@N10095
Q10018:
;	DSKOLIN = P1 SWITCH '"' P2 '"' P3	:(NLINE)
	JSP	14,S$$STE##
	XWD	^D27,L10117
	MOVE	1,@N10121
	PUSH	16,1
	MOVE	1,@N10101
	PUSH	16,1
	MOVE	1,S10130
	PUSH	16,1
	MOVE	1,@N10127
	PUSH	16,1
	MOVE	1,S10130
	PUSH	16,1
	MOVE	1,@N10128
	JSP	14,S$$CNC##
	EXP	^D6
	MOVEM	1,@N10116
	JRST	L10117
;NLINE.1	DSKOLIN = LINE				:(NLINE)
L10129:
	JSP	14,S$$STE##
	XWD	^D28,L10117
	MOVE	1,@N10118
	MOVEM	1,@N10116
	JRST	L10117
;* process EOF of file
;EOF	CLOSE(DSKICHN)				:F(FERROR)
L10119:
	JSP	14,S$$STE##
	XWD	^D29,L10107
	MOVE	1,@N10113
	FCALV$	^D1,F10082
;	CLOSE(DSKOCHN)				:F(FERROR)
	JSP	14,S$$STE##
	XWD	^D30,L10107
	MOVE	1,@N10114
	FCALV$	^D1,F10082
;	FILES = FILES + 1			:(NFILE)
	JSP	14,S$$STE##
	XWD	^D31,L10110
	DICNV$	@N10093
	ADD	^D1,K10088
	TLO	1,1B18
	TLZ	1,1B19
	MOVEM	1,@N10093
	JRST	L10110
;* process EOF of command file
;EOJ	OUTPUT = "[Total of " FILES " files processed and " LINES " lines converted]"
L10112:
	JSP	14,S$$STE##
	XWD	^D32,Q10019
	MOVE	1,S10131
	PUSH	16,1
	MOVE	1,@N10093
	PUSH	16,1
	MOVE	1,S10132
	PUSH	16,1
	MOVE	1,@N10095
	PUSH	16,1
	MOVE	1,S10133
	JSP	14,S$$CNC##
	EXP	^D5
	MOVEM	1,@S$$OUT##
Q10019:
;						:(EXIT)
	JSP	14,S$$STE##
	XWD	^D33,L10134
	JRST	L10134
;* errores
;FERROR	OUTPUT = "?File I/O error"	:(EXIT)
L10107:
	JSP	14,S$$STE##
	XWD	^D34,L10134
	MOVE	1,S10135
	MOVEM	1,@S$$OUT##
	JRST	L10134
;*functions
;*DEV(STRING) returns device name in STRING (DSK if none specified)
;DEV	STRING BREAK(":") . DEV		:S(RETURN)
L10106:
	JSP	14,S$$STE##
	XWD	^D35,Q10020
	MOVE	1,@N10136
	PUSH	16,1
	JSP	14,S$$MTX##
	XWD	^D-1,0
	BYTE	(2)2(16)1(18).+1
	JSP	11,S$$VAS##
	MOVEI	1,B10125
	JSP	11,S$$BRK##
	MOVE	1,N10106
	JSP	11,S$$CVA##
	JSP	11,S$$MTS##
	JRST	S$$SRT##
Q10020:
;	DEV = "DSK"			:(RETURN)
	JSP	14,S$$STE##
	XWD	^D36,S$$SRT##
	MOVE	1,S10137
	MOVEM	1,@N10106
	JRST	S$$SRT##
;*FILE(STRING) returns filename/PPN in string without device name
;FILE	STRING BREAK(":") LEN(1) REM . FILE	:S(RETURN)
L10108:
	JSP	14,S$$STE##
	XWD	^D37,Q10021
	MOVE	1,@N10136
	PUSH	16,1
	JSP	14,S$$MTX##
	XWD	^D-1,0
	BYTE	(2)2(16)1(18).+1
	MOVEI	1,B10125
	JSP	11,S$$BRK##
	HRRZ	1,K10088
	JSP	11,S$$LEN##
	JSP	11,S$$VAS##
	JSP	11,S$$REM##
	MOVE	1,N10108
	JSP	11,S$$CVA##
	JSP	11,S$$MTS##
	JRST	S$$SRT##
Q10021:
;	FILE = STRING				:(RETURN)
	JSP	14,S$$STE##
	XWD	^D38,S$$SRT##
	MOVE	1,@N10136
	MOVEM	1,@N10108
	JRST	S$$SRT##
;*OUTSTR(STRING) outputs STRING w/o CRLF
;OUTSTR	STRPTR = 0
L10096:
	JSP	14,S$$STE##
	XWD	^D39,Q10022
	MOVE	1,I10094
	MOVEM	1,@N10138
Q10022:
;OUT.LOP	OUTPUTC = SUBSTR(STRING,1,STRPTR)	:F(RETURN)
L10139:
	JSP	14,S$$STE##
	XWD	^D40,S$$SRT##
	MOVE	1,@N10136
	PUSH	16,1
	MOVE	1,I10088
	PUSH	16,1
	MOVE	1,@N10138
	FCALV$	^D3,F10081
	MOVEM	1,@S$$OUC##
;	STRPTR = STRPTR + 1			:(OUT.LOP)
	JSP	14,S$$STE##
	XWD	^D41,L10139
	DICNV$	@N10138
	ADD	^D1,K10088
	TLO	1,1B18
	TLZ	1,1B19
	MOVEM	1,@N10138
	JRST	L10139
;EXIT	&ABEND = 1
L10134:
	JSP	14,S$$STE##
	XWD	^D42,
	MOVE	^D1,K10088
	MOVEM	1,S$$KWD##+^D8
;	&OUTPUT = 0
	JSP	14,S$$STE##
	XWD	^D43,
	MOVE	^D1,K10094
	MOVEM	1,S$$KWD##+^D17
;END
Q10003=Q10002+3
	JRST	S$$SXT##
Q10001:	BLOCK	^D0
K10088:	EXP	^D1
I10088:	EXP	^D1!1B0
K10089:	EXP	^D500000
K10094:	EXP	^D0
I10094:	EXP	^D0!1B0
A10000:	BYTE	(2)2(16)^D1+1(18)^D5
	ASCII	'INPUT'
A10002:	BYTE	(2)2(16)^D2+1(18)^D6
	ASCII	'OUTPUT'
A10066:	BYTE	(2)2(16)^D2+1(18)^D6
	ASCII	'DEFINE'
A10068:	BYTE	(2)2(16)^D1+1(18)^D4
	ASCII	'OPEN'
A10069:	BYTE	(2)2(16)^D2+1(18)^D6
	ASCII	'LOOKUP'
A10070:	BYTE	(2)2(16)^D1+1(18)^D5
	ASCII	'ENTER'
A10072:	BYTE	(2)2(16)^D1+1(18)^D5
	ASCII	'IDENT'
A10081:	BYTE	(2)2(16)^D2+1(18)^D6
	ASCII	'SUBSTR'
A10082:	BYTE	(2)2(16)^D1+1(18)^D5
	ASCII	'CLOSE'
A10087:	BYTE	(2)2(16)^D2+1(18)^D6
	ASCII	'.MAIN.'
S10090:	POINT	7,A10090,35
A10090:	BYTE	(2)2(16)^D3+1(18)^D11
	ASCII	'DEV(STRING)'
S10091:	POINT	7,A10091,35
A10091:	BYTE	(2)2(16)^D3+1(18)^D12
	ASCII	'FILE(STRING)'
S10092:	POINT	7,A10092,35
A10092:	BYTE	(2)2(16)^D3+1(18)^D14
	ASCII	'OUTSTR(STRING)'
A10093:	BYTE	(2)2(16)^D1+1(18)^D5
	ASCII	'FILES'
A10095:	BYTE	(2)2(16)^D1+1(18)^D5
	ASCII	'LINES'
A10096:	BYTE	(2)2(16)^D2+1(18)^D6
	ASCII	'OUTSTR'
S10097:	POINT	7,A10097,35
A10097:	BYTE	(2)2(16)^D5+1(18)^D25
	ASCII	'Input command file name: '
A10098:	BYTE	(2)2(16)^D2+1(18)^D7
	ASCII	'CMDFILE'
S10099:	POINT	7,A10099,35
A10099:	BYTE	(2)2(16)^D11+1(18)^D52
	ASCII	'Do you want to convert /VID into /REMARK (Y/N) [N]? '
A10100:	BYTE	(2)2(16)^D2+1(18)^D6
	ASCII	'ANSWER'
A10101:	BYTE	(2)2(16)^D2+1(18)^D6
	ASCII	'SWITCH'
S10102:	POINT	7,A10102,35
A10102:	BYTE	(2)2(16)^D1+1(18)^D5
	ASCII	'/VID:'
S10103:	POINT	7,A10103,35
A10103:	BYTE	(2)2(16)^D1+1(18)^D1
	ASCII	'Y'
S10104:	POINT	7,A10104,35
A10104:	BYTE	(2)2(16)^D2+1(18)^D8
	ASCII	'/REMARK:'
A10105:	BYTE	(2)2(16)^D2+1(18)^D6
	ASCII	'CMDCHN'
A10106:	BYTE	(2)2(16)^D1+1(18)^D3
	ASCII	'DEV'
A10107:	BYTE	(2)2(16)^D2+1(18)^D6
	ASCII	'FERROR'
A10108:	BYTE	(2)2(16)^D1+1(18)^D4
	ASCII	'FILE'
A10109:	BYTE	(2)2(16)^D2+1(18)^D6
	ASCII	'CMDLIN'
A10110:	BYTE	(2)2(16)^D1+1(18)^D5
	ASCII	'NFILE'
A10111:	BYTE	(2)2(16)^D1+1(18)^D3
	ASCII	'CMD'
A10112:	BYTE	(2)2(16)^D1+1(18)^D3
	ASCII	'EOJ'
A10113:	BYTE	(2)2(16)^D2+1(18)^D7
	ASCII	'DSKICHN'
A10114:	BYTE	(2)2(16)^D2+1(18)^D7
	ASCII	'DSKOCHN'
A10115:	BYTE	(2)2(16)^D2+1(18)^D7
	ASCII	'DSKILIN'
A10116:	BYTE	(2)2(16)^D2+1(18)^D7
	ASCII	'DSKOLIN'
A10117:	BYTE	(2)2(16)^D1+1(18)^D5
	ASCII	'NLINE'
A10118:	BYTE	(2)2(16)^D1+1(18)^D4
	ASCII	'LINE'
A10119:	BYTE	(2)2(16)^D1+1(18)^D3
	ASCII	'EOF'
B10120:	EXP	^D0
	XWD	^D0,^D0
	XWD	^D0,^D0
	XWD	^D0,^D8
A10120:	BYTE	(2)2(16)^D1+1(18)^D1
	ASCII	'/'
A10121:	BYTE	(2)2(16)^D1+1(18)^D2
	ASCII	'P1'
B10122:	EXP	^D0
	XWD	^D0,^D0
	XWD	^D128,^D8192
	XWD	^D0,^D0
A10122:	BYTE	(2)2(16)^D1+1(18)^D2
	ASCII	'Vv'
B10123:	EXP	^D0
	XWD	^D8,^D1024
	XWD	^D0,^D0
	XWD	^D0,^D0
A10123:	BYTE	(2)2(16)^D1+1(18)^D2
	ASCII	'Ii'
B10124:	EXP	^D512
	XWD	^D0,^D0
	XWD	^D2,^D0
	XWD	^D0,^D0
A10124:	BYTE	(2)2(16)^D1+1(18)^D2
	ASCII	'Dd'
B10125:	EXP	^D0
	XWD	^D0,^D0
	XWD	^D0,^D64
	XWD	^D0,^D0
S10125:	POINT	7,A10125,35
A10125:	BYTE	(2)2(16)^D1+1(18)^D1
	ASCII	':'
B10126:	EXP	^D0
	XWD	^D0,^D0
	XWD	^D0,^D1
	XWD	^D0,^D2
A10126:	BYTE	(2)2(16)^D1+1(18)^D2
	BYTE	(7)^D34,^D39,^D0,^D0,^D0
A10127:	BYTE	(2)2(16)^D1+1(18)^D2
	ASCII	'P2'
A10128:	BYTE	(2)2(16)^D1+1(18)^D2
	ASCII	'P3'
A10129:	BYTE	(2)2(16)^D2+1(18)^D7
	ASCII	'NLINE.1'
S10130:	POINT	7,A10130,35
A10130:	BYTE	(2)2(16)^D1+1(18)^D1
	ASCII	'"'
S10131:	POINT	7,A10131,35
A10131:	BYTE	(2)2(16)^D2+1(18)^D10
	ASCII	'[Total of '
S10132:	POINT	7,A10132,35
A10132:	BYTE	(2)2(16)^D5+1(18)^D21
	ASCII	' files processed and '
S10133:	POINT	7,A10133,35
A10133:	BYTE	(2)2(16)^D4+1(18)^D17
	ASCII	' lines converted]'
A10134:	BYTE	(2)2(16)^D1+1(18)^D4
	ASCII	'EXIT'
S10135:	POINT	7,A10135,35
A10135:	BYTE	(2)2(16)^D3+1(18)^D15
	ASCII	'?File I/O error'
A10136:	BYTE	(2)2(16)^D2+1(18)^D6
	ASCII	'STRING'
S10137:	POINT	7,A10137,35
A10137:	BYTE	(2)2(16)^D1+1(18)^D3
	ASCII	'DSK'
A10138:	BYTE	(2)2(16)^D2+1(18)^D6
	ASCII	'STRPTR'
A10139:	BYTE	(2)2(16)^D2+1(18)^D7
	ASCII	'OUT.LOP'
Q10023:	BYTE	(2)2(16)^D20+1(18)0
	REPEAT	^D20,<0>
Q10024:	BYTE	(2)2(16)^D43*4+1(18)-^D43
	EXP	0
	BYTE	(5)3(31)0
	POINT	7,A10139,35
	JRST	L10139
	EXP	0
	BYTE	(5)1(31)0
	POINT	7,A10138,35
N10138:	BYTE	(4)4(14)0(18)Q10023+^D20
	EXP	0
	BYTE	(5)1(31)0
	POINT	7,A10136,35
N10136:	BYTE	(4)4(14)0(18)Q10023+^D19
	EXP	0
	BYTE	(5)3(31)0
	POINT	7,A10134,35
	JRST	L10134
	EXP	0
	BYTE	(5)3(31)0
	POINT	7,A10129,35
	JRST	L10129
	EXP	0
	BYTE	(5)1(31)0
	POINT	7,A10128,35
N10128:	BYTE	(4)4(14)0(18)Q10023+^D18
	EXP	0
	BYTE	(5)1(31)0
	POINT	7,A10127,35
N10127:	BYTE	(4)4(14)0(18)Q10023+^D17
	EXP	0
	BYTE	(5)1(31)0
	POINT	7,A10121,35
N10121:	BYTE	(4)4(14)0(18)Q10023+^D16
	EXP	0
	BYTE	(5)3(31)0
	POINT	7,A10119,35
	JRST	L10119
	EXP	0
	BYTE	(5)1(31)0
	POINT	7,A10118,35
N10118:	BYTE	(4)4(14)0(18)Q10023+^D15
	EXP	0
	BYTE	(5)3(31)0
	POINT	7,A10117,35
	JRST	L10117
	EXP	0
	BYTE	(5)1(31)0
S10116:	POINT	7,A10116,35
N10116:	BYTE	(4)4(14)0(18)Q10023+^D14
	EXP	0
	BYTE	(5)1(31)0
S10115:	POINT	7,A10115,35
N10115:	BYTE	(4)4(14)0(18)Q10023+^D13
	EXP	0
	BYTE	(5)1(31)0
	POINT	7,A10114,35
N10114:	BYTE	(4)4(14)0(18)Q10023+^D12
	EXP	0
	BYTE	(5)1(31)0
	POINT	7,A10113,35
N10113:	BYTE	(4)4(14)0(18)Q10023+^D11
	EXP	0
	BYTE	(5)3(31)0
	POINT	7,A10112,35
	JRST	L10112
	EXP	0
	BYTE	(5)1(31)0
	POINT	7,A10111,35
N10111:	BYTE	(4)4(14)0(18)Q10023+^D10
	EXP	0
	BYTE	(5)3(31)0
	POINT	7,A10110,35
	JRST	L10110
	EXP	0
	BYTE	(5)1(31)0
S10109:	POINT	7,A10109,35
N10109:	BYTE	(4)4(14)0(18)Q10023+^D9
	EXP	0
	BYTE	(5)5(31)0
	POINT	7,A10108,35
F10108:	BYTE	(4)4(4)0(5)20(5)0(18)S$$UDF##
	EXP	0
	BYTE	(5)3(31)0
	POINT	7,A10108,35
	JRST	L10108
	EXP	0
	BYTE	(5)1(31)0
	POINT	7,A10108,35
N10108:	BYTE	(4)4(14)0(18)Q10023+^D8
	EXP	0
	BYTE	(5)3(31)0
	POINT	7,A10107,35
	JRST	L10107
	EXP	0
	BYTE	(5)5(31)0
	POINT	7,A10106,35
F10106:	BYTE	(4)4(4)0(5)20(5)0(18)S$$UDF##
	EXP	0
	BYTE	(5)3(31)0
	POINT	7,A10106,35
	JRST	L10106
	EXP	0
	BYTE	(5)1(31)0
	POINT	7,A10106,35
N10106:	BYTE	(4)4(14)0(18)Q10023+^D7
	EXP	0
	BYTE	(5)1(31)0
	POINT	7,A10105,35
N10105:	BYTE	(4)4(14)0(18)Q10023+^D6
	EXP	0
	BYTE	(5)1(31)0
	POINT	7,A10101,35
N10101:	BYTE	(4)4(14)0(18)Q10023+^D5
	EXP	0
	BYTE	(5)1(31)0
	POINT	7,A10100,35
N10100:	BYTE	(4)4(14)0(18)Q10023+^D4
	EXP	0
	BYTE	(5)1(31)0
	POINT	7,A10098,35
N10098:	BYTE	(4)4(14)0(18)Q10023+^D3
	EXP	0
	BYTE	(5)5(31)0
	POINT	7,A10096,35
F10096:	BYTE	(4)4(4)0(5)20(5)0(18)S$$UDF##
	EXP	0
	BYTE	(5)3(31)0
	POINT	7,A10096,35
	JRST	L10096
	EXP	0
	BYTE	(5)1(31)0
	POINT	7,A10095,35
N10095:	BYTE	(4)4(14)0(18)Q10023+^D2
	EXP	0
	BYTE	(5)1(31)0
	POINT	7,A10093,35
N10093:	BYTE	(4)4(14)0(18)Q10023+^D1
	EXP	0
	BYTE	(5)5(31)0
	POINT	7,A10082,35
F10082:	BYTE	(4)4(4)0(5)^D3(5)0(18)P$$CLS##
	EXP	0
	BYTE	(5)5(31)0
	POINT	7,A10081,35
F10081:	BYTE	(4)4(4)0(5)^D3(5)0(18)P$$SBS##
	EXP	0
	BYTE	(5)5(31)0
	POINT	7,A10072,35
F10072:	BYTE	(4)4(4)0(5)^D2(5)0(18)P$$IDT##
	EXP	0
	BYTE	(5)5(31)0
	POINT	7,A10070,35
F10070:	BYTE	(4)4(4)0(5)^D2(5)0(18)P$$NTF##
	EXP	0
	BYTE	(5)5(31)0
	POINT	7,A10069,35
F10069:	BYTE	(4)4(4)0(5)^D2(5)0(18)P$$LKF##
	EXP	0
	BYTE	(5)5(31)0
	POINT	7,A10068,35
F10068:	BYTE	(4)4(4)0(5)^D2(5)0(18)P$$OPN##
	EXP	0
	BYTE	(5)5(31)0
	POINT	7,A10066,35
F10066:	BYTE	(4)4(4)0(5)^D2(5)0(18)P$$DEF##
	EXP	0
	BYTE	(5)5(31)0
	POINT	7,A10002,35
F10002:	BYTE	(4)4(4)0(5)^D3(5)0(18)P$$OUT##
	EXP	0
	BYTE	(5)5(31)0
	POINT	7,A10000,35
F10000:	BYTE	(4)4(4)0(5)^D3(5)0(18)P$$INP##
	POINT	7,A10087,35
Q10000:	XWD	0,Q10023
	XWD	Q10024,^D0
	EXP	Q10024
	END	Q10002