Google
 

Trailing-Edge - PDP-10 Archives - SRI_NIC_PERM_FS_1_19910112 - c/kcc/cccreg.fai
There are no other files named cccreg.fai in the archive.
	TITLE	CCCREG
	.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

	%%DATA
RBITS:	1
	2
	4
	10
	20
	40
	100
	200
	400
	1000
	2000
	4000
	10000
	20000
	40000
	100000
DRBITS:	3
	6
	14
	30
	60
	140
	300
	600
	1400
	3000
	6000
	14000
	30000
	60000
	140000
	100001

	%%CODE
CHANGE:
	PUSH 17,PREVIO
	PUSH 17,[0]
	PUSH 17,-5(17)
	PUSH 17,-5(17)
	PUSH 17,-5(17)
	PUSHJ 17,%CREG
	ADJSP 17,-5
	POPJ 17,

	%%DATA
%UPTOL:	0

	%%CODE
CREGUP:
	PUSH 17,%UPTOL
	MOVE 4,-2(17)
	MOVEM 4,%UPTOL
	POP 17,1
	POPJ 17,
%JUMPL:
	MOVE 4,-1(17)
	MOVE 3,1(4)
	ANDI 3,377
	MOVM 5,3
	IDIVI 5,5
	CAME 3,$3(6)
	 JRST $1
	JRST @$4(6)
$3==.
	 -1
	 6
	 103
	 53
	 54
$4==.
	IFIW $1
	IFIW $2
	IFIW $2
	IFIW $2
	IFIW $2
$2==.
	MOVE 4,-1(17)
	MOVE 1,3(4)
	POPJ 17,
$1==.
	SETZ 1,
	POPJ 17,
%CROSS:
	MOVE 7,-3(17)
	MOVE 3,1(7)
	CAIE 3,53
	 JRST $6
	MOVE 4,0(7)
	TRNN 4,100
	 JRST $6
	PUSH 17,7
	PUSHJ 17,BEFORE
	ADJSP 17,-1
	MOVEM 1,-3(17)
	JUMPE 1,$6
	MOVE 3,1(1)
	ANDI 3,7000
	CAIE 3,1000
	 JRST $6
	MOVE 4,0(1)
	TRNN 4,100
	 JRST $6
	PUSH 17,1
	PUSHJ 17,RBINCO
	ADJSP 17,-1
	MOVE 3,-1(17)
	MOVE 4,RBITS(3)
	MOVE 5,-2(17)
	IOR 4,RBITS(5)
	TDNE 1,4
	 JRST $6
	PUSH 17,-3(17)
	PUSHJ 17,BEFORE
	ADJSP 17,-1
	MOVEM 1,-3(17)
	JUMPE 1,$6
	MOVE 3,1(1)
	CAIE 3,1501
	 JRST $6
	MOVE 4,2(1)
	CAMN 4,-1(17)
	 JRST %CREGB
$6==.
	SETZ 1,
	POPJ 17,
PUSHNE:
	PUSH 17,-1(17)
	PUSHJ 17,RFREE
	ADJSP 17,-1
	CAIN 1,0
	 POPJ 17,
	JRST PNEGRE
PNEGRE:
$9==.
	SKIPN 5,-2(17)
	 JRST $10
	MOVE 3,1(5)
	ANDI 3,10377
	MOVM 6,3
	IDIVI 6,57
	CAME 3,$23(7)
	 JRST $22
	JRST @$24(7)
$23==.
	 -1
	 60
	 2
	 -1
	 63
	 -1
	 6
	 -1
	 -1
	 70
	 12
	 13
	 -1
	 -1
	 -1
	 -1
	 77
	 100
	 101
	 -1
	 103
	 -1
	 105
	 27
	 30
	 110
	 32
	 33
	 34
	 -1
	 -1
	 -1
	 -1
	 120
	 -1
	 -1
	 -1
	 45
	 125
	 -1
	 -1
	 51
	 -1
	 53
	 54
	 -1
	 -1
$24==.
	IFIW $22
	IFIW $12
	IFIW $15
	IFIW $22
	IFIW $12
	IFIW $22
	IFIW $19
	IFIW $22
	IFIW $22
	IFIW $11
	IFIW $20
	IFIW $21
	IFIW $22
	IFIW $22
	IFIW $22
	IFIW $22
	IFIW $17
	IFIW $16
	IFIW $21
	IFIW $22
	IFIW $19
	IFIW $22
	IFIW $15
	IFIW $21
	IFIW $13
	IFIW $21
	IFIW $21
	IFIW $13
	IFIW $21
	IFIW $22
	IFIW $22
	IFIW $22
	IFIW $22
	IFIW $21
	IFIW $22
	IFIW $22
	IFIW $22
	IFIW $14
	IFIW $14
	IFIW $22
	IFIW $22
	IFIW $13
	IFIW $22
	IFIW $11
	IFIW $18
	IFIW $22
	IFIW $22
$12==.
	MOVE 7,-2(17)
	MOVE 3,2(7)
	CAME 3,-1(17)
	 JRST $11
	MOVE 4,0(7)
	TRNN 4,100
	 JRST $25
	PUSH 17,7
	PUSHJ 17,BEFORE
	MOVEM 1,0(17)
	PUSH 17,-2(17)
	PUSHJ 17,PUSHNE
	ADJSP 17,-2
	CAIN 1,0
	 POPJ 17,
$25==.
	MOVEI 4,3
	MOVE 6,-2(17)
	XORB 4,1(6)
	MOVEI 1,1
	POPJ 17,
$13==.
	MOVE 6,-2(17)
	MOVE 3,2(6)
	CAME 3,-1(17)
	 JRST $11
	MOVE 5,0(6)
	TRNN 5,100
	 CAIE 5,2
	 JRST $11
	PUSH 17,6
	PUSHJ 17,BEFORE
	MOVEM 1,0(17)
	MOVE 4,-3(17)
	PUSH 17,5(4)
	PUSHJ 17,PUSHNE
	ADJSP 17,-2
	JUMPE 1,$11
	MOVEI 1,1
	POPJ 17,
$14==.
	MOVE 4,-2(17)
	MOVE 3,2(4)
	SUB 3,-1(17)
	AOJN 3,$11
	SOS 5,-1(17)
	JRST $11
$15==.
	MOVE 6,-2(17)
	MOVE 3,2(6)
	CAME 3,-1(17)
	 JRST $11
	PUSH 17,6
	PUSHJ 17,BEFORE
	MOVEM 1,0(17)
	PUSH 17,-2(17)
	PUSHJ 17,PUSHNE
	ADJSP 17,-2
	CAIN 1,0
	 POPJ 17,
	MOVEI 4,107
	MOVE 6,-2(17)
	XORB 4,1(6)
	MOVEI 1,1
	POPJ 17,
$16==.
	MOVE 6,-2(17)
	MOVE 3,2(6)
	CAME 3,-1(17)
	 JRST $11
	MOVE 4,0(6)
	TRNE 4,100
	 JRST $11
	MOVEI 1,1
	POPJ 17,
$17==.
	MOVE 6,-2(17)
	MOVE 3,2(6)
	CAME 3,-1(17)
	 JRST $11
	MOVE 4,0(6)
	ANDI 4,17
	SOJE 4,$27
	SETZ 1,
	POPJ 17,
$27==.
	MOVE 6,-2(17)
	MOVE 3,0(6)
	TRNN 3,100
	 JRST $28
	PUSH 17,6
	PUSHJ 17,BEFORE
	MOVEM 1,0(17)
	PUSH 17,-2(17)
	PUSHJ 17,PUSHNE
	ADJSP 17,-2
	CAIN 1,0
	 POPJ 17,
$28==.
	MOVEI 3,60
	MOVE 10,-2(17)
	MOVEM 3,1(10)
	MOVEI 5,27
	XORB 5,0(10)
	MOVEI 1,1
	MOVEM 1,4(10)
	POPJ 17,
$18==.
	MOVE 6,-2(17)
	MOVE 3,2(6)
	CAME 3,-1(17)
	 JRST $11
	PUSH 17,6
	PUSHJ 17,BEFORE
	MOVEM 1,0(17)
	PUSH 17,-2(17)
	PUSHJ 17,PUSHNE
	ADJSP 17,-2
	CAIN 1,0
	 POPJ 17,
	MOVE 5,-2(17)
	MOVE 3,1(5)
	TRNE 3,4000
	 TRCA 3,2000
	 MOVE 3,1(5)
	MOVEM 3,1(5)
	MOVEI 1,1
	POPJ 17,
$19==.
	MOVE 6,-2(17)
	MOVE 3,2(6)
	CAME 3,-1(17)
	 JRST $11
	PUSH 17,6
	PUSHJ 17,BEFORE
	MOVEM 1,0(17)
	PUSH 17,-2(17)
	PUSHJ 17,PUSHNE
	ADJSP 17,-2
	CAIN 1,0
	 POPJ 17,
	MOVEI 4,2105
	MOVE 6,-2(17)
	XORB 4,1(6)
	MOVEI 1,1
	POPJ 17,
$20==.
	MOVE 7,-2(17)
	MOVE 3,2(7)
	CAME 3,-1(17)
	 JRST $11
	MOVE 4,0(7)
	ANDI 4,17
	CAIE 4,6
	 JRST $34
	PUSH 17,7
	PUSHJ 17,BEFORE
	MOVEM 1,0(17)
	PUSH 17,-2(17)
	PUSHJ 17,PUSHNE
	ADJSP 17,-2
	JUMPN 1,$33
$34==.
	SETZ 1,
	POPJ 17,
$33==.
	MOVE 6,-2(17)
	MOVNS 3,4(6)
	MOVE 4,1(6)
	TRNE 4,4000
	 TRCA 4,2000
	 MOVE 4,1(6)
	MOVEM 4,1(6)
	MOVEI 1,1
	POPJ 17,
$21==.
	MOVE 4,-2(17)
	MOVE 3,2(4)
	CAME 3,-1(17)
	 JRST $11
$22==.
	SETZ 1,
	POPJ 17,
$11==.
	MOVE 6,-2(17)
	MOVE 3,5(6)
	CAMN 3,-1(17)
	 TDZA 1,1
	 TRNA 
	 POPJ 17,
	PUSH 17,6
	PUSHJ 17,BEFORE
	ADJSP 17,-1
	MOVEM 1,-2(17)
	JRST $9
$10==.
	SETZ 1,
	POPJ 17,
UFCREG:
	SKIPN 12,PREVIO
	 JRST $38
	MOVE 3,0(12)
	CAIE 3,2
	 JRST $38
	MOVE 4,1(12)
	CAIE 4,60
	 JRST $38
	MOVE 5,2(12)
	CAMN 5,-1(17)
	 SKIPN 10,OPTOBJ
	 JRST $38
	MOVE 6,5(12)
	MOVEM 6,-1(17)
	PUSH 17,12
	PUSHJ 17,DROPIN
	ADJSP 17,-1
$38==.
	MOVE 1,-1(17)
	POPJ 17,
%CREG:
	MOVE 4,-1(17)
	CAMN 4,-2(17)
	 SKIPA 1,[1]
	 TRNA 
	 POPJ 17,
	SKIPN 1,-3(17)
	 POPJ 17,
	SKIPN 6,%UPTOL
	 JRST $41
	PUSH 17,6
	PUSH 17,1
	PUSHJ 17,%JUMPL
	MOVE 3,-1(17)
	ADJSP 17,-2
	CAMN 1,3
	 JRST %CROSS
$41==.
	PUSH 17,-3(17)
	PUSHJ 17,DROPSO
	ADJSP 17,-1
	JUMPE 1,$42
	MOVE 1,-2(17)
	SOSN 1,1
	 POPJ 17,
	JRST %CREGB
$42==.
	MOVE 4,-3(17)
	MOVE 3,1(4)
	ANDI 3,377
	SKIPLE 5,POPPRC(3)
	 CAIL 5,14
	 JRST $49
	JRST @$51*1-1(5)
$51==.
	IFIW $47
	IFIW $45
	IFIW $49
	IFIW $46
	IFIW $47
	IFIW $48
	IFIW $48
	IFIW $48
	IFIW $48
	IFIW $48
	IFIW $50
$45==.
	MOVE 6,-3(17)
	MOVE 7,2(6)
	CAMN 7,-1(17)
	 TDZA 1,1
	 TRNA 
	 POPJ 17,
	CAME 7,-2(17)
	 JRST %CREGB
	MOVE 3,0(6)
	TRNN 3,100
	 JRST $54
	PUSH 17,7
	PUSH 17,6
	PUSHJ 17,AFTER
	MOVEM 1,0(17)
	PUSHJ 17,%CREGO
	ADJSP 17,-2
	JUMPE 1,$46
$54==.
	SKIPE 6,-4(17)
	 TDZA 1,1
	 SKIPA 12,-3(17)
	 POPJ 17,
	MOVE 3,1(12)
	CAIE 3,60
	 JRST $57
	MOVE 5,0(12)
	TRZ 5,100
	CAIE 5,2
	 JRST $57
	MOVE 10,-1(17)
	CAME 10,5(12)
	 JRST $57
	MOVEM 6,1(12)
	MOVE 4,0(12)
	TRNN 4,100
	 JRST $56
	PUSH 17,12
	PUSHJ 17,BEFORE
	MOVEM 1,0(17)
	PUSHJ 17,UNSKIP
	ADJSP 17,-1
	JRST $56
$57==.
	MOVE 4,-1(17)
	MOVE 5,-3(17)
	MOVEM 4,2(5)
$56==.
	MOVEI 1,1
	POPJ 17,
$46==.
	MOVE 11,-3(17)
	MOVE 3,0(11)
	CAIE 3,2
	 JRST $47
	MOVE 4,2(11)
	CAME 4,-2(17)
	 JRST $47
	MOVE 5,5(11)
	CAMN 5,-1(17)
	 SKIPE 10,-4(17)
	 JRST $47
	MOVE 6,1(11)
	CAIL 6,33
	 JRST $59
	CAIE 6,27
	 CAIN 6,5
	 JRST $58
	CAIN 6,2
	 JRST $58
	JRST $47
$59==.
	MOVM 3,6
	ANDI 3,7
	CAME 6,$60(3)
	 JRST $47
	JRST @$61(3)
$60==.
	 -1
	 51
	 52
	 33
	 -1
	 -1
	 -1
	 127
$61==.
	IFIW $47
	IFIW $58
	IFIW $58
	IFIW $58
	IFIW $47
	IFIW $47
	IFIW $47
	IFIW $58
$58==.
	MOVE 4,-1(17)
	MOVE 7,-3(17)
	MOVEM 4,2(7)
	MOVE 6,-2(17)
	MOVEM 6,5(7)
	MOVEI 1,1
	POPJ 17,
$47==.
	MOVE 5,-3(17)
	MOVE 6,2(5)
	CAMN 6,-1(17)
	 TDZA 1,1
	 TRNA 
	 POPJ 17,
	CAME 6,-2(17)
	 JRST %CREGB
	PUSH 17,-5(17)
	PUSH 17,-5(17)
	PUSH 17,5
	PUSH 17,6
	PUSH 17,-5(17)
	PUSHJ 17,%CREGB
	ADJSP 17,-5
	JUMPN 1,$64
	CAME 1,-4(17)
	 JRST $65
	PUSH 17,-3(17)
	PUSH 17,-3(17)
	PUSH 17,-3(17)
	PUSHJ 17,%CRADD
	ADJSP 17,-3
	JRST $66
$65==.
	SETZ 1,
$66==.
	POPJ 17,
$64==.
	MOVE 4,-1(17)
	MOVE 5,-3(17)
	MOVEM 4,2(5)
	MOVEI 1,1
	POPJ 17,
$48==.
	MOVE 7,-3(17)
	MOVE 4,2(7)
	CAMN 4,-1(17)
	 JRST $68
	SUB 4,-1(17)
	AOJE 4,$68
	MOVE 5,2(7)
	CAMN 5,-2(17)
	 JRST $68
	SUB 5,-2(17)
	AOJN 5,$67
$68==.
	SETZ 1,
	POPJ 17,
$67==.
	JRST %CREGB
$49==.
	PUSH 17,[$$BP90+$$SECT,,$69]
	PUSHJ 17,INT.ER
	ADJSP 17,-1
$50==.
	SETZ 1,
	POPJ 17,
$69==.
	BYTE	(9) 143,162,145,147
	BYTE	(9) 72,40,142,141
	BYTE	(9) 144,40,120,122
	BYTE	(9) 103,137,40,166
	BYTE	(9) 141,154,0
	

%CREGO:
	SKIPN 1,-1(17)
	 POPJ 17,
	MOVE 3,1(1)
	ANDI 3,377
	MOVE 4,POPPRC(3)
	CAIE 4,2
	 JRST $71
	MOVE 7,2(1)
	CAME 7,-2(17)
	 JRST $71
	PUSH 17,7
	PUSH 17,1
	PUSHJ 17,RINADD
	ADJSP 17,-2
	JUMPN 1,$71
	MOVEI 1,1
	POPJ 17,
$71==.
	JRST DROPSO
%CREGB:
	MOVE 4,-1(17)
	CAMN 4,-2(17)
	 SKIPA 1,[1]
	 TRNA 
	 POPJ 17,
	SKIPN 6,%UPTOL
	 JRST $73
	PUSH 17,6
	PUSH 17,-4(17)
	PUSHJ 17,%JUMPL
	MOVE 3,-1(17)
	ADJSP 17,-2
	CAMN 1,3
	 JRST %CROSS
$73==.
	MOVE 4,-2(17)
	SOJN 4,$74
	PUSH 17,-3(17)
	PUSHJ 17,DROPSO
	ADJSP 17,-1
	JUMPE 1,$74
	SETZ 1,
	POPJ 17,
$74==.
	MOVE 4,-3(17)
	MOVE 3,0(4)
	ANDI 3,17
	CAILE 3,0
	 CAIL 3,13
	 JRST $78
	JRST @$79*1-1(3)
$79==.
	IFIW $75
	IFIW $76
	IFIW $77
	IFIW $77
	IFIW $75
	IFIW $75
	IFIW $75
	IFIW $75
	IFIW $75
	IFIW $75
$76==.
	MOVE 11,-3(17)
	MOVE 3,1(11)
	CAIE 3,67
	 JRST $80
	MOVE 5,5(11)
	CAMN 5,-1(17)
	 TDZA 1,1
	 TRNA 
	 POPJ 17,
	CAME 5,-2(17)
	 JRST $80
	SKIPE 6,-4(17)
	 TDZA 1,1
	 SKIPA 10,-1(17)
	 POPJ 17,
	MOVEM 10,5(11)
	MOVEI 1,1
	POPJ 17,
$80==.
	MOVE 4,-3(17)
	MOVE 3,1(4)
	ANDI 3,377
	SKIPLE 5,POPPRC(3)
	 CAIL 5,13
	 JRST $85
	JRST @$86*1-1(5)
$86==.
	IFIW $83
	IFIW $83
	IFIW $85
	IFIW $83
	IFIW $84
	IFIW $84
	IFIW $84
	IFIW $83
	IFIW $84
	IFIW $83
$84==.
	MOVE 7,-3(17)
	MOVE 4,5(7)
	CAMN 4,-2(17)
	 JRST $85
	SUB 4,-2(17)
	AOJE 4,$85
	MOVE 5,5(7)
	CAMN 5,-1(17)
	 JRST $85
	SUB 5,-1(17)
	AOJN 5,$83
$85==.
	SETZ 1,
	POPJ 17,
$83==.
	MOVE 5,-3(17)
	MOVE 4,5(5)
	CAMN 4,-1(17)
	 TDZA 1,1
	 TRNA 
	 POPJ 17,
	CAME 4,-2(17)
	 JRST $75
	PUSH 17,-5(17)
	PUSH 17,-5(17)
	PUSH 17,5
	PUSHJ 17,BEFORE
	MOVEM 1,0(17)
	PUSH 17,-5(17)
	PUSH 17,-5(17)
	PUSHJ 17,%CREG
	ADJSP 17,-5
	CAIN 1,0
	 POPJ 17,
	MOVE 4,-1(17)
	MOVE 5,-3(17)
	MOVEM 4,5(5)
	MOVEI 1,1
	POPJ 17,
$77==.
	MOVE 5,-3(17)
	MOVE 4,5(5)
	CAMN 4,-1(17)
	 TDZA 1,1
	 TRNA 
	 POPJ 17,
	CAME 4,-2(17)
	 JRST $75
	PUSH 17,-5(17)
	PUSH 17,-5(17)
	PUSH 17,5
	PUSHJ 17,BEFORE
	MOVEM 1,0(17)
	PUSH 17,-5(17)
	PUSH 17,-5(17)
	PUSHJ 17,%CREG
	ADJSP 17,-5
	CAIN 1,0
	 POPJ 17,
	MOVE 4,-1(17)
	MOVE 5,-3(17)
	MOVEM 4,5(5)
	MOVEI 1,1
	POPJ 17,
$78==.
	PUSH 17,[$$BP90+$$SECT,,$91]
	PUSHJ 17,INT.ER
	SETZ 1,
	ADJSP 17,-1
	POPJ 17,
$75==.
	PUSH 17,-3(17)
	PUSHJ 17,BEFORE
	MOVEM 1,-4(17)
	ADJSP 17,-1
	JRST %CREG
$91==.
	BYTE	(9) 143,162,145,147
	BYTE	(9) 142,145,146,157
	BYTE	(9) 162,145,72,40
	BYTE	(9) 142,141,144,40
	BYTE	(9) 120,164,171,160
	BYTE	(9) 145,0
	

%CRADD:
	MOVE 6,-3(17)
	MOVE 3,0(6)
	CAIN 3,26
	 SKIPA 4,4(6)
	 TRNA 
	 SOJE 4,$92
	SETZ 1,
	POPJ 17,
$92==.
	MOVE 7,-3(17)
	MOVE 3,1(7)
	CAIN 3,105
	 JRST $96
	CAIE 3,2
	 JRST $97
	MOVEI 5,7
	MOVEM 5,1(7)
	JRST $94
$96==.
	MOVEI 3,104
	MOVE 5,-3(17)
	MOVEM 3,1(5)
	JRST $94
$97==.
	SETZ 1,
	POPJ 17,
$94==.
	MOVEI 3,2
	MOVE 10,-3(17)
	MOVEM 3,0(10)
	MOVE 6,-1(17)
	MOVEM 6,2(10)
	MOVE 5,-2(17)
	MOVEM 5,5(10)
	MOVEI 1,1
	POPJ 17,
RBREF:
	PUSH 17,-1(17)
	PUSHJ 17,%RVSSE
	MOVE 1,%RVREA
	SETCM 5,%RVWRI
	AND 1,5
	ADJSP 17,-1
	POPJ 17,
RBSET:
	PUSH 17,-1(17)
	PUSHJ 17,%RVSSE
	MOVE 1,%RVWRI
	SETCM 5,%RVREA
	AND 1,5
	ADJSP 17,-1
	POPJ 17,
RBMOD:
	PUSH 17,-1(17)
	PUSHJ 17,%RVSSE
	MOVE 1,%RVREA
	AND 1,%RVWRI
	ADJSP 17,-1
	POPJ 17,
RBUSE:
	PUSH 17,-1(17)
	PUSHJ 17,%RVSSE
	MOVE 1,%RVREA
	ADJSP 17,-1
	POPJ 17,
RBCHG:
	PUSH 17,-1(17)
	PUSHJ 17,%RVSSE
	MOVE 1,%RVWRI
	ADJSP 17,-1
	POPJ 17,
RBIN:
	PUSH 17,-1(17)
	PUSHJ 17,%RVSSE
	MOVE 1,%RVREA
	IOR 1,%RVWRI
	ADJSP 17,-1
	POPJ 17,

	%%DATA
$98:	BLOCK 1

	%%CODE
%RVSSE:
	SETZB 3,%RVWRI
	MOVEM 3,%RVREA
	MOVE 5,-1(17)
	MOVE 4,1(5)
	ANDI 4,377
	SKIPLE 6,POPPRC(4)
	 CAIL 6,14
	 JRST $107
	JRST @$108*1-1(6)
$108==.
	IFIW $100
	IFIW $101
	IFIW $101
	IFIW $102
	IFIW $102
	IFIW $103
	IFIW $104
	IFIW $104
	IFIW $105
	IFIW $105
	IFIW $106
$100==.
	XMOVEI 4,RBITS
	MOVE 5,-1(17)
	ADD 4,2(5)
	MOVE 3,0(4)
	MOVEM 3,%RVREA
	JRST $99
$101==.
	XMOVEI 4,RBITS
	MOVE 5,-1(17)
	ADD 4,2(5)
	MOVE 3,0(4)
	MOVEM 3,%RVWRI
	JRST $99
$102==.
	XMOVEI 4,RBITS
	MOVE 5,-1(17)
	ADD 4,2(5)
	MOVE 3,0(4)
	MOVEM 3,%RVWRI
	MOVEM 3,%RVREA
	JRST $99
$103==.
	XMOVEI 4,DRBITS
	MOVE 5,-1(17)
	ADD 4,2(5)
	MOVE 3,0(4)
	MOVEM 3,%RVREA
	JRST $99
$104==.
	XMOVEI 4,DRBITS
	MOVE 5,-1(17)
	ADD 4,2(5)
	MOVE 3,0(4)
	MOVEM 3,%RVWRI
	JRST $99
$105==.
	XMOVEI 4,DRBITS
	MOVE 5,-1(17)
	ADD 4,2(5)
	MOVE 3,0(4)
	MOVEM 3,%RVWRI
	MOVEM 3,%RVREA
	JRST $99
$106==.
	MOVE 7,-1(17)
	MOVE 3,1(7)
	CAIE 3,73
	 JRST $109
	MOVE 5,2(7)
	MOVE 10,RBITS(5)
	MOVEM 10,%RVREA
	SETCM 10,10
	MOVEM 10,%RVWRI
	JRST $99
$109==.
	SETOB 3,%RVWRI
	MOVEM 3,%RVREA
	JRST $99
$107==.
	PUSH 17,[$$BP90+$$SECT,,$110]
	PUSHJ 17,INT.ER
	ADJSP 17,-1
$99==.
	MOVE 4,-1(17)
	MOVE 3,0(4)
	ANDI 3,17
	CAILE 3,0
	 CAIL 3,13
	 JRST $114
	JRST @$116*1-1(3)
$116==.
	IFIW $115
	IFIW $112
	IFIW $113
	IFIW $113
	IFIW $115
	IFIW $115
	IFIW $115
	IFIW $115
	IFIW $115
	IFIW $115
$112==.
	MOVE 6,-1(17)
	MOVE 10,5(6)
	MOVEM 10,$98
	MOVE 4,1(6)
	CAIE 4,24
	 JRST $111
	MOVE 7,RBITS(10)
	IORB 7,%RVREA
	POPJ 17,
$113==.
	MOVE 7,-1(17)
	SKIPN 4,5(7)
	 JRST $118
	MOVE 6,RBITS(4)
	IORB 6,%RVREA
	JRST $117
$118==.
	MOVE 7,-1(17)
	SKIPN 5,3(7)
	 CAMLE 5,4(7)
	 JRST $117
	MOVE 4,4(7)
	CAIL 4,20
	 JRST $117
	MOVEM 4,$98
	JRST $111
$117==.
	POPJ 17,
$114==.
	PUSH 17,[$$BP90+$$SECT,,$119]
	PUSHJ 17,INT.ER
	ADJSP 17,-1
$115==.
	POPJ 17,
$111==.
	MOVE 4,-1(17)
	MOVE 3,1(4)
	ANDI 3,377
	MOVE 5,POPPRC(3)
	CAIL 5,3
	 CAIL 5,12
	 JRST $122
	JRST @$123*1-3(5)
$123==.
	IFIW $121
	IFIW $122
	IFIW $121
	IFIW $122
	IFIW $121
	IFIW $122
	IFIW $121
$121==.
	MOVE 3,$98
	MOVE 6,DRBITS(3)
	IORB 6,%RVREA
	JRST $120
$122==.
	MOVE 3,$98
	MOVE 6,RBITS(3)
	IORB 6,%RVREA
$120==.
	MOVE 7,-1(17)
	MOVE 3,1(7)
	ANDI 3,377
	MOVE 5,POPFLG(3)
	TRNE 5,1
	 JRST $125
	MOVE 4,1(7)
	TRNN 4,10000
	 JRST $124
$125==.
	MOVE 4,-1(17)
	MOVE 3,1(4)
	ANDI 3,377
	CAIE 3,22
	 JRST $126
	MOVE 5,$98
	MOVE 1,DRBITS(5)
	JRST $127
$126==.
	MOVE 3,$98
	MOVE 1,RBITS(3)
$127==.
	IORB 1,%RVWRI
$124==.
	POPJ 17,
$119==.
	BYTE	(9) 162,142,151,164
	BYTE	(9) 163,145,164,72
	BYTE	(9) 40,142,141,144
	BYTE	(9) 40,141,144,162
	BYTE	(9) 155,157,144,145
	BYTE	(9) 0
	

$110==.
	BYTE	(9) 162,142,151,164
	BYTE	(9) 163,145,164,72
	BYTE	(9) 40,142,141,144
	BYTE	(9) 40,162,143,150
	BYTE	(9) 141,156,147,145
	BYTE	(9) 0
	

RBINCO:
	PUSH 17,-1(17)
	PUSHJ 17,RBINAD
	MOVEM 1,0(17)
	PUSH 17,-2(17)
	PUSHJ 17,RBINRE
	IOR 1,-1(17)
	ADJSP 17,-2
	POPJ 17,
RBINRE:
	MOVE 4,-1(17)
	MOVE 3,1(4)
	ANDI 3,377
	SKIPLE 5,POPPRC(3)
	 CAIL 5,14
	 JRST $131
	JRST @$133*1-1(5)
$133==.
	IFIW $129
	IFIW $129
	IFIW $131
	IFIW $129
	IFIW $129
	IFIW $130
	IFIW $130
	IFIW $130
	IFIW $130
	IFIW $130
	IFIW $132
$129==.
	XMOVEI 4,RBITS
	MOVE 5,-1(17)
	ADD 4,2(5)
	MOVE 1,0(4)
	POPJ 17,
$130==.
	XMOVEI 4,DRBITS
	MOVE 5,-1(17)
	ADD 4,2(5)
	MOVE 1,0(4)
	POPJ 17,
$131==.
	PUSH 17,[$$BP90+$$SECT,,$134]
	PUSHJ 17,INT.ER
	ADJSP 17,-1
$132==.
	SETO 1,
	POPJ 17,
$134==.
	BYTE	(9) 162,142,151,156
	BYTE	(9) 162,145,147,72
	BYTE	(9) 40,142,141,144
	BYTE	(9) 40,162,143,150
	BYTE	(9) 141,156,147,145
	BYTE	(9) 0
	

%RBINM:
	MOVE 4,-1(17)
	MOVE 3,1(4)
	ANDI 3,377
	SKIPLE 5,POPPRC(3)
	 CAIL 5,14
	 JRST $138
	JRST @$140*1-1(5)
$140==.
	IFIW $136
	IFIW $136
	IFIW $138
	IFIW $136
	IFIW $137
	IFIW $137
	IFIW $137
	IFIW $136
	IFIW $137
	IFIW $136
	IFIW $139
$136==.
	MOVE 3,-2(17)
	MOVE 1,RBITS(3)
	POPJ 17,
$137==.
	MOVE 3,-2(17)
	MOVE 1,DRBITS(3)
	POPJ 17,
$138==.
	PUSH 17,[$$BP90+$$SECT,,$141]
	PUSHJ 17,INT.ER
	ADJSP 17,-1
$139==.
	SETO 1,
	POPJ 17,
$141==.
	BYTE	(9) 162,142,151,156
	BYTE	(9) 155,145,155,72
	BYTE	(9) 40,142,141,144
	BYTE	(9) 40,162,143,150
	BYTE	(9) 141,156,147,145
	BYTE	(9) 0
	

RBINAD:
	MOVE 4,-1(17)
	MOVE 3,0(4)
	ANDI 3,17
	CAILE 3,0
	 CAIL 3,13
	 JRST $146
	JRST @$147*1-1(3)
$147==.
	IFIW $145
	IFIW $143
	IFIW $144
	IFIW $144
	IFIW $145
	IFIW $145
	IFIW $145
	IFIW $145
	IFIW $145
	IFIW $145
$143==.
	MOVE 5,-1(17)
	PUSH 17,5(5)
	PUSH 17,5
	PUSHJ 17,%RBINM
	ADJSP 17,-2
	POPJ 17,
$144==.
	MOVE 7,-1(17)
	SKIPE 4,5(7)
	 SKIPA 1,RBITS(4)
	 TRNA 
	 POPJ 17,
	SKIPN 6,3(7)
	 CAMLE 6,4(7)
	 JRST $145
	MOVE 5,4(7)
	CAIL 5,20
	 JRST $145
	PUSH 17,5
	PUSH 17,7
	PUSHJ 17,%RBINM
	ADJSP 17,-2
	POPJ 17,
$145==.
	SETZ 1,
	POPJ 17,
$146==.
	PUSH 17,[$$BP90+$$SECT,,$149]
	PUSHJ 17,INT.ER
	SETO 1,
	ADJSP 17,-1
	POPJ 17,
$149==.
	BYTE	(9) 162,142,151,156
	BYTE	(9) 141,144,144,162
	BYTE	(9) 72,40,142,141
	BYTE	(9) 144,40,141,144
	BYTE	(9) 162,155,157,144
	BYTE	(9) 145,0
	

RRREF:
	PUSH 17,-1(17)
	PUSHJ 17,%RVSSE
	MOVE 1,%RVREA
	SETCM 5,%RVWRI
	AND 1,5
	MOVE 3,-3(17)
	AND 1,RBITS(3)
	ADJSP 17,-1
	POPJ 17,
RRSET:
	PUSH 17,-1(17)
	PUSHJ 17,%RVSSE
	MOVE 1,%RVWRI
	SETCM 5,%RVREA
	AND 1,5
	MOVE 3,-3(17)
	AND 1,RBITS(3)
	ADJSP 17,-1
	POPJ 17,
RRMOD:
	PUSH 17,-1(17)
	PUSHJ 17,%RVSSE
	MOVE 1,%RVREA
	AND 1,%RVWRI
	MOVE 3,-3(17)
	AND 1,RBITS(3)
	ADJSP 17,-1
	POPJ 17,
RRUSE:
	PUSH 17,-1(17)
	PUSHJ 17,%RVSSE
	MOVE 1,%RVREA
	MOVE 3,-3(17)
	AND 1,RBITS(3)
	ADJSP 17,-1
	POPJ 17,
RRCHG:
	PUSH 17,-1(17)
	PUSHJ 17,%RVSSE
	MOVE 1,%RVWRI
	MOVE 3,-3(17)
	AND 1,RBITS(3)
	ADJSP 17,-1
	POPJ 17,
RRIN:
	PUSH 17,-1(17)
	PUSHJ 17,%RVSSE
	MOVE 1,%RVREA
	IOR 1,%RVWRI
	MOVE 3,-3(17)
	AND 1,RBITS(3)
	ADJSP 17,-1
	POPJ 17,
RINCOD:
	PUSH 17,-2(17)
	PUSH 17,-2(17)
	PUSHJ 17,RINREG
	ADJSP 17,-2
	JUMPN 1,$151
	PUSH 17,-2(17)
	PUSH 17,-2(17)
	PUSHJ 17,RINADD
	ADJSP 17,-2
	CAIE 1,0
$151==.
	 SKIPA 1,[1]
	 SETZ 1,
	POPJ 17,
RINADD:
	PUSH 17,-1(17)
	PUSHJ 17,RBINAD
	MOVE 3,-3(17)
	AND 1,RBITS(3)
	ADJSP 17,-1
	POPJ 17,
RINREG:
	MOVE 4,-1(17)
	MOVE 3,1(4)
	ANDI 3,377
	SKIPLE 5,POPPRC(3)
	 CAIL 5,14
	 JRST $155
	JRST @$157*1-1(5)
$157==.
	IFIW $153
	IFIW $153
	IFIW $155
	IFIW $153
	IFIW $153
	IFIW $154
	IFIW $154
	IFIW $154
	IFIW $154
	IFIW $154
	IFIW $156
$153==.
	MOVE 4,-1(17)
	MOVE 3,2(4)
	CAME 3,-2(17)
	 JRST $152
	MOVEI 1,1
	POPJ 17,
$154==.
	MOVE 6,-1(17)
	MOVE 4,2(6)
	CAMN 4,-2(17)
	 SKIPA 1,[2]
	 TRNA 
	 POPJ 17,
	SUB 4,-2(17)
	AOJN 4,$152
	MOVEI 1,3
	POPJ 17,
$155==.
	PUSH 17,[$$BP90+$$SECT,,$159]
	PUSHJ 17,INT.ER
	ADJSP 17,-1
$156==.
	MOVEI 1,4
	POPJ 17,
$152==.
	SETZ 1,
	POPJ 17,
$159==.
	BYTE	(9) 162,151,156,162
	BYTE	(9) 145,147,72,40
	BYTE	(9) 142,141,144,40
	BYTE	(9) 162,143,150,141
	BYTE	(9) 156,147,145,0
	


	%%DATA
%RVREA:	BLOCK 1
%RVWRI:	BLOCK 1


	%%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
	INTERN	RBREF
	INTERN	RBSET
	INTERN	RBMOD
	INTERN	RBUSE
	INTERN	RBCHG
	INTERN	RBIN
	INTERN	RRREF
	INTERN	RRSET
	INTERN	RRMOD
	INTERN	RRUSE
	INTERN	RRCHG
	INTERN	RRIN
	INTERN	RBINCO
	INTERN	RBINRE
	INTERN	RBINAD
	INTERN	RINCOD
	INTERN	RINREG
	INTERN	RINADD
	INTERN	RBITS
	INTERN	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
	INTERN	CHANGE
	INTERN	UFCREG
	INTERN	CREGUP
	INTERN	PUSHNE
	INTERN	PNEGRE
	EXTERN	BEFORE
	EXTERN	AFTER
	EXTERN	DROPIN
	EXTERN	DROPSO
	EXTERN	UNSKIP
	END