Google
 

Trailing-Edge - PDP-10 Archives - SRI_NIC_PERM_FS_1_19910112 - c/kcc/ccgen.fai
There are no other files named ccgen.fai in the archive.
	TITLE	CCGEN
	.REQUEST C:LIBc.REL
	$$CVER==<2,,3>
	INTERN $$CVER
	OPDEF ADJBP [IBP]
DEFINE %%CHBP(A,M)
<	SETO A,
	ADJBP A,M
>
IFNDEF ERJMP,< OPDEF ERJMP [JUMP 16,] >
OPDEF ERJMPA [ERJMP]
OPDEF	XMOVEI	[SETMI]
	DEFINE IFIW <SETZ >
OPDEF XBLT [020000,,0]
	TWOSEG	400000	
	RELOC	0	
	RELOC	400000	
	DEFINE %%CODE <RELOC>
	DEFINE %%DATA <RELOC>
PURGE IFE,IFN,IFG,IFGE,IFL,IFLE,IFDEF,IFNDEF,IFIDN,IFDIF
GENCOD:
	SKIPN 7,-1(17)
	 JRST $1
	MOVE 3,0(7)
	CAIN 3,175
	 JRST $3
	CAIE 3,200
	 JRST $4
	SKIPE 6,NERROR
	 JRST $1
	PUSH 17,7
	PUSHJ 17,%GENDA
	ADJSP 17,-1
	JRST $1
$3==.
	SKIPE 4,NERROR
	 JRST $5
	PUSH 17,-1(17)
	PUSHJ 17,%GENFU
	ADJSP 17,-1
$5==.
	PUSH 17,[0]
	PUSHJ 17,RIDLSY
	ADJSP 17,-1
	JRST $1
$4==.
	PUSH 17,-1(17)
	PUSH 17,[$$BP90+$$SECT,,$6]
	PUSHJ 17,INT.ER
	ADJSP 17,-2
$1==.
	POPJ 17,
$6==.
	BYTE	(9) 147,145,156,143
	BYTE	(9) 157,144,145,72
	BYTE	(9) 40,142,141,144
	BYTE	(9) 40,156,157,144
	BYTE	(9) 145,40,45,116
	BYTE	(9) 0
	

%GENFU:
	MOVE 7,-1(17)
	MOVE 4,4(7)
	SKIPN 3,5(4)
	 JRST $7
	PUSH 17,3
	PUSHJ 17,%GENDA
	ADJSP 17,-1
$7==.
	PUSHJ 17,CODESE
	PUSHJ 17,%INICO
	MOVE 4,-1(17)
	MOVE 3,4(4)
	MOVE 5,4(3)
	PUSH 17,3(5)
	PUSHJ 17,OUTMID
	ADJSP 17,-1
	PUSHJ 17,OUTNL
	SKIPN 5,MAXAUT
	 JRST $8
	PUSH 17,5
	XMOVEI 3,VR.SP
	PUSH 17,3
	PUSH 17,[4]
	PUSHJ 17,CODE8
	ADJSP 17,-3
	MOVE 5,MAXAUT
	ADDB 5,STACKO
$8==.
	MOVE 4,-1(17)
	PUSH 17,5(4)
	PUSHJ 17,GENSTM
	ADJSP 17,-1
	JRST %ENDCO
%INICO:
	SETZB 3,PREVIO
	MOVEM 3,LITSTR
	MOVEM 3,LITNOD
	MOVEM 3,BRKLAB
	MOVEM 3,LOOPLA
	MOVEM 3,MINCOD
	MOVEM 3,MAXCOD
	MOVEM 3,STACKO
	JRST VRINIT
%ENDCO:
	PUSHJ 17,FLUSHC
	PUSHJ 17,%GLITE
	JRST VRENDC
%GENDA:
	ADJSP 17,2
$9==.
	SKIPN 6,-3(17)
	 JRST $10
	MOVE 3,0(6)
	CAIN 3,200
	 JRST $12
	PUSH 17,6
	PUSH 17,[$$BP90+$$SECT,,$13]
	PUSHJ 17,INT.ER
	ADJSP 17,-2
	JRST $10
$12==.
	MOVE 7,-3(17)
	MOVE 6,4(7)
	MOVEM 6,-1(17)
	JUMPE 6,$11
	MOVE 3,0(6)
	CAIN 3,201
	 JRST $14
	PUSH 17,7
	PUSH 17,[$$BP90+$$SECT,,$15]
	PUSHJ 17,INT.ER
	ADJSP 17,-2
	JRST $10
$14==.
	MOVE 4,-1(17)
	MOVE 3,4(4)
	MOVE 7,3(3)
	MOVEM 7,0(17)
	PUSH 17,13(7)
	PUSHJ 17,TISPUR
	ADJSP 17,-1
	JUMPE 1,$17
	PUSHJ 17,CODESE
	JRST $16
$17==.
	PUSHJ 17,DATASE
$16==.
	PUSH 17,0(17)
	PUSHJ 17,OUTMID
	ADJSP 17,-1
	PUSH 17,0(17)
	MOVE 4,-1(17)
	PUSH 17,13(4)
	MOVE 5,-3(17)
	PUSH 17,5(5)
	PUSHJ 17,%GIZ
	ADJSP 17,-3
$11==.
	MOVE 4,-3(17)
	MOVE 3,5(4)
	MOVEM 3,-3(17)
	JRST $9
$10==.
	ADJSP 17,-2
	JRST %GLITE
$15==.
	BYTE	(9) 147,145,156,144
	BYTE	(9) 141,164,141,72
	BYTE	(9) 40,142,141,144
	BYTE	(9) 40,144,141,164
	BYTE	(9) 165,155,40,45
	BYTE	(9) 116,0
	

$13==.
	BYTE	(9) 147,145,156,144
	BYTE	(9) 141,164,141,72
	BYTE	(9) 40,142,141,144
	BYTE	(9) 40,116,137,104
	BYTE	(9) 101,124,101,40
	BYTE	(9) 45,116,0
	

%GLITE:
	SKIPN 4,LITSTR
	 SKIPE 5,LITNOD
	 TRNA 
	 JRST $18
	PUSHJ 17,CODESE
	PUSHJ 17,FLUSHC
$18==.
$20==.
	SKIPN 5,LITNOD
	 JRST $21
	PUSH 17,6(5)
	PUSHJ 17,OUTLAB
	ADJSP 17,-1
	MOVE 6,LITNOD
	PUSH 17,6(6)
	MOVE 4,4(6)
	PUSH 17,1(4)
	PUSH 17,4
	PUSHJ 17,%GIZ
	ADJSP 17,-3
	MOVE 4,LITNOD
	PUSH 17,6(4)
	PUSHJ 17,FREELA
	ADJSP 17,-1
	MOVE 4,LITNOD
	MOVE 3,5(4)
	MOVEM 3,LITNOD
	JRST $20
$21==.
$22==.
	SKIPN 5,LITSTR
	 JRST $23
	PUSH 17,5(5)
	PUSHJ 17,OUTLAB
	ADJSP 17,-1
	MOVE 4,LITSTR
	PUSH 17,5(4)
	PUSHJ 17,FREELA
	ADJSP 17,-1
	PUSHJ 17,OUTTAB
	MOVE 4,LITSTR
	PUSH 17,1(4)
	PUSHJ 17,ELEMBS
	MOVEM 1,0(17)
	MOVE 5,LITSTR
	PUSH 17,4(5)
	PUSH 17,3(5)
	PUSHJ 17,OUTSCO
	ADJSP 17,-3
	PUSHJ 17,OUTNL
	MOVE 4,LITSTR
	MOVE 3,6(4)
	MOVEM 3,LITSTR
	JRST $22
$23==.
	POPJ 17,
%GIZ:
	SKIPE 4,-1(17)
	 JRST $24
	PUSH 17,-2(17)
	PUSHJ 17,%GIZNU
	ADJSP 17,-1
	POPJ 17,
$24==.
	MOVE 4,-2(17)
	MOVE 3,0(4)
	CAIE 3,4
	 CAIN 3,3
	 JRST $26
	CAIE 3,2
	 JRST $27
$26==.
	PUSH 17,-3(17)
	PUSH 17,-3(17)
	PUSH 17,-3(17)
	PUSHJ 17,%GIZLI
	ADJSP 17,-3
	POPJ 17,
$27==.
	PUSH 17,-3(17)
	PUSH 17,-3(17)
	PUSH 17,-3(17)
	PUSHJ 17,%GIZWO
	ADJSP 17,-3
	POPJ 17,
%GIZWO:
	MOVE 7,-1(17)
	MOVE 3,0(7)
	CAIE 3,202
	 JRST $29
	SKIPN 4,5(7)
	 JRST $30
	PUSH 17,7
	PUSH 17,-4(17)
	PUSH 17,[$$BP90+$$SECT,,$31]
	PUSHJ 17,INT.ER
	ADJSP 17,-3
$30==.
	PUSH 17,-3(17)
	PUSH 17,-3(17)
	MOVE 4,-3(17)
	PUSH 17,4(4)
	PUSHJ 17,%GIZWO
	ADJSP 17,-3
	JRST $28
$29==.
	PUSH 17,-1(17)
	PUSHJ 17,%GIZCO
	ADJSP 17,-1
	JUMPN 1,$28
	PUSH 17,-2(17)
	PUSH 17,-2(17)
	PUSHJ 17,%GIZEX
	ADJSP 17,-2
$28==.
	POPJ 17,
$31==.
	BYTE	(9) 147,151,172,167
	BYTE	(9) 157,162,144,72
	BYTE	(9) 40,151,172,145
	BYTE	(9) 162,40,155,151
	BYTE	(9) 163,155,141,164
	BYTE	(9) 143,150,40,146
	BYTE	(9) 157,162,40,45
	BYTE	(9) 123,40,45,116
	BYTE	(9) 0
	

%GIZCO:
	ADJSP 17,1
	MOVE 4,-2(17)
	MOVE 3,0(4)
	MOVM 5,3
	ANDI 5,7
	CAME 3,$38(5)
	 JRST $37
	JRST @$39(5)
$38==.
	 60
	 41
	 42
	 -1
	 44
	 -1
	 -1
	 -1
$39==.
	IFIW $36
	IFIW $33
	IFIW $35
	IFIW $37
	IFIW $34
	IFIW $37
	IFIW $37
	IFIW $37
$33==.
	MOVE 12,-2(17)
	MOVE 10,1(12)
	MOVE 3,1(10)
	TLNN 3,2
	 JRST $34
	MOVE 11,3(12)
	MOVEI 6,1
	ANDI 3,777
	LSH 6,0(3)
	SUBI 6,1
	AND 11,6
	MOVEM 11,0(17)
	MOVEI 5,44
	MOVE 7,1(10)
	ANDI 7,777
	IDIV 5,7
	LSH 11,0(6)
	MOVEM 11,0(17)
	PUSH 17,11
	PUSHJ 17,%OUTVA
	MOVEI 1,1
	ADJSP 17,-2
	POPJ 17,
$34==.
	MOVE 4,-2(17)
	PUSH 17,3(4)
	PUSHJ 17,%OUTVA
	MOVEI 1,1
	ADJSP 17,-2
	POPJ 17,
$35==.
	PUSH 17,[0]
	MOVE 4,-3(17)
	ADDI 4,3
	PUSH 17,4
	MOVE 5,-4(17)
	MOVE 3,1(5)
	PUSH 17,0(3)
	PUSHJ 17,OUTFLT
	ADDB 1,%LOCCT
	MOVEI 1,1
	ADJSP 17,-4
	POPJ 17,
$36==.
	MOVE 6,-2(17)
	MOVE 3,3(6)
	CAIN 3,13
	 JRST $37
	CAIE 3,2
	 JRST $41
	PUSH 17,4(6)
	PUSHJ 17,%GIZCO
	ADJSP 17,-2
	POPJ 17,
$41==.
	SETZ 1,
	ADJSP 17,-1
	POPJ 17,
$37==.
	MOVE 10,-2(17)
	MOVE 3,1(10)
	MOVE 5,0(3)
	CAIE 5,5
	 JRST $42
	SETZB 7,%PV
	MOVEM 7,%PV*1+2
	MOVEM 7,%PV*1+1
	PUSH 17,10
	PUSHJ 17,%GIZPT
	ADJSP 17,-1
	MOVEM 1,0(17)
	JUMPE 1,$42
	PUSH 17,%PV*1+1
	PUSH 17,%PV*1+2
	PUSH 17,%PV
	PUSHJ 17,%OUTPT
	MOVE 1,-3(17)
	ADJSP 17,-4
	POPJ 17,
$42==.
	SETZ 1,
	ADJSP 17,-1
	POPJ 17,
%GIZPT:
	ADJSP 17,4
	MOVE 4,-5(17)
	MOVE 3,0(4)
	MOVM 5,3
	ANDI 5,7
	CAME 3,$52(5)
	 JRST $45
	JRST @$53(5)
$52==.
	 60
	 71
	 72
	 43
	 64
	 -1
	 -1
	 37
$53==.
	IFIW $46
	IFIW $50
	IFIW $51
	IFIW $47
	IFIW $49
	IFIW $45
	IFIW $45
	IFIW $48
$46==.
	MOVE 6,-5(17)
	MOVE 3,3(6)
	CAIE 3,13
	 JRST $54
	PUSH 17,4(6)
	PUSHJ 17,%GIZPT
	ADJSP 17,-1
	MOVEM 1,-2(17)
	CAIE 1,3
	 JRST $56
	MOVE 7,-5(17)
	MOVE 4,1(7)
	MOVE 5,0(4)
	CAIE 5,5
	 JRST $56
	MOVE 3,3(4)
	MOVE 6,0(3)
	SOJN 6,$56
	ADJSP 17,-4
	POPJ 17,
$56==.
	MOVE 4,-2(17)
	CAIN 4,2
	 JRST $57
	SETZ 1,
	ADJSP 17,-4
	POPJ 17,
$57==.
	MOVE 4,-5(17)
	PUSH 17,1(4)
	PUSHJ 17,ELEMBS
	ADJSP 17,-1
	MOVEM 1,-2(17)
	JUMPN 1,$59
	MOVE 4,-5(17)
	MOVE 3,4(4)
	PUSH 17,1(3)
	PUSHJ 17,TISCHP
	ADJSP 17,-1
	JUMPE 1,$60
	MOVEI 1,2
	ADJSP 17,-4
	POPJ 17,
$60==.
	MOVEI 3,11
	MOVEM 3,-2(17)
	JRST $58
$59==.
	MOVE 4,-5(17)
	MOVE 3,4(4)
	PUSH 17,1(3)
	PUSHJ 17,ELEMBS
	ADJSP 17,-1
	JUMPN 1,$58
	MOVE 4,-5(17)
	PUSH 17,1(4)
	PUSHJ 17,TISCHP
	ADJSP 17,-1
	JUMPE 1,$58
	MOVEI 1,2
	ADJSP 17,-4
	POPJ 17,
$58==.
	MOVE 4,-2(17)
	CAIL 4,44
	 SETZB 3,-2(17)
	MOVE 6,-2(17)
	CAME 6,%PV*1+2
	 JRST $62
	MOVEI 1,2
	ADJSP 17,-4
	POPJ 17,
$62==.
	SKIPE 4,-2(17)
	 SKIPN 7,%PV*1+2
	 JRST $63
	CAML 7,4
	 JRST $64
	IDIV 4,7
	JUMPN 5,$64
	MOVE 6,-2(17)
	IDIV 6,%PV*1+2
	MOVE 10,%PV*1+1
	IDIV 10,6
	MOVEM 10,%PV*1+1
	MOVE 11,-2(17)
	MOVEM 11,%PV*1+2
	MOVEI 1,2
	ADJSP 17,-4
	POPJ 17,
$64==.
	MOVE 4,-2(17)
	CAML 4,%PV*1+2
	 JRST $63
	MOVE 5,%PV*1+2
	IDIV 5,4
	JUMPN 6,$63
	IMULB 5,%PV*1+1
	MOVE 7,5
	MOVEM 4,%PV*1+2
	MOVEI 1,2
	ADJSP 17,-4
	POPJ 17,
$63==.
	SKIPN 4,%PV*1+2
	 JRST $65
	MOVEI 3,44
	IDIV 3,%PV*1+2
	MOVE 6,%PV*1+1
	IDIV 6,3
	MOVEM 6,%PV*1+1
	SETZB 5,%PV*1+2
$65==.
	SKIPE 5,-2(17)
	 CAIL 5,44
	 JRST $66
	MOVEI 3,44
	IDIV 3,5
	IMULB 3,%PV*1+1
	MOVEM 5,%PV*1+2
$66==.
	MOVEI 1,2
	ADJSP 17,-4
	POPJ 17,
$54==.
	SETZ 1,
	ADJSP 17,-4
	POPJ 17,
$47==.
	PUSHJ 17,NEWLAB
	MOVE 6,-5(17)
	MOVEM 1,5(6)
	MOVEM 1,%PV
	MOVE 5,LITSTR
	MOVEM 5,6(6)
	MOVEM 6,LITSTR
	PUSH 17,1(6)
	PUSHJ 17,ELEMBS
	MOVEM 1,%PV*1+2
	MOVEI 1,2
	ADJSP 17,-5
	POPJ 17,
$48==.
	MOVE 6,-5(17)
	MOVE 4,3(6)
	MOVEM 4,%PV
	MOVE 3,13(4)
	MOVE 5,0(3)
	CAIN 5,2
	 JRST $69
	CAIE 5,1
	 JRST $67
	MOVEI 1,3
	ADJSP 17,-4
	POPJ 17,
$69==.
	MOVE 4,-5(17)
	MOVE 3,3(4)
	PUSH 17,13(3)
	PUSHJ 17,TISBYA
	ADJSP 17,-1
	JUMPE 1,$70
	MOVE 4,-5(17)
	MOVE 3,3(4)
	PUSH 17,13(3)
	PUSHJ 17,ELEMBS
	ADJSP 17,-1
	MOVEM 1,%PV*1+2
$70==.
	MOVEI 1,2
	ADJSP 17,-4
	POPJ 17,
$67==.
	SETZ 1,
	ADJSP 17,-4
	POPJ 17,
$49==.
	MOVE 4,-5(17)
	MOVE 3,4(4)
	MOVE 5,0(3)
	MOVM 6,5
	IDIVI 6,7
	CAME 5,$76(7)
	 JRST $71
	JRST @$77(7)
$76==.
	 52
	 -1
	 -1
	 37
	 65
	 -1
	 51
$77==.
	IFIW $74
	IFIW $71
	IFIW $71
	IFIW $75
	IFIW $72
	IFIW $71
	IFIW $73
$72==.
	MOVE 4,-5(17)
	MOVE 3,4(4)
	PUSH 17,4(3)
	PUSHJ 17,%GIZPT
	ADJSP 17,-5
	POPJ 17,
$73==.
	MOVE 4,-5(17)
	MOVE 3,4(4)
	MOVE 5,1(3)
	MOVE 6,1(5)
	TRNN 6,400000
	 JRST $78
	SETZ 1,
	ADJSP 17,-4
	POPJ 17,
$78==.
	MOVE 12,-5(17)
	MOVE 10,4(12)
	MOVE 4,4(10)
	MOVE 6,0(4)
	CAIN 6,65
	 JRST $81
	CAIE 6,37
	 JRST $79
	MOVE 3,3(4)
	MOVE 7,0(3)
	CAIL 7,10
	 CAIL 7,20
	 JRST $79
	MOVEM 3,%PV
	JRST $43
$81==.
	MOVE 4,-5(17)
	MOVE 3,4(4)
	MOVE 5,4(3)
	PUSH 17,4(5)
	PUSHJ 17,%GIZPT
	ADJSP 17,-1
	CAIN 1,2
	 JRST $43
$79==.
	SETZ 1,
	ADJSP 17,-4
	POPJ 17,
$74==.
	MOVE 10,-5(17)
	MOVE 4,4(10)
	MOVE 5,1(4)
	MOVE 6,1(5)
	TRNE 6,400000
	 JRST $83
	PUSH 17,4(4)
	PUSHJ 17,%GIZPT
	ADJSP 17,-1
	CAIN 1,2
	 JRST $43
$83==.
	SETZ 1,
	ADJSP 17,-4
	POPJ 17,
$43==.
	SKIPN 4,%PV*1+2
	 JRST $84
	SETZ 1,
	ADJSP 17,-4
	POPJ 17,
$84==.
	MOVE 4,-5(17)
	MOVE 3,4(4)
	MOVE 7,3(3)
	MOVEM 7,-1(17)
	JUMPGE 7,$86
	ANDI 7,77
	MOVEM 7,%PV*1+2
	MOVN 11,-1(17)
	ASH 11,-14
	ADDB 11,%PV*1+1
	MOVEI 5,44
	IDIV 5,%PV*1+2
	IMUL 11,5
	MOVEM 11,%PV*1+1
	MOVN 10,-1(17)
	ASH 10,-6
	ANDI 10,77
	IDIV 10,%PV*1+2
	ADDB 10,%PV*1+1
	JRST $85
$86==.
	MOVE 4,-5(17)
	MOVE 3,4(4)
	PUSH 17,1(3)
	PUSHJ 17,TISBYA
	ADJSP 17,-1
	JUMPE 1,$87
	MOVE 4,-5(17)
	MOVE 3,4(4)
	PUSH 17,1(3)
	PUSHJ 17,ELEMBS
	ADJSP 17,-1
	MOVEM 1,%PV*1+2
	MOVE 6,-1(17)
	ADDB 6,%PV*1+1
	MOVEI 3,44
	IDIV 3,1
	IMUL 6,3
	MOVEM 6,%PV*1+1
	JRST $85
$87==.
	MOVE 5,-1(17)
	ADDB 5,%PV*1+1
$85==.
	MOVEI 1,2
	ADJSP 17,-4
	POPJ 17,
$75==.
	MOVE 13,-5(17)
	MOVE 4,4(13)
	MOVE 3,3(4)
	MOVE 6,0(3)
	CAIL 6,10
	 CAIL 6,20
	 JRST $88
	MOVEM 3,%PV
	MOVE 7,4(13)
	MOVE 5,1(7)
	MOVE 15,1(5)
	TLNN 15,2
	 JRST $90
	ANDI 15,777
	MOVEM 15,%PV*1+2
	MOVEI 11,44
	IDIV 11,15
	SUBI 11,1
	MOVEM 11,%PV*1+1
$90==.
	MOVEI 1,2
	ADJSP 17,-4
	POPJ 17,
$88==.
	SETZ 1,
	ADJSP 17,-4
	POPJ 17,
$71==.
	SETZ 1,
	ADJSP 17,-4
	POPJ 17,
$50==.
	MOVE 7,-5(17)
	MOVE 3,4(7)
	MOVE 5,0(3)
	CAIE 5,41
	 JRST $91
	PUSH 17,5(7)
	PUSHJ 17,%GIZPT
	ADJSP 17,-1
	CAIE 1,2
	 JRST $91
	MOVE 7,-5(17)
	MOVE 3,4(7)
	MOVE 5,3(3)
	MOVEM 5,-3(17)
	MOVE 4,5(7)
	MOVE 6,1(4)
	MOVEM 6,0(17)
	JRST $44
$91==.
	MOVE 7,-5(17)
	MOVE 3,5(7)
	MOVE 5,0(3)
	CAIE 5,41
	 JRST $92
	PUSH 17,4(7)
	PUSHJ 17,%GIZPT
	ADJSP 17,-1
	CAIE 1,2
	 JRST $92
	MOVE 7,-5(17)
	MOVE 3,5(7)
	MOVE 5,3(3)
	MOVEM 5,-3(17)
	MOVE 4,4(7)
	MOVE 6,1(4)
	MOVEM 6,0(17)
	JRST $44
$92==.
	SETZ 1,
	ADJSP 17,-4
	POPJ 17,
$44==.
	PUSH 17,0(17)
	PUSHJ 17,TISBYP
	ADJSP 17,-1
	JUMPE 1,$94
	SKIPE 4,%PV*1+2
	 JRST $95
	PUSH 17,0(17)
	PUSHJ 17,ELEMBS
	ADJSP 17,-1
	MOVEM 1,%PV*1+2
$95==.
	MOVE 4,0(17)
	PUSH 17,3(4)
	PUSHJ 17,SIZEAR
	ADJSP 17,-1
	IMULB 1,-3(17)
	JRST $93
$94==.
	MOVE 4,0(17)
	PUSH 17,3(4)
	PUSHJ 17,SIZETY
	ADJSP 17,-1
	IMULB 1,-3(17)
$93==.
	MOVE 5,-3(17)
	ADDB 5,%PV*1+1
	MOVEI 1,2
	ADJSP 17,-4
	POPJ 17,
$51==.
	MOVE 7,-5(17)
	MOVE 3,5(7)
	MOVE 5,0(3)
	CAIE 5,41
	 JRST $45
	PUSH 17,4(7)
	PUSHJ 17,%GIZPT
	ADJSP 17,-1
	CAIE 1,2
	 JRST $45
	MOVE 7,-5(17)
	MOVE 3,5(7)
	MOVN 5,3(3)
	MOVEM 5,-3(17)
	MOVE 4,4(7)
	MOVE 6,1(4)
	MOVEM 6,0(17)
	JRST $44
$45==.
	SETZ 1,
	ADJSP 17,-4
	POPJ 17,
%GIZNU:
	ADJSP 17,1
	PUSH 17,-2(17)
	PUSHJ 17,SIZETY
	ADJSP 17,-1
	MOVEM 1,0(17)
	JUMPG 1,$97
	PUSH 17,1
	PUSH 17,[$$BP90+$$SECT,,$98]
	PUSHJ 17,INT.ER
	ADJSP 17,-2
	JRST $96
$97==.
	PUSH 17,0(17)
	PUSHJ 17,%OUTZW
	ADJSP 17,-1
$96==.
	ADJSP 17,-1
	POPJ 17,
$98==.
	BYTE	(9) 147,151,172,156
	BYTE	(9) 165,154,154,72
	BYTE	(9) 40,102,141,144
	BYTE	(9) 40,102,114,117
	BYTE	(9) 103,113,72,40
	BYTE	(9) 45,144,0
	


	%%DATA
$99:	BLOCK 22

	%%CODE
%GIZEX:
	ADJSP 17,2
	MOVEI 3,17
	MOVEM 3,$99
	MOVE 5,-4(17)
	MOVEM 5,$99*1+13
	PUSHJ 17,NEWLAB
	MOVEM 1,$99*1+12
	PUSH 17,1
	PUSHJ 17,OUTLAB
	MOVE 4,$99*1+12
	ADDI 4,2
	TLO 4,$$BP90
	MOVEM 4,0(17)
	XMOVEI 3,$99*1+2
	TLO 3,$$BP90
	PUSH 17,3
	PUSHJ 17,STRCPY
	ADJSP 17,-2
	PUSH 17,-4(17)
	PUSHJ 17,%GIZNU
	ADJSP 17,-1
	PUSHJ 17,CODESE
	MOVEM 1,0(17)
	PUSHJ 17,%INICO
	PUSHJ 17,NEWLAB
	MOVEM 1,-1(17)
	PUSH 17,1
	PUSHJ 17,OUTLAB
	ADJSP 17,-1
	PUSH 17,[$$BP90+$$SECT,,$100]
	PUSHJ 17,OUTSTR
	ADJSP 17,-1
	PUSH 17,-3(17)
	XMOVEI 3,$99
	PUSH 17,3
	PUSHJ 17,NDEFID
	MOVEM 1,0(17)
	PUSH 17,[0]
	PUSH 17,-7(17)
	PUSH 17,[111]
	PUSHJ 17,NDEF
	MOVEM 1,-10(17)
	MOVEM 1,-4(17)
	ADJSP 17,-4
	PUSHJ 17,GENXRE
	ADJSP 17,-1
	PUSH 17,-1(17)
	XMOVEI 3,VR.RET
	PUSH 17,3
	PUSH 17,[2501]
	PUSHJ 17,CODE6
	ADJSP 17,-3
	PUSH 17,[1]
	PUSH 17,[1]
	PUSH 17,[0]
	PUSH 17,[0]
	PUSH 17,[53]
	PUSHJ 17,CODEMD
	XMOVEI 3,VR.SP
	MOVEM 3,-4(17)
	ADJSP 17,-4
	PUSH 17,[70]
	PUSHJ 17,CODE5
	ADJSP 17,-2
	PUSHJ 17,%ENDCO
	PUSH 17,[$$BP90+$$SECT,,$101]
	PUSHJ 17,OUTSTR
	ADJSP 17,-1
	PUSH 17,-1(17)
	PUSHJ 17,OUTMIR
	ADJSP 17,-1
	PUSHJ 17,OUTNL
	PUSH 17,0(17)
	PUSHJ 17,PREVSE
	ADJSP 17,-1
	PUSH 17,$99*1+12
	PUSHJ 17,FREELA
	ADJSP 17,-1
	PUSH 17,-1(17)
	PUSHJ 17,FREELA
	ADJSP 17,-3
	POPJ 17,
$101==.
	BYTE	(9) 11,56,114,111
	BYTE	(9) 116,113,11,61
	BYTE	(9) 54,0
	

$100==.
	BYTE	(9) 11,102,114,117
	BYTE	(9) 103,113,11,61
	BYTE	(9) 12,0
	

%GIZLI:
	ADJSP 17,13
	PUSH 17,-15(17)
	PUSHJ 17,SIZETY
	ADJSP 17,-1
	MOVEM 1,-7(17)
	JUMPG 1,$102
	PUSH 17,-14(17)
	PUSH 17,1
	PUSH 17,[$$BP90+$$SECT,,$103]
	PUSHJ 17,INT.ER
	ADJSP 17,-16
	POPJ 17,
$102==.
	MOVE 6,-14(17)
	MOVE 3,0(6)
	CAIN 3,202
	 JRST $104
	PUSH 17,6
	PUSH 17,[$$BP90+$$SECT,,$105]
	PUSHJ 17,INT.ER
	ADJSP 17,-15
	JRST %GIZWO
$104==.
	MOVE 6,-15(17)
	MOVE 3,0(6)
	CAIN 3,3
	 JRST $109
	CAIN 3,4
	 JRST $108
	CAIE 3,2
	 JRST $110
	PUSH 17,6
	PUSHJ 17,TISBYA
	ADJSP 17,-1
	JUMPE 1,$111
	PUSH 17,[0]
	PUSH 17,-17(17)
	PUSH 17,-17(17)
	PUSH 17,-17(17)
	PUSHJ 17,%GIZBY
	ADJSP 17,-17
	POPJ 17,
$111==.
	MOVE 6,-15(17)
	MOVE 3,2(6)
	MOVEM 3,-11(17)
	MOVE 7,3(6)
	MOVEM 7,-15(17)
	PUSH 17,7
	PUSHJ 17,SIZETY
	ADJSP 17,-1
	MOVEM 1,-10(17)
$112==.
	SKIPE 6,-14(17)
	 SOSGE 3,-11(17)
	 JRST $106
	PUSH 17,-16(17)
	PUSH 17,-16(17)
	PUSH 17,4(6)
	PUSHJ 17,%GIZ
	ADJSP 17,-3
	MOVE 4,-14(17)
	MOVE 3,5(4)
	MOVEM 3,-14(17)
	MOVN 7,-10(17)
	ADDB 7,-7(17)
	JRST $112
$108==.
	MOVE 6,-14(17)
	SKIPN 3,5(6)
	 JRST $109
	PUSH 17,6
	PUSH 17,[$$BP90+$$SECT,,$114]
	PUSHJ 17,INT.ER
	ADJSP 17,-2
	MOVE 5,-14(17)
	SETZB 3,5(5)
$109==.
	MOVE 4,-15(17)
	MOVE 3,3(4)
	MOVE 5,14(3)
	MOVEM 5,-12(17)
	MOVE 7,%LOCCT
	MOVEM 7,-6(17)
$115==.
	SKIPE 4,-14(17)
	 SKIPN 6,-12(17)
	 JRST $116
	MOVE 7,12(6)
	MOVEM 7,-2(17)
	JUMPGE 7,$119
	MOVN 7,7
	ASH 7,-14
	MOVEM 7,-3(17)
	MOVN 5,-2(17)
	ANDI 5,7700
	ASH 5,-6
	MOVEM 5,-5(17)
	MOVN 10,-2(17)
	ANDI 10,77
	MOVEM 10,-4(17)
	JRST $118
$119==.
	PUSHJ 17,%BYTEN
	MOVE 4,-2(17)
	MOVEM 4,-3(17)
$118==.
	MOVE 6,%LOCCT
	SUB 6,-6(17)
	MOVEM 6,0(17)
	CAMN 6,-3(17)
	 JRST $120
	PUSHJ 17,%BYTEN
	MOVE 5,%LOCCT
	SUB 5,-6(17)
	MOVEM 5,0(17)
	CAMG 5,-3(17)
	 JRST $121
	PUSH 17,-12(17)
	PUSH 17,[$$BP90+$$SECT,,$122]
	PUSHJ 17,INT.ER
	ADJSP 17,-2
	JRST $120
$121==.
	MOVE 4,-3(17)
	SUB 4,0(17)
	PUSH 17,4
	PUSHJ 17,%OUTZW
	ADJSP 17,-1
$120==.
	SKIPGE 4,-2(17)
	 JRST $123
	PUSH 17,-12(17)
	MOVE 5,-13(17)
	PUSH 17,13(5)
	MOVE 6,-16(17)
	PUSH 17,4(6)
	PUSHJ 17,%GIZ
	ADJSP 17,-3
	JRST $117
$123==.
	SKIPE 4,%BSIZ
	 JRST $124
	PUSH 17,[1]
	PUSHJ 17,%BYTBE
	ADJSP 17,-1
$124==.
	MOVE 4,%BPOS
	SUB 4,-5(17)
	SUB 4,-4(17)
	MOVEM 4,-1(17)
	JUMPE 4,$125
	JUMPGE 4,$126
	PUSH 17,-12(17)
	PUSH 17,[$$BP90+$$SECT,,$127]
	PUSHJ 17,INT.ER
	ADJSP 17,-2
	JRST $125
$126==.
	PUSH 17,-1(17)
	PUSH 17,[0]
	PUSHJ 17,%OUTBY
	ADJSP 17,-2
$125==.
	MOVE 4,-12(17)
	PUSH 17,13(4)
	PUSHJ 17,TISBYA
	ADJSP 17,-1
	JUMPE 1,$129
	PUSH 17,[1]
	PUSH 17,-13(17)
	MOVE 4,-14(17)
	PUSH 17,13(4)
	MOVE 5,-17(17)
	PUSH 17,4(5)
	PUSHJ 17,%GIZBY
	ADJSP 17,-4
	JRST $128
$129==.
	MOVE 7,-14(17)
	MOVE 3,4(7)
	MOVE 5,0(3)
	CAIN 5,41
	 JRST $130
	PUSH 17,7
	PUSH 17,[$$BP90+$$SECT,,$131]
	PUSHJ 17,INT.ER
	ADJSP 17,-2
$130==.
	PUSH 17,-4(17)
	MOVE 4,-15(17)
	MOVE 3,4(4)
	PUSH 17,3(3)
	PUSHJ 17,%OUTBY
	ADJSP 17,-2
$128==.
$117==.
	MOVE 4,-14(17)
	MOVE 3,5(4)
	MOVEM 3,-14(17)
	MOVE 6,-12(17)
	MOVE 5,14(6)
	MOVEM 5,-12(17)
	JRST $115
$116==.
	PUSHJ 17,%BYTEN
	MOVN 5,%LOCCT
	ADD 5,-6(17)
	ADDB 5,-7(17)
	JRST $106
$110==.
	PUSH 17,-14(17)
	MOVE 4,-16(17)
	PUSH 17,0(4)
	PUSH 17,[$$BP90+$$SECT,,$132]
	PUSHJ 17,INT.ER
	ADJSP 17,-16
	POPJ 17,
$106==.
	SKIPN 5,-14(17)
	 CAMLE 5,-7(17)
	 TRNA 
	 JRST $133
	PUSH 17,5
	PUSH 17,-10(17)
	PUSH 17,[$$BP90+$$SECT,,$135]
	PUSHJ 17,INT.ER
	ADJSP 17,-16
	POPJ 17,
$133==.
	SKIPN 5,-7(17)
	 JRST $136
	PUSH 17,5
	PUSHJ 17,%OUTZW
	ADJSP 17,-1
$136==.
	ADJSP 17,-13
	POPJ 17,
$135==.
	BYTE	(9) 147,151,172,154
	BYTE	(9) 151,163,164,72
	BYTE	(9) 40,164,157,157
	BYTE	(9) 40,155,141,156
	BYTE	(9) 171,40,151,172
	BYTE	(9) 145,162,163,40
	BYTE	(9) 50,167,154,146
	BYTE	(9) 164,72,40,45
	BYTE	(9) 144,51,40,45
	BYTE	(9) 116,0
	

$132==.
	BYTE	(9) 147,151,172,154
	BYTE	(9) 151,163,164,72
	BYTE	(9) 40,142,141,144
	BYTE	(9) 40,151,172,145
	BYTE	(9) 162,40,164,171
	BYTE	(9) 160,145,72,40
	BYTE	(9) 45,144,40,45
	BYTE	(9) 116,0
	

$131==.
	BYTE	(9) 147,151,172,154
	BYTE	(9) 151,163,164,72
	BYTE	(9) 40,142,151,164
	BYTE	(9) 146,40,151,172
	BYTE	(9) 145,162,40,156
	BYTE	(9) 157,164,40,151
	BYTE	(9) 143,157,156,163
	BYTE	(9) 164,40,45,116
	BYTE	(9) 0
	

$127==.
	BYTE	(9) 147,151,172,154
	BYTE	(9) 151,163,164,72
	BYTE	(9) 40,55,147,141
	BYTE	(9) 160,40,146,157
	BYTE	(9) 162,40,45,123
	BYTE	(9) 0
	

$122==.
	BYTE	(9) 147,151,172,154
	BYTE	(9) 151,163,164,72
	BYTE	(9) 40,157,146,146
	BYTE	(9) 163,145,164,40
	BYTE	(9) 143,154,141,163
	BYTE	(9) 150,40,146,157
	BYTE	(9) 162,40,45,123
	BYTE	(9) 0
	

$114==.
	BYTE	(9) 147,151,172,154
	BYTE	(9) 151,163,164,72
	BYTE	(9) 40,76,40,61
	BYTE	(9) 40,165,156,151
	BYTE	(9) 157,156,40,151
	BYTE	(9) 172,145,162,40
	BYTE	(9) 45,116,0
	

$105==.
	BYTE	(9) 147,151,172,154
	BYTE	(9) 151,163,164,72
	BYTE	(9) 40,156,157,164
	BYTE	(9) 40,116,137,111
	BYTE	(9) 132,114,111,123
	BYTE	(9) 124,40,45,116
	BYTE	(9) 0
	

$103==.
	BYTE	(9) 147,151,172,154
	BYTE	(9) 151,163,164,72
	BYTE	(9) 40,142,141,144
	BYTE	(9) 40,163,151,172
	BYTE	(9) 145,72,40,45
	BYTE	(9) 144,40,45,116
	BYTE	(9) 0
	

%GIZBY:
	PUSH 17,-1(17)
	PUSH 17,%BSIZ
	ADJSP 17,3
	PUSH 17,-7(17)
	PUSHJ 17,SIZEAR
	ADJSP 17,-1
	MOVEM 1,-2(17)
	MOVE 6,-4(17)
	MOVE 3,0(6)
	CAIN 3,202
	 JRST $137
	PUSH 17,6
	PUSH 17,[$$BP90+$$SECT,,$138]
	PUSHJ 17,INT.ER
	ADJSP 17,-7
	POPJ 17,
$137==.
	SKIPE 4,-11(17)
	 JRST $139
	PUSH 17,-7(17)
	PUSHJ 17,ELEMBS
	MOVEM 1,0(17)
	PUSHJ 17,%BYTBE
	ADJSP 17,-1
$139==.
	MOVE 4,-6(17)
	MOVEM 4,-4(17)
$140==.
	SKIPN 7,-4(17)
	 JRST $141
	MOVE 5,4(7)
	MOVE 4,0(5)
	CAIN 4,202
	 JRST $145
	CAIN 4,43
	 JRST $144
	CAIE 4,41
	 JRST $146
	PUSH 17,3(5)
	PUSHJ 17,%OUTVA
	ADJSP 17,-1
	SOS 3,-2(17)
	JRST $142
$144==.
	MOVE 5,-6(17)
	CAMN 5,-4(17)
	 SKIPE 3,5(5)
	 TRNA 
	 JRST $147
	PUSH 17,-4(17)
	PUSH 17,[$$BP90+$$SECT,,$149]
	PUSHJ 17,INT.ER
	ADJSP 17,-2
$147==.
	MOVE 6,-4(17)
	MOVE 3,4(6)
	MOVE 5,3(3)
	MOVEM 5,0(17)
	MOVE 11,-2(17)
	CAMLE 11,4(3)
	 MOVE 11,4(3)
	MOVEM 11,-1(17)
	MOVN 7,11
	ADDB 7,-2(17)
	JUMPLE 11,$142
$152==.
	MOVE 4,%BSIZ
	CAIE 4,6
	 JRST $155
	LDB 1,0(17)
	TRNE 1,100
	 TROA 1,40
	 TRNA 
	 JRST $157
	LDB 1,0(17)
	TRZ 1,40
$157==.
	ANDI 1,77
	PUSH 17,1
	PUSHJ 17,%OUTVA
	ADJSP 17,-1
	JRST $154
$155==.
	LDB 3,0(17)
	PUSH 17,3
	PUSHJ 17,%OUTVA
	ADJSP 17,-1
$154==.
	IBP 0(17)
	SOSLE 3,-1(17)
	 JRST $152
	JRST $142
$145==.
	MOVE 4,-11(17)
	ADDI 4,1
	PUSH 17,4
	PUSH 17,-11(17)
	MOVE 5,-11(17)
	PUSH 17,3(5)
	MOVE 6,-7(17)
	PUSH 17,4(6)
	PUSHJ 17,%GIZBY
	ADJSP 17,-4
	MOVE 4,-7(17)
	PUSH 17,3(4)
	PUSHJ 17,SIZEAR
	ADJSP 17,-1
	MOVN 4,1
	ADDB 4,-2(17)
	JRST $142
$146==.
	PUSH 17,-4(17)
	PUSH 17,-11(17)
	PUSH 17,[$$BP90+$$SECT,,$158]
	PUSHJ 17,INT.ER
	ADJSP 17,-3
$142==.
	MOVE 4,-4(17)
	MOVE 3,5(4)
	MOVEM 3,-4(17)
	JRST $140
$141==.
	SKIPG 5,-2(17)
	 JRST $160
	PUSH 17,5
	PUSHJ 17,%OUTZB
	ADJSP 17,-1
	JRST $159
$160==.
	SKIPL 4,-2(17)
	 JRST $159
	PUSH 17,-10(17)
	PUSH 17,[$$BP90+$$SECT,,$161]
	PUSHJ 17,INT.ER
	ADJSP 17,-2
$159==.
	SKIPN 4,-11(17)
	 SKIPE 5,-3(17)
	 TRNA 
	 PUSHJ 17,%BYTEN
	ADJSP 17,-5
	POPJ 17,
$161==.
	BYTE	(9) 147,151,172,142
	BYTE	(9) 171,164,145,163
	BYTE	(9) 72,40,164,157
	BYTE	(9) 157,40,155,141
	BYTE	(9) 156,171,40,151
	BYTE	(9) 172,145,162,163
	BYTE	(9) 54,40,45,123
	BYTE	(9) 0
	

$158==.
	BYTE	(9) 147,151,172,142
	BYTE	(9) 171,164,145,163
	BYTE	(9) 72,40,142,141
	BYTE	(9) 144,40,151,172
	BYTE	(9) 145,162,40,146
	BYTE	(9) 157,162,40,45
	BYTE	(9) 123,40,45,116
	BYTE	(9) 0
	

$149==.
	BYTE	(9) 147,151,172,142
	BYTE	(9) 171,164,145,163
	BYTE	(9) 72,40,163,164
	BYTE	(9) 162,40,156,157
	BYTE	(9) 164,40,163,157
	BYTE	(9) 154,145,40,156
	BYTE	(9) 157,144,145,40
	BYTE	(9) 45,116,0
	

$138==.
	BYTE	(9) 147,151,172,142
	BYTE	(9) 171,164,145,163
	BYTE	(9) 72,40,151,172
	BYTE	(9) 145,162,40,156
	BYTE	(9) 157,164,40,154
	BYTE	(9) 151,163,164,40
	BYTE	(9) 45,116,0
	

%BYTBE:
	SKIPE 4,%BSIZ
	 JRST $163
	MOVEI 5,44
	MOVEM 5,%BPOS
	IDIV 5,-1(17)
	MOVEM 5,%BPW
	MOVE 6,%LOCCT
	MOVEM 6,%SAVLC
$163==.
	MOVE 4,-1(17)
	MOVEM 4,%BSIZ
	POPJ 17,
%BYTEN:
	SKIPN 1,%BSIZ
	 POPJ 17,
	PUSHJ 17,%WDALI
	SETZB 3,%BSIZ
	MOVE 1,%LOCCT
	SUB 1,%SAVLC
	POPJ 17,
%WDALI:
	SKIPN 4,%BSIZ
	 JRST $165
	MOVE 5,%BPOS
	CAIN 5,44
	 JRST $165
	PUSHJ 17,OUTNL
	AOS 3,%LOCCT
	MOVEI 4,44
	MOVEM 4,%BPOS
$165==.
	POPJ 17,
%OUTVA:
	SKIPE 4,%BSIZ
	 JRST $167
	PUSHJ 17,OUTTAB
	PUSH 17,-1(17)
	PUSHJ 17,OUTNUM
	ADJSP 17,-1
	PUSHJ 17,OUTNL
	AOS 3,%LOCCT
	JRST $166
$167==.
	PUSH 17,%BSIZ
	PUSH 17,-2(17)
	PUSHJ 17,%OUTBY
	ADJSP 17,-2
$166==.
	POPJ 17,
%OUTBY:
	MOVEI 6,1
	MOVE 7,-2(17)
	LSH 6,0(7)
	SUBI 6,1
	ANDB 6,-1(17)
	CAMLE 7,%BPOS
	 PUSHJ 17,%WDALI
	MOVE 4,%BPOS
	CAIE 4,44
	 JRST $170
	PUSH 17,-1(17)
	PUSH 17,-3(17)
	PUSH 17,[$$BP90+$$SECT,,$171]
	PUSH 17,OUT
	PUSHJ 17,FPRINT
	ADJSP 17,-4
	JRST $169
$170==.
	MOVE 4,-2(17)
	CAME 4,%BSIZ
	 JRST $172
	PUSH 17,-1(17)
	PUSH 17,[$$BP90+$$SECT,,$173]
	PUSH 17,OUT
	PUSHJ 17,FPRINT
	ADJSP 17,-3
	JRST $169
$172==.
	PUSH 17,-1(17)
	PUSH 17,-3(17)
	PUSH 17,[$$BP90+$$SECT,,$174]
	PUSH 17,OUT
	PUSHJ 17,FPRINT
	ADJSP 17,-4
	MOVE 4,-2(17)
	MOVEM 4,%BSIZ
$169==.
	MOVN 5,-2(17)
	ADDB 5,%BPOS
	POPJ 17,
$174==.
	BYTE	(9) 40,50,45,144
	BYTE	(9) 51,40,45,154
	BYTE	(9) 157,0
	

$173==.
	BYTE	(9) 54,45,154,157
	BYTE	(9) 0
	

$171==.
	BYTE	(9) 11,102,131,124
	BYTE	(9) 105,40,50,45
	BYTE	(9) 144,51,40,45
	BYTE	(9) 154,157,0
	

%OUTZV:
	SKIPN 4,%BSIZ
	 JRST $176
	PUSH 17,-1(17)
	PUSHJ 17,%OUTZB
	ADJSP 17,-1
	JRST $175
$176==.
	PUSH 17,-1(17)
	PUSHJ 17,%OUTZW
	ADJSP 17,-1
$175==.
	POPJ 17,
%OUTZB:
	SKIPG 4,-1(17)
	 POPJ 17,
$178==.
	MOVE 5,%BPOS
	CAIE 5,44
	 CAMGE 5,%BSIZ
	 JRST $179
	SOSGE 3,-1(17)
	 JRST $179
	PUSH 17,[0]
	PUSHJ 17,%OUTVA
	ADJSP 17,-1
	JRST $178
$179==.
	MOVE 4,-1(17)
	MOVEI 5,44
	IDIV 5,%BSIZ
	MOVEM 5,%BPW
	CAMGE 4,5
	 JRST $180
	PUSHJ 17,%WDALI
	MOVE 4,-1(17)
	IDIV 4,%BPW
	PUSH 17,4
	PUSHJ 17,%OUTZW
	ADJSP 17,-1
	MOVE 5,-1(17)
	IDIV 5,%BPW
	MOVEM 6,-1(17)
$180==.
$181==.
	SOSGE 3,-1(17)
	 JRST $182
	PUSH 17,[0]
	PUSHJ 17,%OUTVA
	ADJSP 17,-1
	JRST $181
$182==.
	POPJ 17,
%OUTZW:
	SKIPG 5,-1(17)
	 JRST $183
	PUSH 17,5
	PUSH 17,[$$BP90+$$SECT,,$184]
	PUSH 17,OUT
	PUSHJ 17,FPRINT
	ADJSP 17,-3
	MOVE 5,-1(17)
	ADDB 5,%LOCCT
$183==.
	POPJ 17,
$184==.
	BYTE	(9) 11,102,114,117
	BYTE	(9) 103,113,40,45
	BYTE	(9) 157,12,0
	

%OUTPT:
	PUSHJ 17,OUTTAB
	PUSH 17,%PV*1+1
	PUSH 17,%PV*1+2
	PUSH 17,%PV
	PUSHJ 17,OUTPTR
	ADJSP 17,-3
	PUSHJ 17,OUTNL
	AOS 3,%LOCCT
	POPJ 17,

	%%DATA
%BSIZ:	BLOCK 1
%BPW:	BLOCK 1
%BPOS:	BLOCK 1
%SAVLC:	BLOCK 1
%LOCCT:	BLOCK 1
%PV:	BLOCK 3


	%%CODE
$$CPKI==0
	INTERN $$CPKI
$$CPKA==0
	INTERN $$CPKA

	LIT
	EXTERN	$$BP90
	EXTERN	$$SECT
	EXTERN	$$$CPU
	EXTERN	$$$CRT
;	EXTERN	.SIOS
;	EXTERN	REMOVE
;	EXTERN	RENAME
;	EXTERN	TMPFIL
;	EXTERN	TMPNAM
;	EXTERN	FCLOSE
;	EXTERN	FFLUSH
;	EXTERN	FOPEN
;	EXTERN	FREOPE
;	EXTERN	SETBUF
;	EXTERN	SETVBU
	EXTERN	FPRINT
;	EXTERN	FSCANF
;	EXTERN	PRINTF
;	EXTERN	SCANF
;	EXTERN	SPRINT
;	EXTERN	SSCANF
;	EXTERN	VFPRIN
;	EXTERN	VPRINT
;	EXTERN	VSPRIN
;	EXTERN	FGETC
;	EXTERN	FGETS
;	EXTERN	FPUTC
;	EXTERN	FPUTS
;	EXTERN	GETC
;	EXTERN	GETCHA
;	EXTERN	GETS
;	EXTERN	PUTC
;	EXTERN	PUTCHA
;	EXTERN	PUTS
;	EXTERN	UNGETC
;	EXTERN	FREAD
;	EXTERN	FWRITE
;	EXTERN	FGETPO
;	EXTERN	FSEEK
;	EXTERN	FSETPO
;	EXTERN	FTELL
;	EXTERN	REWIND
;	EXTERN	CLEARE
;	EXTERN	FEOF
;	EXTERN	FERROR
;	EXTERN	PERROR
;	EXTERN	FDOPEN
;	EXTERN	SOPEN
;	EXTERN	.SETBU
;	EXTERN	SETLIN
;	EXTERN	MKTEMP
;	EXTERN	GETW
;	EXTERN	PUTW
;	EXTERN	FILENO
;	EXTERN	CTERMI
;	EXTERN	CUSERI
;	EXTERN	.FILE.
;	EXTERN	.MAKEF
;	EXTERN	.FILBU
;	EXTERN	.READA
;	EXTERN	.WRITE
;	EXTERN	.PRIME
;	EXTERN	.SIOFL
;	EXTERN	.CLEAN
;	EXTERN	.FREEF
;	EXTERN	.SETFI
	EXTERN	TISCHP
	EXTERN	TISBYP
;	EXTERN	TISCHA
	EXTERN	TISBYA
	EXTERN	TISPUR
;	EXTERN	TFLTAB
;	EXTERN	SYMBOL
;	EXTERN	CSYMBO
;	EXTERN	MINSYM
;	EXTERN	BYTSYM
;	EXTERN	HTABLE
;	EXTERN	TTABLE
;	EXTERN	TYPES
;	EXTERN	NODEIN
;	EXTERN	NODEDU
;	EXTERN	NODEID
	EXTERN	NDEF
;	EXTERN	NDEFOP
;	EXTERN	NDEFT
;	EXTERN	NDEFTF
;	EXTERN	NDEFTL
;	EXTERN	NDEFTR
;	EXTERN	NDEFL
;	EXTERN	NDEFR
;	EXTERN	NDEFLR
;	EXTERN	NDEFIC
	EXTERN	NDEFID
;	EXTERN	JMSG
;	EXTERN	JERR
;	EXTERN	NOTE
;	EXTERN	ADVISE
;	EXTERN	WARN
;	EXTERN	INT.WA
;	EXTERN	ERROR
	EXTERN	INT.ER
;	EXTERN	EFATAL
;	EXTERN	FATAL
;	EXTERN	ERRFOP
;	EXTERN	EXPECT
;	EXTERN	ERRFLU
;	EXTERN	OPTPAR
;	EXTERN	OPTGEN
;	EXTERN	OPTOBJ
;	EXTERN	DEBPAR
;	EXTERN	DEBGEN
;	EXTERN	DEBPHO
;	EXTERN	DEBSYM
;	EXTERN	VRBFUN
;	EXTERN	VRBSTA
;	EXTERN	VRBLD
;	EXTERN	LDEXTF
;	EXTERN	LDPSEC
;	EXTERN	LDPSDA
;	EXTERN	LDPSCO
;	EXTERN	LDPSST
;	EXTERN	ASSEMB
;	EXTERN	DELETE
;	EXTERN	LINK
;	EXTERN	PREPF
;	EXTERN	NOWARN
;	EXTERN	CONDCC
;	EXTERN	KEEPCM
;	EXTERN	ASMHFI
;	EXTERN	ASMTFI
;	EXTERN	NPREDE
;	EXTERN	NPREUN
;	EXTERN	NINCPA
;	EXTERN	NHFPAT
;	EXTERN	NHFSYP
;	EXTERN	PREDEF
;	EXTERN	PREUND
;	EXTERN	INCPAT
;	EXTERN	HFPATH
;	EXTERN	HFSYPA
;	EXTERN	LIBPAT
;	EXTERN	CLEVKC
;	EXTERN	CLEVEL
;	EXTERN	CVERCO
;	EXTERN	CVERLI
;	EXTERN	CVERDI
;	EXTERN	CVERKC
;	EXTERN	TGSYS
;	EXTERN	TGCPU
;	EXTERN	TGASM
;	EXTERN	TGCSIZ
;	EXTERN	TGCPW
;	EXTERN	TGCMAS
;	EXTERN	TGMACH
;	EXTERN	TOK
;	EXTERN	NOPNAM
;	EXTERN	TOKSTR
;	EXTERN	CHARTY
;	EXTERN	STRCON
;	EXTERN	VOIDPT
;	EXTERN	SIZTYP
;	EXTERN	PTRDIF
;	EXTERN	TYPEPT
;	EXTERN	TYPSIZ
;	EXTERN	TYPBSI
;	EXTERN	TSNAME
;	EXTERN	INPFNA
;	EXTERN	INPFDI
;	EXTERN	INPFMO
;	EXTERN	INPFSU
;	EXTERN	OUTFNA
;	EXTERN	PREFNA
;	EXTERN	DEBFNA
;	EXTERN	PHOFNA
;	EXTERN	SYMFNA
;	EXTERN	IN
	EXTERN	OUT
;	EXTERN	FDEB
;	EXTERN	FPHO
;	EXTERN	FSYM
;	EXTERN	MAXTYP
;	EXTERN	PAGE
;	EXTERN	LINE
;	EXTERN	FLINE
;	EXTERN	TLINE
;	EXTERN	EOF
;	EXTERN	TOKEN
	EXTERN	NERROR
;	EXTERN	NODES
;	EXTERN	SAVELI
;	EXTERN	CURFN
;	EXTERN	CURFNL
;	EXTERN	CURFNN
	EXTERN	MAXAUT
;	EXTERN	STACKR
;	EXTERN	STKGOT
	EXTERN	VR.RET
	EXTERN	VR.SP
	EXTERN	VRINIT
	EXTERN	VRENDC
;	EXTERN	VRGET
;	EXTERN	VRDGET
;	EXTERN	VRRETG
;	EXTERN	VRRETD
;	EXTERN	VRFREE
;	EXTERN	VRREAL
;	EXTERN	VRTORE
;	EXTERN	VRSTOR
;	EXTERN	VRALLS
;	EXTERN	VRWIDE
;	EXTERN	VRLOWI
;	EXTERN	VRNARR
;	EXTERN	VRUFCR
;	EXTERN	VRISPA
;	EXTERN	RFREE
;	EXTERN	RHASVA
;	EXTERN	RBREF
;	EXTERN	RBSET
;	EXTERN	RBMOD
;	EXTERN	RBUSE
;	EXTERN	RBCHG
;	EXTERN	RBIN
;	EXTERN	RRREF
;	EXTERN	RRSET
;	EXTERN	RRMOD
;	EXTERN	RRUSE
;	EXTERN	RRCHG
;	EXTERN	RRIN
;	EXTERN	RBINCO
;	EXTERN	RBINRE
;	EXTERN	RBINAD
;	EXTERN	RINCOD
;	EXTERN	RINREG
;	EXTERN	RINADD
;	EXTERN	RBITS
;	EXTERN	DRBITS
	EXTERN	NEWLAB
	EXTERN	STACKO
	EXTERN	BRKLAB
	EXTERN	LOOPLA
	EXTERN	LITSTR
	EXTERN	LITNOD
;	EXTERN	CODES
	EXTERN	PREVIO
	EXTERN	MAXCOD
	EXTERN	MINCOD
;	EXTERN	POPOST
;	EXTERN	POPFLG
;	EXTERN	POPPRC
;	EXTERN	CTFTAB
;	EXTERN	CHR2IN
;	EXTERN	CHR2LO
;	EXTERN	CHR2UP
;	EXTERN	MEMCPY
;	EXTERN	MEMMOV
	EXTERN	STRCPY
;	EXTERN	STRNCP
;	EXTERN	STRCAT
;	EXTERN	STRNCA
;	EXTERN	MEMCMP
;	EXTERN	STRCMP
;	EXTERN	STRCOL
;	EXTERN	STRNCM
;	EXTERN	STRXFR
;	EXTERN	MEMCHR
;	EXTERN	STRCHR
;	EXTERN	STRCSP
;	EXTERN	STRPBR
;	EXTERN	STRRCH
;	EXTERN	STRSPN
;	EXTERN	STRSTR
;	EXTERN	STRTOK
;	EXTERN	MEMSET
;	EXTERN	STRERR
;	EXTERN	STRLEN
;	EXTERN	INDEX
;	EXTERN	RINDEX
;	EXTERN	STRPOS
;	EXTERN	STRRPO
;	EXTERN	STRRPB
;	EXTERN	MEMCCP
	EXTERN	RIDLSY
;	EXTERN	CODGOL
	EXTERN	CODESE
	EXTERN	DATASE
	EXTERN	PREVSE
	EXTERN	CODE5
	EXTERN	CODE6
	EXTERN	CODEMD
	EXTERN	CODE8
	EXTERN	FLUSHC
	EXTERN	GENXRE
	EXTERN	FREELA
	EXTERN	OUTMID
	EXTERN	OUTMIR
;	EXTERN	OUTID
	EXTERN	OUTPTR
	EXTERN	OUTSCO
	EXTERN	OUTLAB
	EXTERN	OUTNUM
;	EXTERN	OUTPNU
	EXTERN	OUTNL
	EXTERN	OUTTAB
	EXTERN	OUTSTR
	EXTERN	OUTFLT
;	EXTERN	GENEXP
	EXTERN	GENSTM
	EXTERN	SIZEAR
	EXTERN	ELEMBS
	EXTERN	SIZETY
	INTERN	GENCOD
	END