
FORTRAN II - TAPE 4 FORMAT ETC.

/PUNCH JUMPS AROUND NON-EXECUTABLE STATEMENTS

FIODEC

XSTAT,	LAC #XVAR
	SNA
	JMP XSTATN
	LAC XVAR
	PUNADG
	DZM XVAR
XSTATN,	XCT XSTATW
	SKP
	JMP XSTATQ
	XCT SWITCH
	SKP
	JMP XSTATO
	LAW XSTATM-1
	PUNSTR
	CLL!CLC
	660000		/SIGN TO LINK IF EAE
	LAW NARMES-1
	SZL
	LAW EARMES-1
	PUNSTR
	LAW XSTATP-1
	XCT WSIZE
	SKP
	PUNSTR
XSTATO,	LAC (SKP
	DAC XSTATW
	JMP XSTATQ

NXSTAT,	LAC XVAR
	SZA
	JMP XSTATQ
	GENSYM
	DAC XVAR
	PUNJMP

XSTATQ,	LAC STATNI
	SMA!CMA
	EXIT
	DAC STATNI
	PUNPER
	LAC STNUM
	DECPUN
	JMP PUNCOM

XSTATF,	XSTAT
	JMP SETFIX

XSTATM,	TEXT .	CALST
.
XSTATP,	TEXT .	SET2W
.
NARMES,	TEXT .	EXTERNAL NARITH
	JMS NARITH
.
EARMES,	TEXT .	EXTERNAL EARITH
	JMS EARITH
.

/CODING FOR FORMAT STATEMENT

FORMAT,	NXSTAT
	CHKLPR
	DZM FORMPC
FORMLP,	CLC
	TAD FORMPC
	DAC FOR#MPC
	LAC (200000
	DAC FOR#ML	/LEFT TERMINATOR COUNTER

FORM1,	DZM FOR#MD
	GETDEC
	CLA
	DAC F#ORMR
	UNPACK
	JMP FORNUL

FORM2,	SAD (CHAR RH	JMP FORMH
	SAD (CHAR RI	JMP FORMI
	SAD (CHAR RF	JMP FORMF
	SAD (CHAR RE	JMP FORME
	SAD (CHAR RX	JMP FORMX
	SAD (CHAR RA	JMP FORMA
	JMP FORNUL

FORMI,	IDXCHR
	GETDEC
	LAC (10
	DAC FO#RMW
	LAW 1
	JMP FORMF2 1

FORME,	LAW 3
	SKP
FORMF,	LAW 2
	DAC FORMF2
	IDXCHR

FORMF1,	GETDEC
	LAC (20
	DAC FORMW
	LAW CHAR R.
	CHKNXT
	JMP FORMF2
	GETDEC
	LAC (12
	DAC FORMD

FORMF2,	XX
	GATHER
	JMP GATHR2

FORMA,	IDXCHR
	GETDEC
	LAC (1
	DAC FORMW
	LAW 6
	JMP FORMF2 1

/FORMAT - PAGE 2


FORMH,	LAC (SKP
	DAC SPACES
	LAC FORMR
	CMA
	DAC TEM#C

	LAW 5
	GATHR1

	LAW FORMHM-1
	PUNSTR
	DZM SC#ASE
	JMP FORMH3

FORMH1,	UNPACK
	JMP FORMH4
	DAC TEM
	LAC UCASE
	SAD SCASE
	JMP FORMH2
	DAC SCASE
	SNA
	LAC (7200
	RAR6
	PUNCHW
FORMH2,	LAC TEM
	PUNCHW
FORMH3,	IDXCHR
	ISZ TEMC
	JMP FORMH1

FORMH4,	LAC SCASE
	SNA
	JMP . 3
	LAC (72
	PUNCHW
	PUNCRR
	LAC (NOP
	DAC SPACES
	LAC UPAKCH	/FLUSH SPACES
	CAL UPAK2
	UNPACK
	JMP GATHR2
	CHRTYP
	JMP FORMCM
	JMP FORMCM
	JMP GATHR2

FORMHM,	TEXT .	TEXT 
.

/FORMAT - PAGE 3

FORMSL,	LAC (400000
	JMP FORM1-1

FORMCM,	DZM FORML
	JMP FORM1

FORMRP,	ISZ FORMPC
	JMP FORMCM
	PUNTAB
	LAC (600000
	DAC COMMON
	JMP PUNDCC

/COMBINE THE FORMAT SPECS INTO ONE WORD AND OUTPUT

GATHER,	DAC TEM
	LAC FORMR
	CLL
	AND (17
	RAL4
	LAC FORMD
	AND (17
	ADD PAC
	RAL5
	LAC FORMW
	AND (37
	ADD PAC
	DAC FORMR
	LAC TEM

GATHR1,	RAR6
	AND (160000
	ADD FORML
	ADD FORMR
	DAC TEM
	PUNTAB
	LAC TEM
	JMP PUNDCC

FORNUL,	CLA
	GATHR1
	JMP GATHR2
FORMX,	LAW 4
	GATHR1
	IDXCHR
GATHR2,	UNPACK
	CLA
	IDXCHR
	SAD (CHAR R,	JMP FORMCM
	SAD (CHAR R/	JMP FORMSL
	SAD (CHAR R)	JMP FORMRP
	SAD (CHAR R(	JMP FORMLP
	HELP 1302
	JMP FORMRP 2

START
