COMMON_Proceedings_of_the_Chicago_Meeting_196604 COMMON Proceedings Of The Chicago Meeting 196604

COMMON_Proceedings_of_the_Chicago_Meeting_196604 COMMON_Proceedings_of_the_Chicago_Meeting_196604

User Manual: COMMON_Proceedings_of_the_Chicago_Meeting_196604

Open the PDF directly: View PDF PDF.
Page Count: 807

DownloadCOMMON_Proceedings_of_the_Chicago_Meeting_196604 COMMON Proceedings Of The Chicago Meeting 196604
Open PDF In BrowserView PDF
COMMON
Proceedings of the Chicago Meeting
April 8-10, 1968
Pick Congress Hotel

<.

TABLE OF CONTENTS
Date
April 8

11
11
'I

f1

11

11

()
11
11
11

11

11

11

It

11

April 9
11

11

1
1
1
1
5

J Gordon
R. w. Page

6
17
23

A) Experimental IBM 1620/
Donner 10 - 20 Hybrid System
for Engineering Education

P.A. McCollum

37

B) Subroutines for Set and Group
Mani pulation
S/360-DOS (BTAM and QTAM)
1800 -360 Communications
1620 Papers

G. Weingart

13

D. Mueller
W. Barnes
L. Hoffman, P. Jutsum,
J. Powell, R. Larne
W. C. Gray
W. F. Burggrabe
E. D. Fitzpatrick

64
41
55

A) Full FORTRAN under DOS

G. Kaplan

12

B) FORTRAN Alter System
Solution of Large Simultaneous

O. Bufe, A. G. McKee
S. R. Phansalker

8
10

G. F. Schoditsch
W. B. Garrison
T. Candy

1
7
51

B) OS/360 Linkage Editor
Use of CRT on 1800
22601/0 Operation for 1800
using TSX

11

9

R.D. Pollit

B. Ferguson

A) OS/360 Data Management

11

.'

A) Green words in FORTRAN
B) OS/DOS Data Compatibility
1800 Sound Off/Update
1620 Project
1130 Monitor Version II
360/20 Organizational Meeting

11

Pages

Speaker

Topic

1130 Users Experience Panel
What a University Computing
Facility expects from OS/360

1130 Sound Off
OS/360 Languages
1800 MPX Tutorial

11
0

1
5

1

J. Horn

A) Version 3 of CSP

·1
====Z&&&J=;:=:n:&Qr.::.MIlt"

,A,· '~'"
1',

"'"

':S ..U 'o,4",.£n ,SZIt, "' "" "'
".
I 'La 't!l ~::'
9 v {!''-"Q~
0

ft1-';:r,,')

RECOGNI~rIOf~

. S D

Lj

· DIREc~r ACCESS SPACE

MANAGEftAEN'T'

C

c;'

(.:~'
C·L..·!'...~

(("f)

>

['".it
...
~.)...1

c::.r

(C]
;.,.~:..

("

c::"

.. '

c~~!

t,f1;J

( ..;)

r~~
~~?
.. ;,

:~~~j

(l')

(;9

LiP
"..:.. •..:,:a

(~

V=l~J
en
~
l>-4.
t~....J.ft:::··

Cs:.:

~~J
~~~

~.:::lJ

c::Q:

;;';;~
C',"t"at;

"-~~

C;;:."::~

C)
tn 5

t,'1.J

...

(J)

£:;£,".3

~.c;:.• •

;:i~
t~;~

:;.::)

,~U

t~.::§
€Jt~

C~'
~

..;-:9

t,!l~B

t·::·:~.,

c::;.. .",
e;:""~

t~
' ... J)

f J

tf1·9

1\

c:~:~
~:~:-;~
c.:-::;.-,')

C:t:'

f:
.,. :J:!>

t • .-..

,'3

C·;:~

: .. :.::

c:

t. ...

.:)

>,:>

:'e)
c.::

-";)

~.'~:'!

c.

i .• , )
C'

("

cmz_.::.1

(~:~~

r'~
v,:'.:-:-':lJ
~~:,..

L·:,.;.'.

r

»",

~o

("-1!
(}

~l-. ..W

c

tt

"

;)

~

C:-.\

"',=:';'''1

f".f1,J

e"-""~

t:.;,~

":~~."",t:l"""~;r:.l'!,~;,~",,,,,;.~e:=~~JI;ilri!,,.;r..,",,,~'lI;.~;::'~,

~~·v=>~·~:~_J
l:'}

r~~"~?J:.?liI>.:5..;"'r?''''"':ffi:::.;r..'.;;;:;.A~.r:;.,.~:".,( ,¥;::,=::C":,':"'~':"""~·;;~~=!(!;'1: ;;"J;.'i'.-''\-:-='::_:<::':~~:'';'

•

o

&&&1lL ....

o

o

Q
LINf(AGE EDITORP'RO-~·Slr~G­
fv10DULE Llf\JKAGE

SOURCE
PROGRAM

SOURCE
PROGRAM

SOURCE
PROGRAM

LANGUAGE
TRANSLATOR

LANGUAGE
TRANSLATOR

o

........
0\
U"

08 'I='rT I
MODULE I
v~v,

OBJECT
MODULE

LAr~GUAGE

OBJECT

TRANSLATOR

MODULE

I

~

LINKAGE

LOAD

CONTROL

EDITOR

MODULE

PROGRAM

MAIN

STORAGE

I

'WH"wmm'arnw . ·. rwr·

.

'lI"g,

cos LINKAGE
EDI-=rOR
LOAD MODULES

• E)( E C u'r A B L E
C

• PUT....

I .~..
T' 0
p' R'~
A ~~f'
fe
'\ ua V
.' ~+.
u ~
&\,,1'0.

LIBRARY
• A T T f~1 B U ""f E S

LOAD ABL.E

•
_;.,i,,-

/

I

()

.

.

SESSION REPORT

o

COMMON - Chicago

Session Number

MON C2
----------------------

Chairman

R. W. Page

Time

1.30 PM

----~~~~~------------------

Speakers

Session Name Use of CRT on 1800

Attendance (No.)

100

--~~----------

Jerry Gorden - Indiana University
R. W. Page - New York State Electric & Gas Corp.

o
Synopsis of Meeting The application of 2260 Display Stations was ex-

plained.

Mr. Gordon presented a specialized routine to handle ltmited

conversation mode exchanges between various research "students" .sing
the 2260 Display Unit.

His paper also outlines in detail the CCW, CSW.

loee and XlO formats used in 1800-2260 programming.
Mr. Page presented a generalized routine for handling 2260 on an
1800 system.

•

This routine allows the user to fully use all the capa-

bilities of the display units.

A handout described the routine, i_ts____

logie, use, and actual coding.

Several slides were shown to indicate

actual Operation and applications.

!llIIIIMiJAYltk, "~,,,

····1

CONTENTS

I.

II •
III.

Indiana,University Psychology Dept., 2848/2260

Confi~~ration

Composite of Commands, Instructions and Status \vords

Flowcharts of Interrupt Servicing Routine and
I/O Routine (Simplified)

tvrite/l~rase

Compliments of J. L. Gordon
Indiana Uni versi ty
Psychology Dept.
Bloomington, Indiana

o

._. _. -._. . -. _._. -.. -.----". .- - . . .
I

-_._.--t

1801 PROCESSOR/CONTROLIER
.1
,16K CORE-~EC-12 INTERRUPT lEVEIS \
,

.,:-~~--.. ;-......... - .- - - - - i

- . - .--

.

I
_ _ ~___L__ ._.. "j
CHA. NNEL
I'. .DA.TA
ADAP:TER

.. .

r'--

I

.

I

o
f

1

r.~ 2260

;

; - -.. ~

•

1fi&&tffiJ .._.•1

.-~~~~------~-----------.-,--.-.....".-.,-~=

';
I

Fig. 2

XIO AND IOCC INSTRUCTIONS

no

o

(First Word)

1

0

---

Ioce

2

'3

5

...

F

-

0] COtE
0

4

6

7
,!~G

e
IA

9

10

----

11

12

11

14 15

-Execute I/O
-Specifies one or two word IIO instruction
- Speoifies register for address modifioation (0-3)
-Indirect Addressing option

Code

.....

M( DIFJ ~

(First Word)

EA
Address

Ie co
,,",

v

EA & 1

-

.2!.~

- Address of first word of CCW if the Function
Code specifies start I/O.

(Seoond Word)
1

2

'3

-- _

.... -...-.

AB EA

5

4

---

6

FU~ 8t.t°~

1

8

-

9

10

11

12

MO OIFD JiS

1'3

~2 348 JDmE ~S~ ~2 e60

14

15

--

J ~DRE ~S~

Area
Selector Channel area code.
F\i'ii'Ction- (011) Sense intf}rrupt level specified by modifiers.
£29!
(100) Halt 1/0 on Selector Channel addressed by Area.
(101) start r/o on 2260· speoified by modifiers.
(111) Sense Selector Channel status. Modifier bits
13 and 14 determine which of the four words to select.
Bit 15 when on resets all status except status pending.
bit.
Modifiers- Bits 8-11 speoifies 2848 address.
-'.
Bits 12-15 specifies 2260 address.

4[)

Fig. 3-1

C

CHANNEL COMMAND WORDS (CCW)
l

"

BYTE

COUNT (First Word)

1

0

-

,2

3

4

5

7

8

9

10

11

12

11

14

15

-..

B' TEe PUNT

~

~

6

Count - The number of 8 bit data bytes ill
r/o data area addressed in the third word of CCW.

FLAGS AND COMMAND CODE (Second Word)
, - - ' - - - ,--'--'

0

1

D
C

C
C

- ,--,-._-

,----

2

'3

-- ~-r '-~

4

5

~ ---

I
Flags - (See Fig. }-2)
Command - (See Fig. 3-2)

6
NO'
USE.D

7

8

- -..

9

10

11

, C( MMAN J)

12

1'3

CO DE

14

I
)5

--

-..
...-,-- ....'----

~

o

•
--,

-

FLAGS AND COMMAND CODE WORD (Second Word) of eel-.
9
1~-1---~---~-~-1--~--~-14

~~~~~~~~~~~~~~-.-_~I-_-5~~1~-6~~-7~-r--;--1--

o

1

1

2

~ ~!

H;1

H~

S~

~

~&1

~~
~o

t3(1)

~t;-t

c+.:o

(I)

til

"0
(1)
CD· t1

o a:o

0

I

0asoo
CD
~
.....

(1). C+O
~
c+

0

Sb

ts t-i I
(1)

~

(+

::.r

(b

0

c+ O"d
~.

C} CD

.:r'" g a:;~c+
::rts c+

1

0

CD::TtT
ts (+(1) '"
.::T ::s
trCDts ts
~

(1)(1)

c+: O"'~.....
C

(IJ
(I)

"d::S

t1s:l- Sb


~g
CD 0

t1
(tlt1

CD (l)
..... 0
CDc+

o

r~
~·ft

o
CIlSb
c+c+
Sb ...,.
c+0

s:: ::s
(I)

a:~

0'"0

'-'''0
p.,t1
-(1)
.

(I)

(IJ
(1)

&:s

::s

s:l-

0

0
0

t-f)

CD

0'

1:-'.
~.

~~.

c+

~ c+

I-'-

.., •

::s

::r

c+ CD

(I)

o

ts

•

~~

Q)

O"'ts
c+t1
Sb

o~

s:l-

0

::SOQ

I-'-C+

::s

0

s:l-

OtT

~§
~~
(1)

S-~

~

~

o

~CD

t1

I·

(I)

o

p

CD

(I)

~
~

'::;S

c+

CD

t1
t1

I

I·'

"'(1)
s::

~----

~

(I)

b·

..a~

t1~
(I)

~

CD

::::s c+

m t1
(J)

o

0

0

CD (J)

o

o

o

I

ADWESS

::rt1

ie

~

='OQ

C

0"'
..... s:lc+~

R¥ t¥UAL ItUT

::s
s::
~

::s
~
Q)

c+

a

i

a:g(J)·SU

(J)

...,.

•

(Se

DS
00

~.

o

•

0

1

0

I

0
J

0

I

:
I

I
0

Fig. ~-3;.

0

,

.

1

I,~

I

0

1
I-zj

0

(I)~

::::s

0

21 60 on
~;~: P:~i:~~e~:e~hfnf!~:t~~~~:~ ~ ~~ :3:

~

(I)

I
.I
I

,

Afite °f;rati.O~ is in: iated ~o the

::s

o

I

l

lOt·
I

0

o

c+

I

!!

~·o

0

1

I/~Data :\~.ea.

f1ITE DS pNE

"OH)

~c+

::s

0

"

~

::s(I)

t1 t1 ,
Sb
c+c+

!

eratio is beg~n to tqe 2260 !peCifi~d
ifier ield oflthe IOqC. Dat will Ue
d from the
spec fied il1
yord 0 the C until lthe byt countJspethe fi st yord ~f the iCCW is ~ecreme ted
;,
I

0

i the Mo
tjanSferr
t e third
c fied in
t zero.

~

op.

~I

I

i

j
1
cified lin
the ~odifiel
.-the-~OCC, leTi PJ pres4Ilt
nel. !
I

0

A frite

o

o

I

o

I

I

A ~ead

~

e~ered

o~.ration

lis init~ated tttranSf~1r ~anu~lly

m ssages and dat~ from
c aracte
displ yed bet een th

c:~~sor
b~e 0

t1
CD

.

~

j:l.

.1.

"'"

,-j

_ _"--_ _

~.

e 2260
All
start ymbol

Wi{r be tr nsferre
d~rementtd
to ze o •

th.e de lice
co t 1S

- _ _ ..l...----_~ ..-

~

0

E DS B FFER S ORAGE

o.
It

(I)

t

rn

0

j:l."O

WR

15

-·-T~---r

I

.1

~~

CDJ)
Ot(JQ

L

~
0 I 0
I'

Sb'"CS

o

-

I

(J)

~

. -

co+wrn COpE

,
;

'
I
.
. \

~

~

NOt USED

I

"d

z:~

::t:

,-..H

l~

rn

~

~~

~

I

!

c;l

~o

o~

~ ~t1 I.
til

tr1~

~~

T

or

d the

un1:1 the

_, 1

o

~
w
I\)

•
o

1

o

~

2]
2.

1 ]

-"-

5_

.1'

6

7

r

1· 9

8

i

10 ~-r--li
;
I

~

,
I"

.!

1
READ

o

W

t

DS lUFFER

10

15

. I

I CTCO~
j~ _____

,

14

11

12
1

I

>1

I.

!
i

I

i

I

Too

--~,--~--~----~----~

i

0

i

1

l.

o

~'l

A ReSioperat'on is
itiatel to trJnster
data
displ ed on he 226 .. .peei led in ~he IOC to the
chann • Tr sfer c tinues until ..err av lable
data
sition i8 tr
ferred or unt$. the
. e eouxft,
is de emente to ze.
,

I

NO 0.101

o .

0

o

o

I
I
!

01

0

1

1

No dai is tr sferrefd. The 2848 C~trol Ufit resijonds
to th
co
d with ~hannel End an~ DeVice, End in ~he
Unit
dress/ nit
Wor ot
CSW.

Stilus

,-.1

ERASE

STO

~

0

I

thl

'

0

0

I
I

1

1

1

All d~a disp~ayed o~ the 22fO spec~ied inlthe IOqC is
erase~ and tht curso~ returntd to t~ first positidn.

I

~

~
•
-tjJ

I\)

n

o
~

e".,_., .,,",-~ .• """~_

.' ~L
.

:.~n_~,~F

,

L_ - - -.....- - - -.......- -__....____-i.____...1____..J
......,..,:'~.J..;

FIRST DATA WORI OF l/e DATA A...-qEA SPECIFYING LINE ADDRESSING

I 11

II
Q

I

2

t

1

'r"

. -..... - .... '.-.~~ ..•..". ... ----: ..•. --,.-'- .... - -...... -~ ...- .•- - - ..

•

i

i

9

fl

! ---1

I

.

.. -

I--r--r"'~-' -T·'~~·-'u~~~'~-_'f.;~ ~-~'T~'-"7""

11

10

j

!
!

1

15

II

.-_.__. . . _._. . . . _-_. -.__. . .
~

'1 .1
f

14

i

i

1

11

:

f!

.

i

1

1
1

1

1

1
1
1

t 1
1
1.1
1
tIl

1

1
..

,

o

n

0
0
0

nv

'"

o·

0

0
1

0

1

·~·

o

o
0

1

o

l.

1
0
0

1

o
1

!

.. ·t

I

!

I
I

T~---

~

i

~~.------~--.-

(Link 1 ) :
•

(Lin~ 2)

(Linb 3)

I

,

I

t

(Lin~ 4)

(Linr 5)
(Lin, 6)

I
'I

tozj

...,-

CJQ

'f
w

I

L

I

I

t

f

I

j

I

(j

j

~

(')

. ·CHANNEL STATUS WORDS (CSW)

UNIT ADDRESS/UNIT STATUS
0

2.° .

1

-- 2 ~4HH

4

'3

~T }Y: !RESp
IIlIJK ..;

''is

(First Word)

6

5
2 260

7

:J L..f:JtJtrJf: ti.."i

8

9

-- --

10
UN~

11

12

11

14

15
......

-

T ST ~TUS

Unit Address - Bits 0-3 specify control unit and bits 4-7 specifies
---2260 in the last XIO executed. (See Fig. 7)
!l.!E:1 Status - (See Fig. 4-2).

BYTE COUNT

(Second Word)

- -- _--..

0

-

1

2

1

r-

~

4
RE!

5

IDUA ~

6
BY']

7

8'

9

10

11

12

13

14

E CO ONT

15

-

Count - Residual byte count from last CCW.

()

Co~~and

Address - Specifies an address J higher than the last CCW used.

SELEC;'OR CHANNEL

0

,
A.

2

l

STATUS
4

.,.

-

~

CHJ NNEL

STA~

(Fourth Word)

5

6

US

Channel Status - (See Fig. 4-)

•

1

B

--

9

10.

11

-

12

11

14

15

-

Condition exists requiring programming investigation. In-!
valid commauo or flag. detection of & parity error in a
command or data being transferred in a Read operation
could cause this condition.
This bit set at the completion of 2260 operation and
indicates that it is free to perform another operation.

~ UNIT CHECK
DEVICE
,... END

f""

~

CHANNEL END

This bit set at the completion of 2848 operation.

~

BUSY

2848 in a busy stat us.
Signifies that 2848 free to accept a new command.

o

CONTROL

r-4

UNIT END

0\

STATUS MODIFIER

rO
M

g

0
.... ',

.

This bit set during a Short Control Unit Busy Sequence
and indicated that 2848 busy.

I

.....

~t---"--6···

---

_.. _ ..----_.._---_ ..... _.__ .-..._-------------

~
N

8

- - --"

----f--......-....... - .... _...... - - . - . - - - . - - - . - - - - - - - - - - - -._-

"-'

H

~
!---~-

- - - .._ - - _ . - .... _ . .- .." ..- - - -.•--~.----------.---.. - - - - - - - . - - - - - - - - -

J~

I

t---+----.......

.

~.---

tJ)
(\j

~
Q

~---~.

-.-..

__ ..

-

..

"'

..

__-_ _--------_._----.-,----------..

..

.-------------------.--------------

_-

()
o

'v .... -" .... "........-------

~

.

__._---------------_.....-._--------

4-3

Fig.

lJ'\

f""'t

1

.~

I

,.::t

,....

i

I

j

,....

f¥'

•. _-_.-

~.

--_.

-----~-

r,~
I
r-'-- ......_. --'-' --

...

-

-.

..

I

I ,....
! ,....
!
II

t· -::::
tf.)
0.

~.-..

II .....0

r.x-.

t -..-~ ___ ... --_ _._--------

'd
H
0

il~i

0

~

;j

0

r.x-.

,

C'j

-,

i

..

..

-"

--

.-

...

..c
+>
14

0

---- -- -- ._---

I

__ __ ...- _.-_._-. 1 - . _ - _ .

.

.

UNIT
OPERATIONAL

... ----. -'-- .-.....__ .-........ --.-,,---f..-----,..
Q

0

~

i

..U.l
-.,

i

E=~

<.~

8

'-4) ,

Cf)

+ ~I

--.. - - - - - - - . - - - - - - - - . -___ ._...._

! Channel

ADAPTER
BUSY

0::;

-

"-

Channel executing a Start I/O operation. This bit is on
until ending status is received. If this bit net on within 32J.ts after XIO. channel hung up.
executing a previous XIO instruction or servicir...

?

a 2260 or 2848 request.
~

.

-

--....

~~..

..... .-.

--_.-

Number of bytes s~ecified in the byte count word of the
CCW does not agree with the number of bytes read from
, or written to a 2260.

INCORPECT
LENGTH

~J

Z

~

::r::
(.)

HEEEF!('E
CC:~-?H:.. : CHECK

p:;

0
8

~-

0

:lJ

.
!

C'H.-\~N},:

;:...:J
::)

I

ift/

UN\T ST"""'S

zewo

UNIT

o

~

CC4"'TE~S

c ... eCt(
81T' 0'"

>--,~""'I.Ia...---::.tfOR C"~""~El

AijO Z.U

,""Ovt. 28~8 ANO 12t.O

o l"ALlOw

AbOrtUS.S F'toti

"'N ,T AO~RIi$S/ 1.1" IT
STATUS W"ORO OF C:SIJ
)

TO STAtlT I/D
"'OO'~I;~

~e

-

COROlw6 OJ:" OAT~
~~D~ "f""~ 22~
\.ANTIL P~DG>~~1"1
MAl(.!S ALLOtJ~"'c.e

Ioec

PlotT INPUT' D~TA

tl"'" "Ot>~ESS
I"ott TM'S

~~'D ,I4TO

t)~T" APo~ess wDRO

0" TMI RIM)

•

c.t.w

l1.Q.
STAtft ~Jo

TuRil
~

0'"

M~"'\C~'-

__________~~'NPWT

IW-~--~~

tiaC~TOIt.

F'O't' 2Z6O

/3

(j

{:"1G.

WOT'

6-2

C)~e.~A'-' ON~L

STATU.S

eR~o~

\NC~EMEa..IT"

1'-I0i- OP
>----!iP!

E ~RO~
CO\.AtJiE~

c
?ROGf(AM CHEC,,,,,
STA.TLAS Et\J(OR

SAME AS ~OT­
OPERb-TIOtJA.L
S1' ~\~s E ~f(01~)

c

!!Q
'SE'VS8 ~\:.\.~~c~
C\ol.t..'H~£L ST"'TiA.S

NO
Y£S

~
SEHS~ COt.1~OL

\AW"

S'T~TI.AS'

NO

()

~\6 6-3 (cot-fro)
W'RITE/ES?ASE

ROUTlNE

(CONT'D)

PlACE 2848·22&0
AQORESS It.lTO
10C

MOC>''''lt:f(

PL~E fR~SE

CC \II ~l>1>R I~TD
WWt) or:

>----.....;;:-~\~~T

..

~,. ~

()

\N~O i~\~~

os:

v..n~'TE..

~~~rER

PL~

Va

1-----.. .

IOCC.

wo Qb
OS

CCw

Ex\r

£lyre.

c Oc..W'- , '-1"0
S:IRSr WOfl. D C J:
DS c.c.w

~\T

VlACE WR \ T£ I)S
""/'-awE It)OR£SSI
>-____.. Cc.w Abl>R. I tJT.O ......- - -...
t=,~~ woR~ O~
~...~ \ 0 IO(

P\.1I£e.. VJI?\'E

D~

e"'t:"Fe~ STo~A6E

Cc.w ACOR '~TO
~I RST' W~Rb O~

~""~T

•

I

Q

loe"

1----------------.. . .

c

c

2260 I/O OPERATION FOR THE IBM 1800 UNDER TSX

o

•

R. W. Page
New York State Electric & Ga s Corp.
4500 Vestal Parkway East
Binghamton, New Yor k 13902
April, 1968

- = m ....

DISCLAIMER STATEMENT

Although this program has been tested by its contributor, no warranty, express

0

or implied, is made by the contributor as to the accuracy and functioning of the
program and related program material, nor shall the fact of distribution constitute
any such warranty, and no responsibility is assumed by the contributor in connection
therewith.

o

2260

DOCU~AENTATION

Cj

0

•
_=a:ma::rx:u

1.

Disclaimer Statement

2.

Table of Contents
Introduction

Page 1

Reference Material

Page 1

Calling Sequences

Page 2 - 4

Logic Diagram - Display Routine

Page 5 - 6

2848 Interrupt Routing

Page 7

Logic Diagram - Interrupt Routine

Page 8

Hardware Address Assignments

Page 9

Notes on Use of 2260 Routine

Page 9

Typical Machine Configuration

Page 10

2260 I/O Program Listing

Page 11 - 17

Sample Calling Program - As sembler

Page 18

Sample Calling Program - Fortran

Page 19

Introduction:
The 2848/2260 I/O routine is designed to provide an easy means of

o

handling I/O operations between 1800 programs and 2260 display terminals.
The routine was written in Assembler, resides in Skeleton, and occupies
approximately 306 words plus one word in Skeleton Common.
The routine performs two major functions for the user:
1.

Performs I/O operations when requested via CALL DSPLY statements
in either Fortran or Assembler programs.

2.· Handles attent,ion (operator initiated) interrupts by posting in skeleton
common a bit indicating which 2260 caused the attention interrupt,
and then call s a user written attention handling routine by setting a
program interrupt.

c

Reference Material
In addition to the 1800 System Reference Material the user of this 2260 I/O
routine should have a working knowledge of the following material:.

(1)

IBM Selector Channel - Principles of Operation RPQ C0837 by J. B.
Sampson and N. L. Gillette

(2)

I

Ir.

IBM 2260 Display Station
IBM 2848 Display Control
Form A27 - 2700 - 1

()
1

Calling Sequences for DSPLY:
The 2260 I/O ro'utine will be an INSKEL subroutine which is linked to by
a standard TSX CALL statement.

The CALL statement must pass either two (2)

or five (5) parameters to the DSPLY routine depending on whether a test function
or an °1/0 function is to be performed.
The Fortran CALL for a test function is:
CALL DSPLY (FUNCTION, RESPONSE)
The Assembler CALL for a test function is

*

o

CALL

DSPLY

DC

FUNCTION

DC

RESPONSE

*
*

These must be address constants

The Fortran CALL for an I/O function is:
CALL DSPLY (FUNCTION, STATION, DATA, LENGTH, RESPONSE)
The As sembler CALL for an I/O function is

•

CALL

DSPLY

DC

FUNCTION

DC

STATION

DC

DATA

DC

LENGTH

DC

RESPONSE

*

*

*
*
*

*These must be address constants
a)

The FUNCTION" parameter specifies what operation is to be performed by
the DSPLY routine.

b)

c

The STATION parameter must be the address of an integer 1 thru 8. This
parameter specifies which 2260 the I/O operation should be performed on.

c)

The DATA parameter must be the address of the left most word of th~ I/O
area. I/O operations proceed from left.

d)

The LENGTH parameter must be the address of an integer which specifies
the length of the I/O area in bytes (2 bytes per word).

e)

The RESPONSE parameter is the address of an integer which the DSPLY
routine uses to communicate information back to the calling program.
Operation

FUNCTION VALUE

Write DS buffer and wait for completion

1

Start write DS buffer

2

Write DS line address and wait for completion

3

Start write DS line address

4

Read MI buffer and wait for completion

5

-Start read MI buffer

c'

6

Read DS buffer and wait for completion

7

Start read DS buffer

8·

Erase DS buffer and wait for completion

9

Start era se DS buffer

10

Test for completion of last operation

11

()

RESPONSE VALUE

Condition

c

Previous operation complete

1

Previou s operation not yet complete

2

Requested I/O operation performed successfully

3

I/O operation cannot be started due to channel problem

4*

CALL is illegal (Invalid function, invalid station,
byte count - or greater than 960 , I/O area outside of
variable core)

5*

I/O operation is complete but an unrecoverable error
occurred

6*

*Response codes 4, 5, and 6 are accompanied by an error
me s sage on the system printer (1816).

o

•
4

DSPL,(

22~o OrSPI..A'(

ROUTINE'

~.'·-'
C
I

MAS\IC:.

coe£;;

•

oUT-OF'NTERRUPT~

~~~------------~~.-

0"'"
I

'

SeT RE~PONSE
CALER.
T"{PE
"-'--'--~ CA '-L."

PA~AJv'\ETeC2..

TO

i

"ILLE~A.L

E Rl2:oR

'" e-~ :SA.~ e

SET

RE5PON!>E.

PARANt t::.TE.'2..

,0

2
SeT' RE.~PON6E
PA~AME;TE.t2.. To

5

o
5

,."U··_-nYUUZ"fW.i.ru.,-mUUW"W--f'--\·· ··5fij,-- i

c

os EN S E

5 EL£CTO~

cHANNEL

STATUS

WOR.D

ser

UP

2.2.60

,ADDRESS

'1ES

IN

:race..

SET"" up

o

CotAMAND

T~PE

cHANN e.L

CODe, DA.TA ADDJ<}

FAt LURE

ER120R

AN D B'(T E C.OUN T
IN T\-te CCw

MESSA~ E

W \11--\

"START"

I/o

OPEK'ATION

10 gN 0 t-J

c.s'tJ

BITS

Re SPONSE
PARAME.1"Et<. ,-0
4
'S~:r

B u S''{

lNDIC ATOR

SE-r

RESPONSE

'>-=-=---.-------------tao1PA~ AMETEQ.

,0

3

RE,5TOeE

__------P1 T C>

S'l.5TE.M

PRE.V\OU~

MASK. '5TATL)S

TYPE

E."RRO~

MESSAC"::\EWITr\

SlAiUS INfO(2/V,AilOr-J

RE.TURN

o

IOE~R..
SET

R e5 PONSE

PARAM.E.TER TO

G:>

YES

~-----------------------6

SJ

,I

o

2848 Interrupt Handling Routine
The 2848 interrupt handling routine handles end of I/O operations, error
retrys and attention 'handling.
Attention interrupts are recognized by turning on a bit in the first word
(high address) of skeleton common.
0000, ·bit 14 to 0001, etc.

Bit 15 corresponds to 2260 address

If the word is 0000000001001110, then 2260's

I, 2, 3 and 6 have caused attention interrupts.
A user supplied routine is linked to when an attention interrupt is received.
The routine that is called should reset the bits in skeleton common.

c
/ c

7

2648 INTE~euPT l-tAt-JDLINq
ROUTINE..

INTRT

.:sENSE

THE

CSw

"T'CPE C.HAt-Jtv E L
>'i:.-.E_S_ _~"'1 FAILutZE ERROPMESSA~E

SENSE

SAVE

UN IT

D£;:Vt<:E

ADDRESS

o

NOA,T
TUI<.'"

ES

ON

BIT

IN C.OMMON FOR.

SET PRoC2tRAM
IN"TERRUPT

"T~\·S ZZEG.
COMPARE TO FTV END POINT
OKAY IF OVF::R
ERR 0 P I F E 0 l) A L 0 ~.( L F S S
TYPE ERROR ~ESSAGE
CONTROL lO \'.'RITE TO 1816
ADDr~ESS nr: r/IFSSAGE

NDTST
TEST
CALER, f,

TEST

1
K8
CALFR
:::&2
,CALER

t

&

3
K960

CMP

MDX
MDX
BSC

con F TO I-\-h' E G.
10 ~LEVEN
ERR 0 R I F () V f ~~ 1 1
NOT TEST Fur,IC. IF HFLn\'J
COM~ARE

K11
CALFR

MDX
MDX
NOTST BSC

t,:FU I,le T I ON

I1 0

CMP

CALFf~

&2
CALER,&
2
CORE
OKAY
::~

L
L 1

L

MDX
NOP

CALER LIBF
DC
DC
DC

TYPEN

/2001
1

EF~R

o

LD

......

*

-TEST

ROUTINE
LD

L

LD
sse
LD

L

NO,Z
Ef~ROR

I OERR, Z

Kl
EXIT
K2
EXIT

LD
MDX

*

\I} A I T

TION
OKAY

LD
SSC

TO

BUSY

SSC

MDX
NO

LOAD ERf-' [)

~,~ I

8 U F FER

;';:READ os BUFFER
*START RE~D OS BUFFER
~~ERA

SE

OS

BUFFER

*START ERASE OS RUFFER

,'-r

14

-------------------------------------------.----.---,,~-,~,-"~

ERRl

ERF<2
ERR3

DC
DMES
DC
DMES
DC
DMES

10
"RINVALID 2260 CALL

IE

8

IRCHNL

HDV,/

0

ERROR'E

I

8

IR2260

,

I/O ERR(H.~' E

***************************************************
:;:

*
~#

#,'

....
','
~.

'i"

INTRT ROUTINE.
THIS SECTION
HANDLES INTERRUPTS FROtJl THE:
THE SELECTOF~ CHANf'IEL

*

oJ.
#\'

~:

~#

oJ.

"I'
~,

'i"
oJ,

".

*

:!c

~

THIS ENTRY PO INT SERVICES I'LL
28'J.8/2260 INTERRUPTS

....
','
...,

SAVE STATUS,ACCUMULATOR,

*
*

"{'

AND XR 1

~c

oJ,
'\'

***************************************************
INTRT STS
STO
STX

EXITI
ICU,JI
1 ISAV1&1

SAVE STATUS
SAVE ACCU MUL J\TOR
SAVE I X 1

SENSE THE CHANNEL SlATUS WORD

*

XIO

CS\'J

STO

SVCS\'J
*SAVE CONTENTS OF CSt"
CHECK FOR CHANNEL FAILURE

AND
BSC

BFFF
FAIL,Z

L

CSW TO ACCUMULATOR
WORD

TURN OFF UNIT STATUS PEND
ANY OTHER BITS I~PLY ERROR

SENSE THE UNIT STATUS WORD

*

XIO
STO
SLA
BSC

US\'!
UNIT
8

L

NOATT,-

*
*
*

UNIT STATUS TO ACCUMULATOR
SAVE UNIT ADDRESS
SHIFT OUT ADDRESS
CHECK FOR ATTE"ITION STATUS

TURN ON ATTENTION BIT FOR THIS 2260
IN SKELETON COMMON
STO
LD
SLA
SRA
STO
LOX
LD
SLA
STO
LOX
LD

USTAT
UNIT
4

12
TEMP
11 TEMP
Kl
1

TEMP
I 1 C Oi.1N
1-1

TEMP
1-1

OR

STO

*

SET PROGRAM
LD

L

SAVE UNIT ST/\TUS
ADDRESS BACK TO A-REG.
SHIFT OUT 2848 ADDRESS
2260 ADDRESS Tn LOW ORDER
MOVE 2260 ADDRESS
TO INDEX REGISTER 1
PUT BIT IN LO-ORDER OF A
CALCULATE BIT TO BE SET ON
SAVE IT
ADDRESS OF COMMON TO IXl
ATT. WORD FROM COMMON
TURN ON BIT FOR THIS 2260
STORE UPDATED AT1. WORD
INTERRUPT -

PlOD

15

LEVEL

17

c

fF'Snrnrr51!1'trm'U,SUXm !!... fMf" Ft"W'wn USTftfEtW:C"W1T --m
n

!

OR
STO

"Ftw¥¥W"'j"jj" -:-IT tr Ifflr"lff§;tmfffi5ti"f&ffl5l ftW .... {-'KNite#" {'-fti" t
l

r

flIT

--

PINTF~

L

.1.

PIOO
CHECI< FOR

'f'

.

ANY OTHF::I~ S 1 ATU5

En

TS

.'....

/

LD

USTAT

SLA

1

SSC

L

MDX

EXITI~+-

NOATT&l
'DETERMINE

RELOAD S·LA.TlJS HIlS
SH I FT OUT A TTl:t,'T I ON BIT
GO TO EXTT IF ATT. (IHLY
GO TO H/\N DLF OTHFf-< nITS

IF NORMAL END OF 1/0

..,.
.1•

NOATT SLA
AND
...'f',

Bse

L

1

SHIFT OUT

E700
ERR,Z

F "In, DEV. E t'-!D
GO TO ERR OR ROUT I f'IE

SHUT

*

SLA
STO
STO

SHUT

OFF

I ND I CA Tnr-,

...,

LI BF

TYPEN

DC
DC
DC

/2000

THREE
0000

....

EXIT
DC
DC
DC
DC
LINE5 DC
DC
IRES
OUTPT EBC
DC
ONE
DMES
DC
T~'/O
DMES
THREE DC
Df\1 ES

3
3

$3
$1
$0
$16

•

,',
','

***************************************************

,',
->,

o

I/O

END

o
16
/F 4l~0

a

•

TEST MESSAGE •

1
.

•R 1' E
1
• R 2' E

1
• R 3' E

START

18

** 'TEST OF 2~60 I/O CALLING ~EQUENCE FROM A FORTRAN PROGRAM
C*************************************************~*****************************
..........,....,..
',""',' ~;~
2260 I / 0 FRO T· i FOR T HAN P r~o GRA i':i S
• 0,
..,...........,..
'0' ..,.... ,...

C
C
C
C
C
C
C
C
e
e
C
e
e
e
e
e
C

.. 1...... 1....I ,

, I .....1...

...'............1...

... ' ....1...

..' ..... 1..

','" ~ ...

~:c

,.................,,...........',...
...

.......,.. 'I'
... t .........

• 0,

.....
,'.........
'0' ....,....,...
...'.......,'...... ,I.
........
'"
,', ...,.........
',.0,
. ,....... ','
..' ..... 1...

..I ....... ,..

'"'"

... t, ...."
......
'.""

................
"'l..........

..

",

'

::!:: :::: ~:~
~::: ::~

*
....................

..' .....1.........

........,.. ',,J .....' ...

..J,

,', ...,....,...
','
.............
. ,......... ,',
........t ...

',-

C

~!: i.~ ~:,

C

...,....,...

e

...................
,........... --.'....

...' .....I ,

~:

\~.rHEF~E

FORTRAN CALLING SEQUENCE
CALL DSPLY (FUN,STA,DATA,LENGTH,f~ESPOt'·'SE)
FUN = FUhlCT I ON TO BE PE RFDRr·:l ED
1 = \'/ R I T ESe R E E N
3 = \'/R I TE LINE ADDRESS
7 = RE~D DISPLAY SCREEN
9 = ERASE DISPLAY SCREEN
STA = 2260 PHYSICAL UNIT NUMeER
STA. NUMBERS FROM 1 THRU 8 ARE VALID
DATA = I/O AREA (LEFT MOST BYTE OR WORD)
I F I /0 Af~ EAR E FER ENe E SAN AP f~ AY, T r-![~: DAT A VAR I A H L E
SHOULD REFER TO THE LAST ELFf,1EI'IT OF THE ARR/\Yo
(FORTRAN ARRAYS ARE STORED RACK~ARDS IN CORE)
LENGTH = NO OF BYTES IN I/O AF

o

The interface was wired and tested over a 6-month period by a
graduate student working part-time.

The interface design follows

the originally conceived organization with minor alterations.
No areas where major significant improvements could be obtained with a
different philosophy have be found.

o

•

10

I

'I
I

SEQUENCE
CLOCK

<

COUNTER

1-

SHIFT
CLOCK

...

COUNTER

I~

CHANNEL

<
<

0
READ REQUEST

WRITE REQUEST

NUMBER

AID
SIO DATA INPUT

CONVERTER
READ

INITIATE
CONVERSION

SEQUENCE CLOCK
READ

01 B

(Q8 09)

CHANNEL NUMBER

CHANNEL NUMBER

WRITE

D/A
CONVERTER
SIO DATA OUTPUT

I

I

PARALLEL
INITIATE
CONVERSION

----«

READ OP

----«

READ DISCONNECT

SHIFT CLOCK

t-fI--------------<

WR IT E OP

TERMINATE WRITE

I

CONTROL

2

~---t

FUNCTION

01 B

(Q8

09)

DECODE
CONTROL OP

MATRI X

LINES

INDICATOR "SETII
INPUTS. CAN BE
SWITCH CLOSURE,
PULSES, OR LEVELS

Figure 3.

----..E~
_ _ _ _....
E"ITT

INDICATOR 90 (SLA)

J-----[>INDICATOR 91 (SLB)

Simplified block diagram of the logic interface.

11

o

o

R"Wf"T -r 'WV"WH.MFtUtlWiiNfr JC -rmBJM--Wf -"'TrWTlT -grPi?'fWffifhHf )'fiffttij'it#)5rHhtH .. r -reiWff1ffi,.tttt*i5fittfW
-

mo

The Analog Computer portion of the System
The Donner 10/20 analog computer is ideally suited as the analog
portion of a hybrid system such as the one being discussed.

It is a

solid-state machine with an operating range of ± 100 volts.

The amplifiers

are very stable, and the integrators are arranged for separate mode
control.

All computing resistors and capacitors are located inside

the modules under oven control, and the setup of a problem is accomplished through the wiring of a removable problem board.
are compatable with IBM standard cords (407 type).

The patch cords

There is room in the

cabinet for nine modules of various selectable types, 24 potentiometers,
and a tray underneath will accomodate 4 diode function generators.
The complement of the OSU machine is shown in Figure 4.

o
~

~

lL
I

0...
J

tL

IV)

t<"

\lJ

Q

2

<

x

J(



TIME - SECONDS

Figure 7.

Analog System Output.

o

en
~

30

0

> 20
10

0

-10

0

2

4

8

6

10

TIME - SECONDS

•

Figure 8.

Analog System error response.

24

12

14

16

....................... "" .... _........"...................... "................... "........,,===--'-

y. . _5_~_Q_---'~
(b)

Figure 9.

Analog model of integral-error compensation.

Through testing of the compensated model, the coefficient, a,
was adjusted so that the transient response of the system, as evidenced
by the overshoot property, was approximately the same as the original
systemo

For a step-input of 50.U_ (t) volts again, the output response
l

c

of the compensated system is now seen as curve (2), Figure 7, and its
error response is curve (2), Figure 8.

These characteristics show that

the objective of eliminating the steady-state error has been accomplished
while retaining approximately the same nature of transient response.
Without going into an argument of analog compensation vs digital
compensation, it was desired to demonstrate the use of a digital computer
in the compensation of a continuous analog system.

This time, the link

A-B, referring to Figure 6, was replaced by the 1620 hybrid system.
This new configuration is now pictured in Figure 10.

o
25

TyPE 0
SYS'c\"l\

+

Figure 10.

c c.t)

r-------~-------~

The analog system with the digital computer in the loop.

To accomplish integral-error compensation, the digital computer
must approximate the function of Eq. (3).

Due to the discrete nature

of the digital data, the finite-difference function that was programmed
was

I

.1=11-1

VB(nT)

= e(nT)

+

aT

e(kT)

,k. .. I

o

a is the same coefficient as in (3), and T is the sample period in
seconds.

In this problem, T

= 0.5

second.

The original program for use with this problem was' written in
,machine language and is listed in Table 1.

The. sample period time, T,

was regulated by adjusting the program execution time.

It will be noted

that this was controlled by the Transmitt-Record instruction at location
00522.

This is a practical and very convienent method of time control

when the program is short.

To start the problem, the two computers can

be started together, or the analog system can be turned on with no forcing
function, the digital computer then being started, followed by the application
of the system forcing function.
The output response of the system when digital compensation is used

•

is recorded as curve (1), Figure 11.

The error response of curve (3)

again settles to zero in steady-state, thus indicating that the desired

26

-----.--.-..

-.,------~

O!

Table I
Digital program for integral compensation
Instruction
location
00402

TFM

16 02000 00000

Zero the accumulator area

00414

RN

36 00900 00500

Read a.T into 900

00426

H

48 00000 00000

Pause

00438

RN

36 01004 01000

Read e(nT) on AID channel 1

00450

M

23 01006 00903

e(nT) x aT

00462

A

21 02000 00099

Add to accumulator area

00474

MF

71 01996 02000

Move sign flag

00486

A

21 01006 01996

Add accum to output area

00498

MF

71 02000 01996

Move sign flag back

00510

WN

38 01004 02000

Write output on DIA channel 2

00522

TR

31 07750 07550

Kill time

00534

BNI

47 00438 00100

If SSI is ON - repeat program

00546

B

49 00402 00000

Branch

0

Before loading the program, clear memory and set a record mark at 19999.

c
27

----..,._..., --- .... - .... ....
.....-L---···r.:....... - -•.•... -. . ..• - .
=-'.:> .:~::. ~: -. :-:'.: --. -..
,-

~

-.~

...~~~:-1_
.

40-'

•

,'.-,-

.

30

(/)

.~.--.-

.... -. -

....., •..

,.-.-

..........

..

,- ..••
~

t··

..

:.~

-

,.-~.

~..,..

---_.

__ ..........

, .:. .: .... ~ ..

',:':: ':~~ e(nT)

......J

.-

-..,.........

~

n-I

+

oI: e(k'!')'"
k", •

0

. (2) OUTPUT OF DIGITAL COMPUTER'
1-+----jF-+---l--+---+---:::::::l--+---"-'--+'-"--'-'--.:.~ r~~:'::::,--.-..l--.: _ _+-_ _ __t
0: 0.325
T = 0.5 SECOND "
INPUT = 50'U(t)

> 20

-I

10
0
-10

0

2

4

6

8

10

12

14

16

TIME - SECONDS

Figure 11.

System response with digital compensation.

o

(I) OUTPUT- ANALOG COMPENSATION

(2) OUTPUT-DIGITAL COMPENSATION

(/)

......J

30 --

0

> 20
10
.. -.
••

,

I

I

0

0

2

4

6

8

10

TIME - SECONDS

•

Pigure 12.

Com.parison of system outputs.

28

12

14

16

--~

effect has been accomplished.

.............

..

The same value of the coefficient, a,

was used for both cases of compensation.

-"._'-'.. ..

-,.-,---.-.-----~- ~~---' ~-'

o

Because of this, the output

responses of the two cases are slightly different.
of these output responses are made in Figure 12.

A direct comparison
It will be noted that

the digitally compensated system has more overshoot in evidence in its
transient period.
expected.

For the same value of coefficient, a, this is to be

Control theory of sampled-data systems tells us that a

zero-order data hold device has an effective lagging phase shift of
wT/2 radians.

Since the Type 0 system itself has a phase lag property,

then the addition of more phase lag to the control loop can be shown
to contribute to a more oscillatory response.

By using a smaller value

for a, the digital case could be made from the D/A converter.

Approximately

the same as the analog case.

Curve (2) in Figure 11 represents the out-

put of the digital computer.

The zero-order hold property is very much .

o

in evidence in this data.
By appropriate programming, the 1620 hybrid system can be made
to represent almost any conceivable Z-transform function.

Realistic

models of sampled-data systems.can be set up on the IBM 1620/Donner
10/20 configuration.

Classic cases, such as minimal prototype systems,

can be modeled and studied, as well as many others.

o
29

Example Problem No.2
A Split-boundary Value Problem
Given:
2
d x
dx
--2- + 4 --- + l6x = l600.U_ l (t)
dt
dt
where x(O)

=0

= to

and x(O)

be determined

The problem is to determine that value of x (0) which will cause

= 0.5

x(t) to have a desired value of 130.0 at t(time)

second.

The problem is scaled so that time on the analog computer is 10
times slower than real time.
5 seconds on the computer.

Thus, the 0.5 second in real time becomes
Also, because of the magnitude scaling, the

value of So. x (t) becomes, xD

c

= 65,

on the model.

The scaled analog

model is pictured in Figure 13, and the timing control diagram is shown
in Figure 14.
The algorithm for the solution of the problem is as follows:
The starting value of Six (0) is set from the digital computer.
the analog computer in RESET for 3 seconds.
for 5 seconds.
(3 sec.).

Turn on

Put the analog in COMPUTE

At the end of the'COMPUTE period, put the analog in HOLD

Sample the value of S6x(t) with the AID .conver.ter and compare

to the desired value, XD
(XDOT) by a DELTA of 10.

= 65.0.

If

S6x(t)<~D~

Repeat the run.

then increment 81*(0)

When Sox(t) becomes) XD, then

reset XDOT to its previous value and diyide DELTA by 10. .Repeat the problem
procedure until ABS(Sox(t) - XD)~ specified EPS or until DELTA
Write out the answer for XDOT from the digital computer.

•

for the digital program is shown in Figure 15.
is listed in Table II.
30

= 0.1.

The flow chart

The digital SPS program

--"..""""--.".,-..... -,.-...

-,~~~~~--------

AID 1.

~\...e

So:.

r;..c:.iOR

~

O.S

SI .. O. I
S~. 0.05

SL .... 1.0

figure 13.

Analog model for problem 2.

8 ¢ - -....
C¢--~

1R

1-------1---i

0

H

II----'R-t--lo\

c

~~~~..r~ \

FF-A
83---f

e

---f

r-----+-I5

j
-I-»3V (OFF)
ov (ON)

RE.SE.T (+?UL..SE.)

A.NALOG
MOO~

INPUTS
~t:i'CJC:lClO

"

BJ.

0

0

CJ..

0

0

0

o~

0

8 0
0

"0

7

TO eLL

0

0

S
4
3

~
I

o

0
O~ 0
011) 0 " 0

~

O~ o~
o~

0

0\-=

0

~

0
0

0
0

0
0

C.
B A
CLOC K.

I

o

8~

CB ____

~~6-~----~~S____~

~

(SECONC~)

~

:---=-t

~

1----:213'1

7z::J SeNsE.
L/NE~

Figure 14.

The timing system for problem 2.
31

c

CD

I

T=8

o

o

Figure 15.

Flow chart for digital program.

32

C

Table II
*

*
START

.'

0

SPLIT-BOUNDARY HYBRID PROB LEM NO. 1

02402 48 00000 00000
02414 16 03099 000~0
ZEROES,2000
02426 t8 03100 02000
*+12,9000
02438 6 02450 09000
81
*+12,9100
02450 46 02462 09100
RNCO 1NPUT
02462 36 03104 00500
INPUT
SF
02474 32 03104 00000
SF
I NPUT+5
02486 32 03109 00000
SF
I NPUT+10
02498 32 03114 00000
SF
I NPUT+15
02510 32 03119 00000
I e, I NPUT+7
TF
02522 26 03186 03111
WN
le-2,2000
02534 38 03184 02000
WAIT
BNI WAIT,9000
02546 47 02546 09000
RN
X,1000
02558 36 03188 01000
DIFF,INPUT+2
TF
02570 26 03194 03106
S
OIFF,X+2
02582 22 03194 03190
MF
SAVEF,DIFF
02594 71 03195 03194
C
EPS,DIFF
02606 24 03116 03194
BP
ENDER
02618 46 02762 01100
BNF STEP ,SAVEF
~2630 44 02726 031~5
CM
KOUNT,2,10
02642 14 03099 000 2
BE
ERROR
02654 46 ~30~0 0120~
s
IC DELTA
02666 22 031 6 03121
TF
DElTA,DELTA-I
02678 26 03121 03120
CF
DELTA-l
02690 33 03120 00000
TOM DELTA-2,0, II
02702 15 03119 0000~
AM
KOUNT,I I0
02714 II ~3099 00~~1
STEP
A
IC,DELT A
02726 21 03186 03121
BI
02738 46 02738 09000
* 90~10
B
WAIT-12
02750 49 02534 00000
ENDER K
0,1001
02762 3400000 01001
RCTY
02774 34 000~0 00102
INPUT
CF
02786 33 03104 00000
CF
IC-2
02~98 33 03184 00000
MSG+14, INPUT
TD
02 10 25 03211 03104
TO
MSG+16,INPUT+l
02822 25 03213 03105
MSG+20,INPUT+2
TO
02834 25 03217 03106
SAVEF IC
MF
02846 71 03195 03186
TO
MSG+3~,IC-2
02858 25 03235 03184
TO
MSG+40,IC-l
02870 25 032~7 03185
TO
MSG+44, IC
02882 25 032 1 03186
MSG+66,x .
TO
02894 25 03263 03188
MSG+68,X+l
TO
02906 25 03265 03189
TO
MSG+72,X+2
02918 25 03269 03190
TD
MSG+86, EPS-2
02930 25 w3283 ~3114
TD
HSG+88,EPS-1
02942 25 03285 03115
MSG+92,EPS
TO
02954 25 03289 03116
BNF POS,SAVEF
02966 44 ~3026 03195
TOM MSG+31,2
02978 15 03228 00~02
WRITE WATY MSG
02990 39 ~3197 00100
H
03002 48 00000 00000
START
B
03014 49 02402 00000
POS
TDH I"1SG+35,1
03026 15 03232 00001
B
WRITE
03038 49 02990 00000
ERROR RCTY
03050 34 00000 00102
RCTY
03062 34 00000 00102
WATY ERMSG
03074 39 ~3293 00100
ENDER
B
03086 49 02762 0000~
KOUNT DC
2,0
03099 00002 "00
ZERO
DC
4 000@l
~3103 00004 ~00:j:
ZEROES OS
03100
0~1000
8~ERO-3
INPUT DSS
03104 00080
IC
DC
3,0
03186 0Qi003 ~00
DC
1,<.'il
03187 \il0001 :j:
X
DSC 3,0
03188 00003 000
DC
1,@
03191 00001 :j:
OIFF
DC
3,0
03194 00003 000
1,~;
SAVEF DC
03195 00001 t3
DELTA OS
, INPUT +17
03121 00000
EPS
INPUT+12
OS
03116 00000
MSG
OAC 48,FOR XD=99.9, XDOT=+99.9, XACTUAL=99.9, EPS-01.\I.i(il
031.37 0009.0
ERMSG DAC 15,NO CONVERGENCE~
03293 00030
OEND START
02402
H

TFM
WN
BI

KOUNT,~,10

C

END OF ASSEMBLY.
03322 CORE POSITIONS REQUIRED
00077 STATEMENTS PROCESSED
SYMBOL TABLE
ZEROES 03100
ERMSG 03293
MSG
~3197
WAIT 02546

DELTA
ERROR
POS
WRI TE

03121
03050
Vl3026
02990

DIFF
Ie
SAVEF
x

33

03194
0.3186
03195
03188

ENDER
INPUT
START
ZERO

02762
03104
02402
03103

EPS
03116
KOUNT 03099
STEP 02726

0

To summarize:
So x(0.5)

= XD = 65.0

SlX(O) starting value

= Ie = 0.0

DELTA starting value = 10.0
EPS

= 0.1

The problem solution, with this
iterations.

particular set of data, required 16

The final value for SlX(O)

magnitude scaled value.

The true value

= XDOT = +11.2. This is the
is XDOT/S = 11.2/0.1 = 112.0.
l

Use of a Multiplier in place of a Servo set Potentiometer
In order to solve problems that require a problem va;iable to be
multiplied by a constant, which in turn is to be set·by the digital
computer, a servo set pot is frequently used.

Since the present system

does not yet have servo pots, the multiplier connection depicted in
Figure 16

has been used.
A prog£~~
Variable

p.Q(t)

p-output from D/A
Figure 16.

Use of a multiplier to control problem variable from 1620.

Future Plans for the Hybrid System
In order to expand the versatility of the system, several servo set
potentiometers are being.installed .. These will be set through the use of
CONTROL functions and D/A outputs.
Several projects which are planned will use the hybrid system to
control actual hardware model systems,.such as a model power generation

o

plant and distribution network, and a model manufacturing process.

34

","

.. "-.",,"",",",, "'""" '''""

'"""'"

""",,-"""'""-,-,,""-""----,,-'"'""""""--"----"""

o

o

Subroutine s for Set and
Group Manipulations

by

Charles Weingart
Rockhurst College

o
COMMON meeting
April 8 - 10, 1968

•

At Rockhurst College the 1620 Computer is used primarily for
educational or mathematical purposes.

Therefore, it was decided to

attempt to write programs which would help demonstrate certain ideas
in various branches of mathematics.

So, programs were written find-

ing prime numbers, doing modular arithmetic, performing numerical
integration, computing pi, and other similar programs.

These programs

used, for the most part, the arithmetic or computational abilities of the
1620.
However, the course in abstract algebra did not benefit; since, in
this course, numbers are rarely used.
4.

acter -strings are used

Instead, only symbols or char-

",<:1

efto

manipulated.

Potentially, the 1620 is capable

of doing such manipulations; but the languages available are not suitable.
The SNOBOL language seemed most suitable for manipulating symbols;

c

however, the present implementation for the 1620 operates much too slowly and consumes most of core storage.

Finally, FORTRAN was chosen,

because object programs execute quickly, have most of the storage
available, and is probably the most widely used, especially at Rockhurst
College.
for

So, the programs were written as multiple augment subroutines

FORTRAN.'~

Before discussing the subroutine~ some bac.kground is neces sary.

A

Set is a named collection of elements, each element normally being a
character string.

In FORTRAN, this is easily represented by an array,

usually, the elements are in "A" format, to keep the generality desired.
A Mapping is a general function of the elements of the set.

A mapping

is a generalization of the functions Sin, Cos, etc., in FOR TRAN.~

Ii

o

-nru- rrrE;;--fRn - U-Tn-

TWIIT

n-::r

2.
A Product is a binary operation, or function of two elements at a time,
giving a third element.

If the elements of the set were numbers, this operation

or "product" could be normal addition.

In FOR TRAN, if the Set is an array

of order N, the product could be defined as a doubly dimensioned array,
having N squared elements.

If the elements of the set to be operated has

subscripts I and J, then the product element could be subscripted (I, J).
This approach gives the fastest operation for long tables and is easily implemented.
The product is said to be closed if all of the' answers are in the original
set.

If there is an element in the set which does the same thing as a 0 (zero)

for normal addition, this element is called the identitYQ

o

If, given an element,

there is another element such that the two, when operated by the product,
give the identity, the elements are each other's inverse.

That is, they

correspond to positive and negative numbers.
The subroutines were written to test all of these properties and to check
for symmetricity, count the non-duplicated elements in sets, and subroutines
to look up products, mappings, or single elements.
These subroutines were written for a version of AFIT FORTRAN.

This

is a derivative of FORTRAN I with a larger symbol table and greater diagnostics than FORTRAN I.

For these subroutines, the processor was patched

to allow multiple arguments in functions, arrays may be mentioned without
subscripts in function arguments, and the mode of the function is determined

•

by the first letter, as in norrnal variables.

The subroutine deck included an

extra subroutine to extend and simplify input-output, and allowed one subroutine to call another.

_

.... _ _ _ ...... ~, .. dJ _ _

.

-=
..

.>oI.-. _ _ M'_--~~~==··=-··-"""
·'··=-'·.=_
.....="- ,-=----===-

- .. -.- ... -.. -..-"-- -" .._~

3.
Since the arrays are those of FOR TRAN I, a simple formula enables the
subroutines to locate an element in an array.

If A is the base address

transmitted in the argument of the subroutine, and I is the number of the
element, it's address is

A - 10

*I

+ 10. If B is the base of an N by N

product table, the address of element (I, J) is B - ( (I - 1)

*N

+J

-

II *

lO.

This is because the elements are stored column-wise.
The tests are obvious.
the set specified.

Closure checks if each element in the table is in

The identity test looks for an elem.ent whose row and

column duplicates the original set.
identity in the table.

The inverse
.,. subroutine looks for the

The group routine does these three tests, and checks

that there are no duplicates in rows or colum.ns.
The various tests are then directly implemented in S. p. S. and placed in
the subroutine deck.

It is not important to these routines whether the arrays

are integer or floating point in nature.
Here are the descriptions of the individual subroutines.

N is assumed to

be an integer variable or constant.
NSTP (A)
This subroutine

Il

s trips" the mantissa of the argument from internal

alphanumeric form to integer form.
mat.

Consider this program.

For example, from A format to I for-

A maybe subscripted:

READ I, A
FORMAT (A 4)
I = NSTP (A)
If 1234 is read in, A - • 71727374
and I = 1234.

S~e.

~". 1.

1=.,<

3

4.

o

If 123 (blank) is read in, A = • 71727300 and I = 1230 (Blanks are converted
to zeroes)
If 123M is read in , A = • 71727354 are I ;;: - 1234.

(Flag on input number

makes it negative. )
FILL (N)
This subroutine performs exactly the opposite function as the NSTP subroutine. N may be subscripted.
If N = 1234, FILL (N) = • 71727374 etc.
CLOS (N, SET, OP)
SET is a set name having N elements.

OP is the name of an NxN product

table, presumably of the elements of SET times themselves.

o

routine tests to see that every element of OP is in SET.
answer is 1.

This sub-

If they are, the

If not the answer is O.

AIDN (N, SET, OP)
N, SET, and OP are under the same restrictions as in CLOS.

This sub-

routine looks for an element of SET such that when multiplied by every
member of SET, either element first, the product is that (other) member.
The answer is that element found.

If none is found, an answer of Q EO

If none is found, an answer of O.iEO is returned (all blanks in A 5 format).
If A is from SET, we want E to be the identity, such that A x E

=E

x A

=A.

AINV (N, SET, OP)
N, SET. and OP have the same restrictions as in CLOS.

•

given that the product table has an iridentity (AIDN).

This subroutine,

Then if every element

of SET is multiplied by another certain element, either element first, the

. . . ""","',"'_,

_.- .. _.__._._.. .. •.... _.... - -_._-- . _ .
,-'

,

__

._.

__.-_._-----. .,._,.,..• "'-,

5.
product of these is the identity, i. e. if A is from SET, then there is a B
such that A x B = B x A
to get the identity.

= E,

the identity.

o·

AINV automatically calls AIDN

The naswer has the same form as the CLOS subroutine.

GRUP (N, SET, OP)
N, SET, and OP have the same restrictions as in CLOS.

A group is a set

and a product defined over the set, and having the qualities of closure (CLOS),
identity AIDN, every element an inverse (AINV), and associative, i. e.
\

Ax(BxC)

= (AxB)xC.

This subroutine performs all of these tests.

The

answer has the same form as CLOSo~.t.~D

t~\.li!lJEj)
l\'\-t·i~ f"{ ~ n --

J-\ \ c\ \~\ S'.pt! £ \)

l~i<.\'>\\h( ;~LS.·

A C() lY\ \l t. t-·r ~

•

.'.

e,
<•.

.~~! n
.

'"(E'!..ECOMMlU·[lcA-nOl'-!S

."

. I

Ac C~·~~.S

1

Access

{'v'{ S"s,~ 1\<3 £.

o

. STAM
.. TERMINAL SUPPORT
TERMINAL'

DISK'
OPERATING
SYSTEM

1001

X ..

1030

X

X

1050 (SWITCHED)

X

X

1050 (NON-SWITCHED)'

X'

x.

OPERATING
SYSTEM

.x

,X

1060

X

1092/1093
'.

1130

2260 (LOCAL)
2260 (REMOTE)

·x

X

....

X
..

x

X

x

2740 I & II .

X

2780

X

X.

5/300 MODEL 20

X"':

X'~:

.5/360 MODELS 25~ THRU 75 .' .;

x · . ·.....'.

I·

"

:

x

.'

.,. .

.

'.: .. ' ..< .. -,

AT & T 83B3

.

"

"

"
•, .

1

I

.

:'

......

..

X':::":·":··'

W/U 11SA
!:

AT & T 33/3S (1WX) "

;.,'

x·

X .':'. '.:
"

., .... '.' .• " ,

..".,.,

.,

••..

.... -:. X':.

'

;

."
of'

.

.. . . :.... x~·

.... ..

•

.

,.

...' .

o

- - - - - - - - - - - - - - - -......
Terminal Devico

.CD

Communication Network

CentrQ I Doto
P(oceuing Location

Nonswitchcd line

2701 ••

. 2702
or

2703

I

I
J

I
1

I

I
f
1

I

•

I

I

I'

I
I
I

Multiplexor

Channel

I

o

I
J

r

j
f

---Jncomi n9 MessaGes

l

1

I

,

.).

f

J•

I

l

I
I

,

I
,I

7no
or

'I

7712

J

..

I

CODc:
. T Terminal
OS Data Set"

,r·

=

=

I

'CPU = Central Proc:enillQ Unit,

,I .

'C·~ponent

•

"

I.
CPU
J

•

Figure' 1.

Configuration of a Te~eprocess~ng Installation
,

..

" .

,

6T/.\M

:

CAPAS JL )1--'/

cS

0'

',t

---

-

.'.,-,.

.. .. :
"

,

o

E g~~re

c'

.

D~"1SC-rIOI'oI. r!:.

REeQv'=J~Y

Tc Ie M J l~ I~ 1....
'.'

·0

o

TS" l;N'\u.1 AI... . 1'4 ..
TEI~J.'l'lINAL..·

.

.

~JI"~'

Ere~oie

··Co UN7S

L t~., 1"'1 0 0., FH.A-rlo
C~~

,'I.

()

e...J~ c-r

-r/~

t

J....l

e )'" :

e_ ••

I

()

-,

.l

,

..

D
1

re" c"E. SS ltv'G;;J
L

..

'

'of

.

,

'

Be -r ws 11'1\{. - . PA ~-;, -r~ . L3 "" F' F z; re.'.
...

MA'" A GIt .,..,6"'."1.'

. lC e: Q 8'-lF. . ' ,

{Ill A. c.. R. () s '
..,... ,- - _
~ ~ 1..13 tJ~ . . ...

'.

IInmrw ."

':r:ewm::m .

.

. . . t!!!TIII . ·t

. 'POOl', •

;

'1
.i~-rA~l

~~\~b,«~ PROG/~f\MM.l"~· cflVIRoJvl'~crJr

IN A

------

VVAII.~~
~

.

-

_.....

<....,..

...

=
-

________________________- ,

-.- ....

.

.... --- FtlJ R.·E c, R 0 UN I)

.a--:.._ _ _.>
-

t,..,R.,-rE

....

_ ...•_ ...

~.

.

... _..•.. -... __._. __ ... - .....

__ ... __.... __ . __ .... __ .. __ .. "

..-r:;~

'1':-----

_....

_---_.

.CI

I
.-...... -----.--

2. .-_.-._._-._- -

_ .......... _ •. _..•. _... _. _ _ _ _ _ _
~

._.~

___________

A

-_ .. __ ...

WA/-r

--

-_
_----,-_._-_ -.-

-:-- ..

.

...

.

..

...

-,-~----

........

,

...

-

..

-=-~'-.--~=~:-~ .C ~/q~_~_~-,~!.e:~Jl.U-e•.-:L~=·_·:_ _ · _
.. __ ..

"-'-

-----

_-----"- .. --.
-

-,

.-- -

. . . . . oo ..

"..

•

---

._._ ......._----• _

.................. _

........

-- -- .

-

...

-~

..-.--

-_ -_ _. __...._... _..-'

.. ,',

-.~

--- ....

•

-_.......... L---';'---"';"'--.s-u-,~e-"~v-,.s~()~I2----------"·1 . -----.-.
-, ... - ... _-_.._ ... __ .•. _._.t--.. _-;:. ....._-;_ .._. __ .__ . .... -~ .... -.---.. - ..-.--.-.--.---.. . - -.........---- .... - . --_..'

e--··

,

, .......
(

\o.~.

-'")

I,

~

\~/
(\
.

It } II

L) 1/"'·\ t\"l

o
..

... -1\.eD
~

~
~.: ~.'

j?,GAO

ON~

7~

Vv'TGI

=-

~~ /

l.,ltV c:
.........
:--....

Of'..1

~~

.J.t
~"

l-I/\//j'

..... ==

=."ae

=

:'=-a&C2iiWW'

ON t.IWG ~ 3'

::Ii;; ':.I':U5::Qil!

t...ll\llr~~.

0N

I

(;

j ...,.:... AJ42#*

~

aLb

L::;.....

'If 4......1i.

we )t!,

. ~ .. : €

M~h

.....

IU

<2

.;;:5CQ ...iAV"O.....

/ZIJAD

au

SJl!UUU

: ( .a:.: ..................

RcA 0

... --. . .-...... -_.... -. :.--- -- ... ;: ...... '-'-'--:-.' . -. -_...-....-.. -.: .-. .....~. M
.

,..

.. --.-------..---.-.-.. ----.--:.----.~

"~.

.

~iZZZ?22

-- •..... ----.--.-.....--"-------... -----.- ... -..--......----.---..
.
.

~(G)( 'T

IN~)u·r

£r:"A.[;)
o tI t-II\II!

• "t.·

--.~

P\~c.~ss

S7AC1'"

~.

. ..- . ----'0 ~ .,-••

.1) l17A
_ .....

10_

t14
.==

==

r

wa

-ace

s,gg;"

A

17C
a:uc

7

ON

•

.
R,G A

()

$:';

0iGLSiIIi&i0J

.....

'.

.§

_.....-_ ........ -

fh

.f:,

2
..... ,.-

tj;

.-

; ;

t

. :'J

":.-

I

I
_. i

1_I/VC·:-1· 7

0/\/

i

-~~~~~~:~~G~~$.~~=z:~;~~~&=q~'~g~r~=-==-=I~c~~~n~~~==~~;i~'~ria!==Dm3ff~~~==~·~;~a=~~~===7~~~x=w

....

----.7-- t3 A~I('\:llGO UNO .. -~Pl~

_:. _____ . ___... :.

--.

__._

...... _.....

eli'

I

,"

,?27Z ,<. 'T. _

,I

....

,I

~ " .' ~,

.-.

.

,':',',.' ..~~, ,': '. .":' .;.

...

~

. .
.....
...........

.1 .
..

•

I

. . -. . .
.<~~':'~ ~.:~ ~,<'::.":< ~::;; . · .· . . 1
.

~ :~, :'

':.. ':.' '1',

f

,. ..'. .,.-".. ' 'I . .,_~/-----.
.

" :' ,.-: ~ ,: ... - . iRE"-"'AINING
. '" :.,.';,.: J"
PROCESSING
.
. . ..

.

I

1- __ 1_ - -- .~.J

..'

fIGURE -1

.

DOS STAM

.,~,

.....

.

.

.

..

.. 2

.

&

Co h.!-r/z 0 . L.

.. '••.••.• - " .

: . '.... ... .... ' .•......:.... .

'1~~tiSSii\'(1' ..
• ,

.. '.....

p

,:

...

"..

.. .

. PR:~ C). ClA ;"1

•

~-.

•

..

•

•••

.

.

0'

.-.... ;:- .~

..

.. ..•. • .

...

i
"

.......

.

.:

.•

. ... . .... .... .
. -.
... - ....
.. ... .:. ,....
.. '-:

."

':; ~

C"·"

"

"

.'

_elltJ4 • •

o.' ~.. ':' . ?,: ~ ._. ·.'~,

•.•••.• '. " . - '.-;"..•- . ~..........- - - - - - - - - - -• ...w;..;

.

• • • • __

..

e ••

..• . ..

.:.

.' _.... ..

• • • • ._ . . . . . .

_ ••••.

.

:.'

....

.-

..

.

.

..

e

.••

_ ••••.•.

. .

_

.,

• • '" •.••

.:.:. . . . . . .

- .. -

" _

.~ ~

•.• "

.:..

--. .•..
I.

fl..
•

... .

~~

,

• .

, CJi< /
I

~

0'"

,

...

.,

.~IQa.--'

-........ .
•

...

,

•.

t.

~

.....

•

"-r(!.?f1U,f/t (.,
'h'1S G. Q. \I (ll ~

J;--.-: I
.
r~ Ani'

.

MSG.

e'

... ~

J :;;::::.

i1·· :...::.
I~

•

.~

11
..
_~
1:--....
II&"!

I

•

1

..

.' ....
.... ... ......

'

..
· :' ,,<·'~~:":I :.. ":':
. :.

"

.', ..... :...
. . . ,. , '.

"- -. ...... .. - ......
. .. -_........e

-,-t'Mi!

.r~ 1\-1SS. ~ I.tt/.J~

';1

~

,,~'O C. £S.$

1,,-. ~ ..,. C.'< "11,'v:'-\ ~
'I

.. ... . ...

-.

...

-~:

'

..

.... .

.

.

'.

LLLLt

.

~:·:·o ES 1~ S'~ . ,.\fl aIV,.'\ c.

.. . ..

i·

...

{:J

12A r.~

.

.

.

.... .,':. '. :;' 12Z2:221SSSSS[7ZZ2JSSs :S4?)6· ..
: .:.: ,~.':.' : ...;: " .:': q~" ~~ ~s',
•.

IJ'M Co

. ••

. .'

..'C"·,·"

~

~_I

~

·13 7/--\ ;~1
l.. I At k-

~. ~~0

?l~'-" G IZ A t1

~~,~--------------~
VI s r; R.

PR.o

Ci!. S.s. IlvG

l'l< fJG Ii ,~ '-1

o

. _. • t

•

·0

.. ···IN(~(jI~ 'f
FJ'L~

'0
I

-

J?

- -

._----_.•.- . _ - - - - _ •....

STAM CORE STORAGE ESTfMATE
(DOS)

C~
,

/

,'/

BTMOD (BASIC MODULE)

2930

ERROR CORRECTION

2070

ERROR COUNTS

190

TERMI NAL TESTS

690

MODEL CHANNEL PROGRAMS

84

CONTROL SLOCKS

600

STAM MACRO INSTRUCTIONS

240

POLLING LISTS

56

ADDRESSING LISTS

80

6940

!

'e

l

4 LINES
16 1050's' (4 PER LINE)
·'

•
_&&&

L£L&L&llSGO

BTAM CORE STORAGE ESTIMATE
(DOS)
BTMOD (BASIC

0
I"

N~ODULE)

,I

2930

ERROR CORRECTION

2070

ERROR COUNTS

190

TERMI NAL TESTS

. ~690

MODEL CHANNEL PROGRAMS

84

CONTROL BLOCKS

1240

BTAM MACRO INSTRUCTIONS

480

POLLING LISTS

280

ADDRESSl NG LISTS

400

... BUFFER MANAGEMENT

1470

.'"_to

9834

0

20 LINES
80 1050's- (4PER LINE)
."

o

o

f'

...,J

'(·1hll~~
. . . .··-7- \
/"

,

~

.~

9

,,~-

I
I

J
&

A l'\! 0

•

~ I \ ~ . '"

 CQ R I'C: e c -rIo "I
l\!.C\ t.
77-!~~ sr s
0

r'z·

f:~: s?c t?

S'''T/~ '-/'1 S

?;., C S

• Clal ~ cI~· Po J--J 7' s;:"
lo r~1/~1 \~ Iv I CA ·rI 0"/ LI/V'::- ,,r;
~ N 57 tvv 1< re' Co ;-. / -rle 0 (.... 7;; It.: 1--11 /~/ A b
o 7i I'~; ~ ;t\ Iv'" D
f)~\ "'/'if' ....5·,"1 M f~ IIV G
o /lrj c$SA (?-; e S (!r.~ vtt "Ie € C;./ 1:;' C' Ie I/v G
I

co.

. t"
. --I
J'\;"lCS-S,:J.Gc
YP'e
0~

• Q f...,( F. (,! /1{"6
O/~

//,r"

D

,.,

I\SCoGA/I/f:QIV

I~/!I s.s P. C, Ii S

C\")R.~

..S

0,,(

1'/) IS f'-

7'0 RAG E

r- I-r~;-t:;.,r:; A G c::s
... li("n:i?.C{~f7/1)1{ O"t: J.f7;:SSA..(7~~ F~I? AN-.

, Lo G G flvG
0\/,

•

41

•.

l\C" r /c It.'itOW .s SAG F. .<;
.•

,'

\

'y
....\ .

II

{3 tJ

~ fvrJ.\I.~ 7~ AIAI'J' (~

,

( ..,

/\

I ,.

.""fll:~

..:. ~

~\;?

n
"vi
tu
f)~. 1 {APi/'\ Ge (vi ~ .\! ··r

'0
~ ~)W pp~ t~·

"

s-

J\r: ~

.

Jz"

A, D;~ \: ~j Jl~ G

hi /<\ l..

j

,,

~ f~Jl ~ s.s.~\G C R~c,: JV)J~! G

~

.:I

"'.... , .

t

1'7

0\
."'""
\

l-ANG U;.~ G[

. QTAj\1
o

G rc D U ~f)
Ilo

.0

J•

DI:"l=

...... Gr~o\~p 2..... . C '0 ,,! -( ~ l.. Bt. Q tie

..

) .

Q

~. .G 1<"'0 \,,1 f~.

Irv/-rt/J.,. ·r(ON) 7;",'--111'1 A

/f,J,.f1QJ.J)

.

'1"1'01../-

-

_.

fA fH. tt J.. B1.1 FPI! /l '. J)f: F IlJ , n.~'I./- I'?
--.

3 ..

/\1 E S SAG 1~
..

•G

((.0 \A

po

-.

.

_ .......

~

....

....

-

.....

__ ...

-'"

........... _._ ..

-

.......

'

..

C("

reC

.. /)l! '-Itvll r~R S -

.• G(C.~ ~I P

-- .... - .....

!:{'

.

.

. . ' lVcs -r vvO f' Ie

'.

~ /'-..f-I'/-c 0

13

/... -

~<.~

.7()
•

"

()

------~~-------- ~-----

.

o

o. p c ~ I~ -rJ ,\Ie; f: 1'1\/ J Ie 0 Jy M £: 1'1-(

~

----~
.z

...

\,;~

Q-t f..\tJl
IVt i! S SAC,

j

r~-,...."

Q\JG:c"!~S
r""~

C~ rJ-r~OL­

~.

'\I;\

r\ \

e~o.~~s~

..

-

{!,

II

~

Qu-r?'-AT
. QU(;c.r£-S

PR.O C l?'/, 1--1

l~--------------------~

Q-t-A,"./\
.

J~ S~.sA

C-a ~

p~ O. cr:: ss II" G,

C\

?ROG{(Atv{

,I

•

_
-' . D

~'s

eta .

A "A-' . --- ..- ".--' ~~--'.

'--____________ ._ . . . ._. . _. . . . ____ ......._...._~.e-(s___. ____.____ .
.. .

.

,

...

---

.............

.

--. ... ...........

. ....:..

__ ._._-- ...... _-. _--_ •.. _----_._._._.-•.. _- . -- --- --- \

-.-

...... _......

...........

.

.

_--_ ..... _.....- ---.........

.......

.

......

_.- ....... _.. _---... .._----- _..... _._---_. __... ...

"f',

•

-_ .... _ .... ---- . .---..·.-:·---·-- . ---7-.. -----

• • • • • • • • • • • -.....

........

' "

-

....-

. - ............... ~

• •__

• • • • • • _ _ .. _

.. _M ••

"

....

.-,

_....

...

...

..

'

_--_.

..............

.
-~-

,-

.... ----.-.-

. !...L·. . __ .... -;-- .. .... _ .... __........... __
.4 "

_ _ . . . . . . . . ~ • • • _ _ .... _

• • __ ......

~ _ _ ...

_ _ ._ . . . . . . __

....

_.

... __

..""..

---:--~~~

_--_

.....

"'.-.,,-.-.-"-----,~~~

............ """"....,,..

\

' ...... ..
"

"

0

USt

M£SSP4G~

Q74vvl
Co N7tao La

t.

? ~oG f! Av.PJ

-. ....

_.~

.. ..: .....

-

---.~ ---.~

----

": -- ,,- --- -" --0
". G?7A II)

CVi ESlAG ~

'?Q.\)tESJINC,"· .

PRoC.,aAM :.'".,,"

~,~

.__

___"

_.

~,

0"

I,.
;!t. Q7A M lVif"SSAC;c.
A ??E MG h{ toti C.

P~ClSSJA/C, "?~C:JflAM" M",(S 7

\) f

1fl-~S Go.

.0

p;-\(:. ,-( (-1i'OA/.::

\,,:'-/~:!

"0

1

?!!!!V"fTTUrn-

o
(.

:--_ _ _ _1
l) t~v c. 6~ S
Q\JG'\.4 ~

..

~.

o

®

. ',.8
.

.... .

---

•

I

---

..

.

. .'
.

--

-

-

-,;-

"..;....:.:.:;~..:.:.;.-;;.;;.;.;;;;==:;:.~._

.. _...

==._.___='_
..........=_".
__....

=_
... ~.,~~
. _.. ___= _

_......
=_
_._,=~_
.. _..

_.=_.
___ ... _~._..~
.. ,..~.. ,_~
.. _.... ~
........_ ..~..=.i'.-=""""'-'"~,_".........bII'_,_.wIj...._

.... ...

o

C_or-e.

. -- --- -

~---r---

_____

--t:---r--~-~~:------:

'"

QT,~M

111 r::s s~~ U~

..;.

.

~.

.

//

..-

/

/

'/

/

/.

/

/

/

/--

/

/

/

/

/

.'

~

/

/.

/

/

IVI€SS.,~,,~' /

/

·preoG!2Ai1/· /
/

/.

/

/ .

'. ,. __ S

.

/

/

/

J\ ~ t( G

e 0 vNP

. - '.' . -?

.

~ 0 C.,

I

. /'

/

/

/.

/
..

/

/

/
/

o

/

/

/ . .. /

/

/

/, /

..

.

/

-

w iA !V, /

.

,/

:

P(COC~SS/l~~ /

/

/
._ .... _ .

/A

/

/.

/

/

/

/

/

/

./

~. /

/

'/
'.

/

I
/

/

/.

/

/

/

/.
-

/

./

/

EA·M .

... ---_ ..

~----------------------~~----~

o
"

_

"

.... _ .... _

.'

.

-

........... ..... _..... ....
,-

.._..

.

~

-. -

.-

-- .

...

. .

- 22.- ----_.

---------

C().~ € S -,0 R:AC-, r,: ES-;'j:·'iP:/.;. .

DOS G) -lA M

CJ\1tSSAG~

CoJ",--,reoL

F'R()'G)I?/~l-1)

jVl 0 J) ~I t~~~ S
c R. fYl J l'i /~ c. -1'1::.---.s -r. tv'( D 0 'vll~. If:.
. C ~!. r:: c!e p ~ }N -r JVj () 1) V L r~ .
BAS

.r-

(~) -r~, fVt

J \,

)\1 A C, ri 0

Us (~. !2

:l~" S "r /C _

3 ~~j c;
'. _) I cy 0 .
.S \,1 i3 P. '0 f.,f eDt'ir~e.s .3 ,5- C) ()

ce

Co l? t : . .

.I

... .. ._ .. _.... _ .. .

PR. 0 C, !2 1.\)'v1 .S

-. C/-1 /.\ /'1 IV E L

I

C>/{)"
j, .
,

03 / .
21 31 C)

4

LIN~~S·

I G / OD~O s CLJ.
-

. -..... -. ---

-- -*_......... -

•
'

....

prn2

LI/./r:;)

..... .. -.".--.-", .. - ........ -._._..... _....... _ ................-- .- , _ .. _.- ..- .... - -- . . -~

l

"

........

.'

...

,....

,- ~

".

23

_._-.

-_._...._......••.__.•._--,,-

.........

~-

0

~ A.s
~ .1 '"
lr.~
f'

. C H li e/C

r,)
".1
~ ~/'...:".-#;.'\
p~~ I ,,,/..;

I f\\,//~..'0 I:) (,1 .c..

A\ fj
J' .... t

f-·S

j\1~ O~~) v (: e-

C) P t:: R r;7('! I~

~ w·Y,e 0 LtV! 0 L) c,! t.. t;
-I
--.....
j) S
.
/'vj AeRO jl1"S rr~- ct
Valeo L-I ~?IIVt:..S
US .E-~ Co pe;
_... ,. _
.' .. -__ .-. . ,-.

Ail! '0 G a A I~rl .s

. C N A Ai1\1 t$" '-

C ON-7f~~;·t....

.2000

i8f...OCIC.s

.Cl-lffC/CPOIJ\/--f

A~~A·

A/-.(D·

I ()2] C~
8G3,~

7AeL.€'.s

___ . ', __

'.".0"

__

.,

C 77.~;: .

••

c

'.35124:

20
(3

Od/ OS 0
.

s

L"v£s,:
(' 4- Pf a'LlJvt;).

·.··1

J

.~..

o

1

a

I) S

C~)

-r-jJ, j\/{
C;v\'f:: SSf\G r~

(; E ~r

I P\.,,/ -r

o7H .(:."/2

. i/\(OR'('

PC f\ t Ie 0 oS c( S 1,/ 6' r::, 'U (~{ Y IIvci~.J'
/\.1 A C iC o.s cf.. S /,/.-:7 /2.. I.rr; 0./e .s

AJ2!:/,\S

.c. ~ "'-;(e ;, L.. ··B (_
.

-.-

........ -.....

-

~

._ .. _._ ... _._

._... -...

....

...

_

".

.

.- . . . . . . . . . . . -.

-

-,."

-.-.-.

".

_....

.. -.

- ... -..

.. ..

_...

.

-

3

C) ()

Ib 1-

0 tIC$.

"

•

I

I;)

-.

•

"?-"

•••••

_.-

~.,.\.-

j

o· . .r /~ t...

t:"\

\.,.\'..:'

r.... ~ -11
~vt
-. ..

~

\..:Ji
..

......

.IJ..

;''\
.

"'7-.I .-j"'\. )" ../"'/
I

~

--/~ ---..;
~-- J

c

---A
.Av"t
{
I i ;.

16

/OSD

7£"ie/VJI/vA L£

c
1~1 j:" S S,':~.G ~

2/310
I ? 72

Po 0 L,.
r--

. '

IG 714/1-1

jV(c:)SAf..c

L

~ r-t)IC /'v'1~~ssAGe 1-1~!~v')l.lt/G

USt..":/{!

C:>c

Prf.:OCf.·SSJ.~/(~

o
26

MAJOR REASONS FOR SELECTING
QTAM OVER STAM

.. QTAM QUEUING TECHNIQUE
~

HEADER ANAL YSI S

~

ERROR MESSAGE HANDLING FACILITIES
ERRMSG
CANCELM
REROUTE
INTERCPT

. "

#

TASK MANAGEMENT
...,~'

:0

RD/WR TO COMMUNICATION LINES
RD/WR TO DISK QUEUES
WRITE TO TAPE OR DISK LOG
ACQUIRE CORE BUFFERS FROM POOL
RELEASE CORE BUFFERS TO POOL
BUILD CHANNEL PROGRAMS
PASS MESSAGES TO N~ESSAGE PROCESSING PROGRAM
RECEIVE MESSAGES FROM MESSAGE PROCESSING PROGRAM
PERFO RJ\A MESSAGE HEADER ANALYSIS

• CHECKPO'"INT/RESTART

\

27

o

.
Te-L.ECQMMUNICV\7tONS
,

S~$IC
'.

\~'\a'·Hab· Foe·

ACf!ft!Ss

.~--\\Ov\-\ S.p~co AN~

LowS ~~£t)

Ti'i(.M"" At...S

QTAJ\'\
o

Q\J€:UEb

Tr:!.£CCMMl.IMfCAT/QNS

A C-o M"l.l-r~

MJr-rH'On -

I-\ANOL.lI~G lANGUAc::-t

AccEss

o

Mtl"SSAG(t'

FO/t

Low S:~r.tG9

TE~1\11~A 1..S
•

. .. . (
c· ).

.

,

'

o

.'

~

".--I .

,.

,;

.rI·

I:. ::.;:;. ~~~:;.~
C·~~~~~~j

,..•..• 1

~WII

""'1-----

.:..--.;

-I

:.i

-.--rs
."

CODE:

.r

Ii.:

·'"crmir.d

DS II: Data $of
C?U • Cc:r.ttcl

C .. Com;>en~nt

•

c;:

rm

?;OCC5Z!r.Q

U.... S,

r-;

d.l

:..!_ _ _ _ _

.<

LJ
..

.. ,....:6>; ...
.I./J~

STAM
TERNUNAL SUPPORT

o ?::R.:~\ T~N G

D:SI<
O.PERATING
SYSTEM

SYSTEI\l.

1001

x

'&030

x

1050 (SWITCHED)

x

1050 (NON-SWiTCHED)

x

1060
1092/1093

x
x

1130

x

2260 (LOCAL)
2260 (REMOTE)

x
x

x

2740 I & II

x·

x

2780

x

x

S/3'6O MODEL 20

x

·X

,S/36O MODELS 30 THRU 75

X

x

AT & T 83B3

x

x

W/U 115A

x

·x

AT & T 33/35 (TWX)

x

x

TOUCH-TONE

J .

x
x
x
I

I

x

x

c·

x

. . PHONES
TOUCH-cALLIN

o·

o

_ _ _tilililW_.tdiillililtfiilliliriilillilWrt_iittillliiirttiiiliitMlifeiliiillitiilliliitit=
iiiiiiii-¥_ttb.Wit_j§m_5it_twiliii:!b_i#i'i#_bit_~t#_r_
iWiIIliNiiiilliiiWt""""'iiiIiiiIiIiiiilWNiililiffIliilllilwuiliiiiiIIr-FIlillliliW¥fiililiiliffifE_e.lilliie::UIIlIiI'!I"IiiIIIIIWr_:,,,.m_!!fn_wr_r- - - - - - - - - - - - - - - - " -

~~.'...

,......-:.~<_'I__"' ..r' •.""O' ..•,".;.~-.".'"'

,... .....

. ..

_It;!: ..

~7t:a>:.':\..1'oCl!:ltJ'· '"''-.. ,.~. ··;;r·'';·"_''l·'1··~'''IfYo~,.~.".;___ ,,",,,~ • •

"..,.
~

...
'

..

c
..
('j

·O . . a

~

(rit~"'/N~

,-"

~ ~~-r
r~\.;·t

•

~I 001 r;: fJ r...A-r1 0 "J
Q,f;
~/~ ~)

RAtg.,JS LA7/Q N°
\

@

t U

-';""'1£

S~~2)NC,

I,JI-tM

07'l'1t(!

'PA~-r4"1/0/JS
~

'-{

~~)

,

~

~-~ 1~\.cJOi.'·'~

I" G'

.,Q·f;:

·
·",' ·
"
H'
'.'
.
.
rl':.I'
U
~::

~ ow. "IJ

.

,..';4* ,,;.'"

V

1.01'

.~ _. ../-,

{} :

o

I?"~\
"'" ~
",' .........,
"
~'¥ \j V

,>\,2

t~

/..,.,

rJ

,~

,

/

,/'

Vi ,)"," ....

f,..;:;a.

o

B7A M

fViACeo S

<> De Cf-A/Z A-rr'Ve

e T }VI 0 .D

' /v1A C1

-rRANS II~N -r ' 1'-1 A C 2 o~
CLOSE

OPEN
LOPt!N

<>

0 A-rA

/-1 A.N Dl../~/G

ReAP
~RITE

, TWAJT

Co N-rJaol...... .
C H G,.N-rRY
feESr:7PL

<>

L€f\.PFeT
TRAJ.JsLA-rt' .

(3 U F F,e r~,

MAWAGt£M6N T " PtA "{(oS
ree:Q8\4'F . ~
~cL.I3U ~

,

•
-

.

'c,

.

,

..

"'~_,_~

. . . _______ __ ____
_~

~~

~

~.

~

~

,~

__ __________________ - . . . . ;. . . . . . .- . -.". .-.-.------.
~_M~

-_~

o
~

..

I~

cGla

.- [4£AG

-

~

GCb

.. ::: :~:~ \N'A fT. _.~-~...._
~

..

r'''-':--

j

..----...~-. . -,.

. •

. -..

~~~~~~~~~~~~~~~~~.

~

--I

l

.

-. ...... -

~

I - ----- -- .-- - .

i

...-

.

111m,)

.-

§ C.:r/o

'

.

I\'1.·' ... ... .-...... -- ..

l'NTErtflVP,..

......

...aD

--.............
~

.

)

o
.

;'

.

,

: ..-,..;;:::;;0

{:.

::.:-g

1#r2, 0e "'fIr;
t

t

4 ;

ON I.IW£ ~s 3

·'·t'

$ :

; :

;

?J

: ;w

.~
:.- .:;;

ZZ"IfO

i

fWd-

~

<;arB' ;;;

"

4.

if Y

:;:s

II

M

...

I;.;;

..

..... ·..,~·t··~~

..

=-~:;!:' :'T.:.~:~-':':':a!·JZ: <,~?; 4:~P

d)? vf~~~7 ...

?::/.7 Irlz:2j

"-.' .as A~I(Cbrc.o UN~' ····,eo t6 SS ItJG
,

•

-

.. ~ .

.

r.

-- .

, . ,."..

G~t~G~OtJtJ£)

PIto Ccr SS3 "\1 Gg

.i-'"

i

''''~-'''''----------7-'V'

J---..

CJ.,::, :;.;~
V.lA:1
r

,.

r

~.

l
t!

VJRKTc

H"----'"

r
\1/

1\

-

--:0
t,

..... ~1 ---

'

o

I'

'<

L-:

v:~:~71::·. ~

v~C:2S2~>~~'~

:1

,0;/

"

\:

~

~

V

r,

ri

"'...-i ...... i,JI

fDrrS:,~

\J

~~,2'~

I

-

i

"~

.

,

~

~

,~~__~__________________~t,\.
'."
!

;,

L

",j

u

;',-<.~~--

\i'/

~~

~

w

,
'1

Ii
i-I

;1

r.
U
,~;,

~l

U

~

1'--------------------~
t-"
~

~~

~a

VJ~U~:

~

i

"J,:9

r

~~OCESSfiNG

n

-

U

,;
1

~2r.J~uN~;~G

iJ

:1~

I,~

H

n
'"

J

,

F

~

\)

"

0

/

\ 0/0 I

11

'~j >~:; U

~

'1:~)

~

. ":iy'/~".'

\':

Ii

ij

I',

oJ

,
~
/'

- I- - -

1\

.a... ~

"

~

~

~l

o

..-

-."

-_....

--

-

." . .

-.... -

_..... _-

.... - ........

o
•

I

........ b& , . . . . . . .

Ll'~

o
/

J

6'" Sc,.

. '~f~ n, \';..1 t.

--v a'i: f'~ u. . t:t ~
t~'ijS G. Q \J(t/~
a

~___......al

~
~
~
~i______.:;;<;)'-'_ _ _ _ _ _~\~.' _ _ _ _ _ _~i.J

(lrJ.'II!·
·MS~.

P~~t£>S

--,tMf!

-- .(\
;:: S ••
' ~~
b' \,;

~ I'j

'W'"

· ........._....................-........

,\

.........=
.........=
. .-.. _==
....

~,~.'"=-.=

~=:.---.-

.... "". -'"

'

c
~

~

~I

·~I
~~
Q.~

67A Jt1
L.IAIE

X

p~'(J GIZA

10
M

~

t

~~~----------------------I UScR.
i

iI

PRo cE. S S Ilv ~
PIZ 0 G/lAr~

C'<--;.1~""''''''''''''1

~

i

~~----------------------.

I

I

I

SVPc/l.VtJorl.·

I

;1

o

o

~~

-

D U F FER t k\J (,

smOon

~
~

.

J~

~4-----------~~i

rf

________________________~______~.r--~
13 t,f ~~~~
ti

-

;

o

D

•

•

...

•
,'t

- r -z-..-

..

'-=_.
__ ._=._-_.,=-'_
....

.~-~='
'--~'

/~

L

--_._----._----_

. . . . _._-----

.-

1'(f..Q)

@C\.1()~J([J; ~ /~4 711 t) l~

t~------------------~tl
~
)
1
"

'Q
.
,

==
-_ ...
. ",.,,,---_.

.i

It ::3 V'f ~ 9tY G

o

wtnft:ft"ii!tit"'*¥RUf

_Her -TTHPP rrmrnmwr:!!!'!!

7

C1J'V~~

CORE

STor~\GE

ES7Hv\A If

(DOS)

2070

Ei~~OR CO~l~~CnON
E~OR

190

COUNTS

~.AODEL

CHANNfL

CONT~l

P~GMMS

OLOCKS

01AfJ.jVAC~O

INSTt:tUCnONS
56

POLLiNG LISTS
ADDRESSING LISTS

C:
.. LINES
16 1050 1, (4 PER LINE)

o

-e4

131AM CORE STORAGE fST!J~4ATE

o

(DOS)
C7.\/.OD QAS~C MODUlZ)
fR~OR

COliRECTfON

ER~OR

COUNTS

2930
2070

MODEL CHANNEL PROGRAMS
CONTROL SLOCKS

GTAM tVACRO INSTRUCTiONS
POLl~NG

LISTS

ADD~fSSING

LISTS

OUffER MANAGEMENT

o
20 LINES

eo 1050°, (4 PER LINE)

o
,

,t

"

-'

f~\;)

[,1

~

()".
,
I

S

..

~-:-'

c.::."'-'.8,{~,

I

W

i
f

•

c·

•

~;.,./1

i--~" '/ \~

/'1

"-~

~,'
~.

c:;,
C"

~t:o,,;;;J

,/,p""

""~

"*

c

QTAM

TERMINAL
~~\~I'U\L

SUPro~T

D!S!(

OI"""""'1~-'''-'G
'i.:~'.;";.~';;....J .

QyERA11NG

SYS~Y.~

SYSYEf~

leOl

X

1030

X

X

1050 (SWITCHED)

X

X

1050 (NON-SWITCHED)

X

X

lOCO

X

X

1092/1093

X

11~

2260 (LOCAL)
2260 (REMOTE)

X

X

2740 I Sa II

X

X

AT & T 83S3

X

X

W/U 11SA

X

X

AT & T 33/35 (TWX)

X

X

C

27"w
S!3CO MO"DEL ~

5/360 MODELS 4O·THRU 7S

TOUCH-TONE
PHONES

X

TOUCH-cALLING

0

,

T~"R M', NAl.

" r~1eSSAG c

~ e:-~; >~
d ,. ~ I 4

U

pQ '-t.INC,

'

Te~.'1Jl"AL. A~DRtSJ/NG

o

;'.IfesSA\,( S~NDING

CAL .. ON

o

CRf{Ii~ f)~TEC-r19'"

~

A

/\

)(

V
"\

..

,~

~\

/,,-,
,~

,'

J",

D,AL.. fA. e/l-I.",!

'-?;\
)(
~..

TRAWS i.ATIIJN

Po. "'.,. r= c) 'l

~.~

ANOCOletae C-floA/

SorA '7"S -r,C

~\,

''''

"\

s

'\.?

,.,
.1'\

~\

CoM "'" v /1/ ICA -r, 0t../ I. I/t/Iit S

Co ",-r/eo,"

... Na"fWOR"·

".,
"

7e~MI/"AI-

•

/)A7'c SYAM P"oIG
f'4t-SSA~~ St!Vl.Vl!NC~ C~/.f! CIC,wG

01>

JVies,sAGE

T'ipff?ECoGwr,-iQ/'J

•

QUE'U'I'('~

OIC"

• 7ip.'f1.!

;t.,

•

.- 7ctf! MIl\! A '- Tes T S
; OMA" . /"reNAwte 0 F fReolt

. • CM':! Co k

,~

X

7e~MINAL.

COD~

~

\~

.

.

•

~,

~~

•"
BWFFeiC
. .PoOl. MANAGe N tNT
o D'(NAio1lt " Bv FF!'Zf:'II/6
~

'.91

..

Q

• J.NS,"-IER'IIIC1

--

--

~\..?
~,

i?ECEJ""NG

.. DiAL'r'lC"1 A

~ c:.,""";/\ (,.:I
~)
',: l

/\
\?'

AN'O

C>1t

• LOG G rflf'G

"\1'

,~

"!,,
,,,'"
'\

H~$.s. A (, E S 0", f) IS. It
··Core.e .s 70 RAG E

0(:

'"

H~·SSA G t!"S

r/'(·T(!.,,!c~P"'/I},{ (it: IV7~s.sA.G~s. F"'l AW.
Ovr 0': S~,?V'C~ Ui( "",Io/At..
• RfIRov..",yG 01: U'dDe.Lr.rrRAff'( H~SSA e.. (s
F;:{!oie. NOY'F,C..t:t-r/o·,..r 'To 7iRMII~ALS
• CA toIt~ '-Co A -r{o 1./ ' O F t1:~()It f1~5t AG £ s

•

o

.1'.

.

'. "'\
,;

~

\.-1
~,

\i'

-- - .-. - . ~l\

X

.Q7AM

JVlACRO

~ GROUP J.

:r10

0 IS" 1= I j.J I 7"10 ,../ ) Xv l-rt A -rtO "'.J 7iIl M'I'/ A

o
o

Y'/o ,../ -

.

• G~ovP 2.

C " N.., R 0 L. BL. 0 tiC:
• G 1(.0 V +'4

(VI E S SAG
~

G

(2.Q 1,;4

p

1 ;

TAs " t! J. B\./~ pe,t' J)e F,,,,

I

"T(,p!/ - ;

I Z.

3.
ft,

J-IA~/D LING -

2.7

4-.

D{!LlrvlI7~RS

10

-

o

• Gre-~ uP ~
CoN-rlZo,-"

1\{r;-r"(rVORIC'

(07AI- -

70

-'.

c

I-

I

I·

LANGUAGe

:r

c

. Q7A.M

•

Op~rcA-rH"C,

r;tJVJI~oNMe"'-r

~
Q7AM
/Vi c S SAC, (!. '.
C'ON-rRoL.
.P~OG1CAM

QTA?-1

I.

Y~Qc:.~5S;,

.i

ca\1cru~s

.-cs----z~

~

v

I

Qu-r~\4,

ca\tG u£-S

i

Q-rAfJ\
Me:~.sAC,E

P l< 0 C, Ii S S II" €., .
p~O GRAt1

c

.
-

.

.1_s_u_P~.\l
.
.__2_V_'S_O·_re..___.....1

. \-.( seta
OA7A
~ETS

.. .....
.

•

.

-

.

.

~

.'

c
M~5SAG~

QrP\M
.
CC N7ao La

I

G£'

M"tS7

. .

~
"
r te,()G I8AM

IN

PAR ."

~1I('Hf'1S1' ?~'f~ · '1'1 tOt/£. of -O-J.!s£ PAk-r('1i'OW'.s wNfItJ O.
"elZ/t;l/~A-r'I/()
-1fl£ tli~SAC~E CoW7l~c' fllfJf$;;'~\;~/Jo

M

I

~t

o
.

M ~o..

~-~

COf\t7~~'-

0 \,J"T

(

I

"t)~FI=~{~

". 'NPU-r

~--Z::-'"

P~cJG.

"\1"

aUt=',:, ~

~-,--~--~~--)

OUT PU-r

.

-i

J

C t-lA 1\11\1 G L.
.

13

P~O~RAM

,'(

c-(

F' F' ~ re "S

F~OM B'-I F F S n P\") \) L. ')

o·

•

.

_.

.

-.-

.

-.

...

•

/

.

...

..

.

...

..

. . , .1,. "-t' .',. __ .'. ".. _"

Q'TAJ~

o

C or- e.

'QTAM
/Vi t; :; $,4. Cl t:
~1\f7'~ f) ' -

PRoGRAM
"/

/

/

/

/

/,/
/
/

/

./ /
/.

/
/

/

/~

/ W
/.
/VI
.
/

/

/

/

/

/

/

/

//'

.

. 'M

./ / '

PreoGJ2A/1 /
/.

/

/

/

/1

. /.

-rA
/ ./;. / /
e S S.,4. " e: / / /'

/,

/

/

P~OC~SS/i~G /

/

./

/.
/

~

/

'/

/

/

/

/

/

,~

/

,

/

c

I

/

/

/

/

/

/

/

/

/'

/

,

SA." lC G e ~ V N P
?~oC1J2AM

0,
,

'

13 AS I~ Q T;!\ M, /\1 00 LI, I:.-S
-re.~R. ~111"'.4\" 7c.s -r /VI 0 D 1.-1 J.' e
C rJ:r elC p~ II~f . ;\'1 Of) V~ '/6

flA-r(..H

;...

AND

CV7Af'""l
Q7AH

Ie,

If)~-o

7i:i~M'NA '-s
B/92

c
[ Q7AI'1 M
,

f3Vr:-~Ete

[ . Q7AM

(!sSA

C"l.~

Po o (.

Co N'''''I?O~

1272·

tvre S.sAG, ~ PRO

LIs c ,~ <::0 VEt:o a. N

'~/310

Ct: SS',";C"I ..

I!' S.JA G(

·

I-~",~" I~b

393S'
7 0 0p
~604S-_

c

.=."

iTiIiIiiiIIIT!!7Ii1111l-W_WfI7.ru::'.,-:m_:!!Wlillile".lMIrrmlllllTt'lIIIirUIIiiIII"
,i'.'"M.""iiilirr_w:-.z
.
_ _ _ _ _ _ _ _ i"

Oitilililiiila*_Wt_ifitt_tW*IiiIiIiId'_ttWiiiiil"UhMiliiiWIIiIiIIUiiliiiWi'iIiiIiIiiiIWtt.","#liIiIiiI=r"Iii IiIiIIIrlg:WWittililtlll'C."1"tliiiliiil
li
u

~"'_\N_ttu'_'#nt_#itt_wwr_!ti_ie'-_*,ff&_iHit_(-,_UTW_"
"!tt!¥l:iiIiiilii"

f

,

'.

,

'

.

.
,

. . ..

..

. . ..

"
,

.

.

,

'",

... ..

.

..

.

.

.- ,

.

,

••

, ' APPU~.TlONS FOR DTAM AND QJAM ~

.

.

,

'~

-.'

."
•

e'

. ..
•

•

.

,

. "n~fE C=OlLOWING TAOlE ANSWERS QUESTiONS REGARDING THE ADIUTV Of BTA~A AND
Q1AJ.~ V/ITH OR WITHOUT USER WRITTEN PROCESSING ROUTINES TO SATISFY THE RE-'
.. ',QUlWAENJ"S .OF VARiOUS. TIP APPUCATIONS.
.
...
o

, I ' •

,

•

..

.

'

APPLICATION TYPE
.

.

.
"

'

..

·PROGRAMMING APPROACH,

.

" DrAM

'
'.

.

•

•

.~.

a, "

ALONE

•

o

DiAiA
. AND

. USER

PROCEsslNG

OCAlA CO"u.eC110N

.

•

,

.... . '

".'

, ..

.

'.

~""
.
~

.

.

'

. PJ":SSAGE ~/ITCHING .
~OQUM~'
lilIi'"
••• "

'0'

,:~:

~.

•

'.

'NO'

.,

· m.
, .: .... : ;,' o.

.

\7"'~

~'.

\~
.0'.

~,.

, ~e;AL iiMfai PROCESSING

.

NO"

.

. . ..

NO .

.

. . ~,~TAM PlUS A USER PROCESSING PROGRAM REQUIRES rNO PARTITIONS UNDER DOS •
.

•

..

'.,

•

\

.
1
."

•
I

•

MAJOR REASONS FOR SELECnNG
QTAM OVER BTAM

•

QTA,\A QUEUING TECHNIQUE

•

HEADER ANALYSIS

!

\

0·"

•. ERROR MESSAGE HANDLING FACILlnES
ERr:MSG
CANCELM
REROUTe
INTERcrr

. ..

TASK NANAGEMfNT
RO/NR TO COMMUNICAnON LINES
RO,lWR TO DISK QUEUES
. WRITE TO TAPE OR DISK lOG
ACQUIRE CORE BUFFERS FROM POOL
RELEASE 'CORE BUFFERS TO POOL
8UILD CHANNEL PROGRAMS
PASS MESSAGES TO MESSAGE PROCESSING P~OGW'-A'
RECEIVE MESSAGES FROM MESSAG~ PROCESSING PROG~
PERFORM 'MESSA'OE HEADER ANALYSIS

c

• CHECKPOINT/RESTART

C'
, ..i

.J /

SESSION REPORT
COMMON - Chicago

Session Number

MON D2
----------------------

Chairman

R. W. Page

Time

3.30

----~~~----------------------

Speakers

Session Name

1800-360 Communication

Attendance (No.)

100

~~~----------

Wayne Barnes - Pacific Gas and Electric Company

o
Synopsis of Meeting

Remote Job Entry.

Mr. Barnes gave an excellent talk on 1800-360
Hia system runs under TASK (Non-Process Mode) but

could be run underTSX with slight modification.

The session paper

gives details on application and implementation including much of the

coding •

•

---------------------------------------_ .._-_.

o

An IBM 1800 - S/360 Remote Job Entry System

Presented at the
Chicago Meeting of COMMON
April 8-10, 1968

c
by
Wayne R. Barnes
Computer Systems Analyst
Pacific Gas and Electric Company
245 Market Street
San Francisco, California

o

c'

LIST OF FIGURES

"

o

•

Fig. 1

P. G. and E. Service Area Map

Fig. 2

Schematic Diagram of 1800 Computer System

Fig. 3

Schematic Diagram of S/360 Computer System

Fig. 4

Schematic Diagram of Communication System

Fig. 5

Logic Chart of S/360 R.J.E. Routine

Fig. 6

Logic Chart of 1800 TPSTR Routine

Fig. 7

Logic Chart of 1800 Receive Routine

Fig. 8

Logic Chart of 1800 Send Routine

Fig. 9

Listing of 1800 TPSTR Program

TABLE OF CONTENTS

I

Introduction . .

II

Background of P. G. and E. Computer Systems.

· 2

III

Remote Job Entry Programs for 1800

· 5

IV

Remote Job Entry Programs for 360·

· 7

V

User Experience· . . . . . . . . .

· 8

VI

Conclusions and Recommendations·

1

. . . . . . . . . 9

o

o

INTRODUCTION
The concept of entering data into a computer from a remote location
is not new to the computer industry.

Many early techniques were successfully

developed, but in most cases they were not economically feasible.

It is

only during the last year or so that improvements in the field of multiprogramming together with advancements in computer communication techniques
have become advanced enough to make remote job entry economically attractive.
Before describing to you the remote job entry system that was developed at
Pacific Gas and Electric Company (P. G. and E.), I would like to briefly
describe our facilities and relate a few pertinent statistics about
our Company.
Pacific Gas and Electric Company is one of the largest combined gas
and electric utilities in the country.

o

area.

Figure 1 is a map of our service

As can be seen, it stretches from the Oregon border, south to

Bakersfield, east to the Sierras and west to the Coast.

This service

area includes 47 counties and 94,000 square miles of territory.

We service

a total of approximately eight million people and have 22,000 employees.
Because of this far flung service area and the trend toward centralization of data files, remote job entry to a large central computer
system is becoming an extremely important consideration in the planning
and development of Company computer resources .

•

-1-

II

BACKGROUND OF P. G. and E. COMPUTER SYSTEMS

EARLY SYSTEMS
The use of digital computers at P. G. and E. has evolved in the
traditional manner of many large business corporations.

The first use

of a large scale in-house computing system was for'data processing and
was primarily dedicated to such applications as billing and general
accounting functiol.1s.

Early systems at P. G. and E. were therefore

configured along the lines of the 705 - 7080 series computers with
1401's for peripheral support.

Early attempts by our engineering and

scientific personnel to make extensive use of these types of systems
for "mathematical" calculations proved uneconomical.

It was considered

far more economical to send the Company's scientific and engineering
type applications to service bureaus which on a contract basis leased
time on their scientific type computers.

I am sure that this sounds

fami1ar to many of you since this was a common practice in the late
1950's and early 1960's.
While our engineering and scientific computer requirement increased
significantly over the years, it never reached the point where it could
convincingly support the expense of a large scale stand alone insta11a.tion
for scientific computing.

SYSTEM 360/65
The procurement by our Company of a System 360 Model 65 temporarily
reduced our dependence on outside computer time.

This computer system

which is shown in figure 3 can economically handle both scientific and

-2-

c

commercial applications.

It has not, however, fully solved the problem

of accommodating the needs of engineers who are located significant
distances away from the central' computer complex.

In "order for ou'r

Company engineers to make use of the System 360/65 it was necessary
for them to use a courier service to pick up and deliver the work to
the computer center.

There soon developed a significant material

handling problem which greatly reduced the "turn-around time" for
jobs being submitted to the computer.

1800 COMPUTER SYSTEM
It was decided after a review of several alternatives that the
lease of an appropriate satellite computer with provisions for remote
job entry to our System 360 would significantly improve turn-around

o

service to users, reduce our dependence further on outside computer
services and most importantly alleviate a serious material handling
problem.

We selected an IBM 1800 computer for this task for the

following reasons:
1.

It can compile and execute Fortran programs.

2.

It can support many I/O devices including paper tape,

magnetic tape (1130 systems did not have this capability at the
time of evaluation) and an incremental plotter.
3.

It can interface with the System 360 via standard

telecommunication lines.
4.

It has the facilities for the possible development of

a conversational time sharing system.
5.

o

It is economically suitable.

-3-

Figure 2 is a schematic diagram of our 1800 computer system which
consists of the following equipment:
UNIT

MODEL

1802

DESCRIPTION
C.P.U., 16K, 4 microseconds

2310

Al

1442

6

Card Read-Punch - Read @ 300 cpm
Punch @ 60 cpm

1443

2

Line Printer - 240 lpm

1816

1

Console - Keyboard

1627

2

Incremental plotter - 12" or 30"

Disk Storage - 512K

Paper Tape Reader - 700 Chars/sec
Paper Tape Punch - 160 Chars/sec
2401

1

7 Track Magnetic Tape Drive - 30KC

2401

1

9 Track Magnetic Tape Drive - 30KC

2701

1

Data Adapter Unit

{)

The 1800 computer system is presently being used by all technical
computer users in the Company.

Small and medium size applications and

those requiring unique computer output facilities are processed directly
on the 1800.

The larger, production oriented applications requiring the

higher power and software elegance of the System/360 are being transmitted
to the System/360 by way of our remote job entry system.
how this is accomplished schematically.

Figure 4 shows

It should be noted that the 1800

and System/360 communicate with one another over a 2400 BAUD, full duplex,
voice grade communication line.

-4-

o

III

4:)

REMOTE JOB ENTRY PROGRAMS FOR THE 1800
Our 1800 computer system is currently using the TASK operating system.
Our programs are executed in an off-line mode

by the non-process monitor.

In order to develop a remote job entry system on the 1800 it was necessary
to develop our own software routi.nes for the 2701 Data Adapter.

The routi.nes

that we developed could be easily modified to operate under TSX or MPX and
probably, in some cases, be easier to implement.

The routines for our

remote job entry system on the 1800 consist of the following programs:
1800 TPSTR PROGRAM
TPSTR is an 1800 subroutine that provides interface between the 2701 STR
device and the 1800 system.
language.

This routine is written in

A logic chart for this routine is shown in figure 6 and a

complete program listing in figure

o

1800 assembly

9.

TPSTR is called via a standard

LIBF and contains the following features.
1.

Opens line for receiving or transmitting.

2.

Provides an adapter busy routine.

3.

Provides all line control and I/O instructions.

4.

Closes line upon receipt of proper control record.

5.

Sets up an address in the TASK Interrupt Branch Table and

provides an interrupt routine to test for proper execution of I/O conunands.
6.

Provides an error retry routine and control messages for the

1800 console operator.
7.

Contains a program switch routine to drop invalid records without

losing line control.
8.

•

Can operate in either a normal or closed loop test mode.

-5-

1800 RECEIVE PROGRAM
Figure 7 is a logic chart of the P. G. and E. 1800 Receive routine.
routine was written in

This

0

1800 assembly language and performs the following

tasks.
1.

Reads records from the line via the 1800 TPSTR sllbroutine.

~.

Contains a LINEPR subroutine that translates the characters

from 4/8 code to EBCDIC.
3.

Expands the condensed records in the buffer to the' proper format.

4.

Logs System/360 "//JOB" records on .1800 console for accounting

purposes.
5.

Decodes System/360 records to provide the proper

l44~

carriage control and print functions.
6.

Overlaps the line routine with the 1443 printing to provide

maximum throughput.

c

1800 SEND PROGRAM
Figure 8 is a logic chart of the P. G. and E. 1800 Send routine.
This routine was written in

1800 assembly language and performs the

following tasks:
1.

Reads input from the 1442 card reader.

2.

Removes extraneous blanks. from the right hand side of

records based on the type of input.
3.

Contains a HOL48 subroutine which translates cha.ra.cters

from 1442 card code to 4/8 line code.
4 . . Places the condensed rec.ords" in a 320 work buffer. (2 chars
per word).

-6-

c

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -_ _ _ _",lI

5.

Modifies the CARDN routine to accept System/360 "//JOB"

cards and also sets up the Mask and IaCC word in the TASK Interrupt
I.D. Table.
6.

Logs the System/360 "//JOB" records on the 1800 console

for accounting purposes.
7.

Send s reeo rd s to the Sys telil/ 360 v ia the 1800 TPSTR

suhroutine and overlaps line transmission and card reading to
provide maximum throughput.

IV

REMOTE JOB ENTRY PROGRAMS FOR S/360
Programming requirements for the System/360 R.J.E. package were
greatly reduced through the use of the IBM Synchronous Transmit-Receive
Access Method (STRAM) routines.

o

STRAM is a MACRO language at the

assembler level that provides:

1.

Environment definition

2.

Line control

3.

Data transmission

4.

Buffer Management

5.

Data translation

6.

Error procedures

STRAM routines require O/S option 2/MFT release 11 or later.
It is the responsibility of the user to write a tailored program,
using the STRAM MACROS, to handle his requirements.

Figure 5 is a

logic chart of our routine which was written in 360 assembler language
to perform the following tasks:

•
$.M=4$M2ZE -#, ,,'" U"U"&U.J$,' t J

-7-

rt:: II 1U$I,tti.UU,eUtAAtl UtMk4iAlM4AU,QIJ"nWiii=======_ _ _

5/360 RECEIVE SUBROUTINE

1.

Reads a 640 byte input record from the line via

o

the STRAM routines.
2.

Translates from 4/8 code to the BCD subset of EDCDIC code.

3.

Deblocks the buffer, expands the records to 80 chars.,

and creates a O/S 360 SYSIN tape.
4.

Writes Message records on the S/360 console.

5.

On

receipt of proper code closes the line and closes

the SYSIN tape.
S/360 TRANSMIT SUBROUTINE
1.

Reads the standard SYSOUT tape.

2.

Removes entraneous blanks from right hand side of the

records.
3.

Translate records to 4/8 line code.

4.

Creates a 640 cyte buffer record and sends records

o

to the 1800 via the STRAM routines.

5.

Closes the line and the SYSOUT tape upon receipt of

the proper control record.

V

USER EXPERIENCE
Early attempts (Spring 1967) to implement the communications routines
on the 1800 proved frustrating.

The channel adapter for the 2701 is an

R.P.Q. device which means, of course, that it is not supported by the 1800
software systems.

The early documentation that we were able to obtain was

inadequate and in some cases incorrect.

Even the valiant efforts of our

IBM S.E. 's and C.E.'s proved futile and it was necessary to obtain the
-8-

o

help of plant technicians before we vlere able to get "on the air."

After

we obtained the proper instruction on the use of the selector channel we
were soon able to transmit and receive data.

The only other major problem

that we encountered was a problem in duplication of transmitted records.
This problem was soLved with a hardware fix to the 2701.

On the 360 side problems of implementation were minimal.

The System

360 fully supports the 2701 Data Adapter and provides the STRAM routines.
All that was necessary to make an effective package was to include our user
written subroutines.

In addition the use of MFT

insures full utilization of our System 360/65.

with partitioned memory
If there is any criticism

to be noted it would be in the area of operator instruction.

Most of the

early "failures" on the System 360 were caused because the operator did not have
proper written instructions.

o

Documentation in this area is very limited and

standard operating procedures must be developed as soon as possible to insure
effective results.

Overall our experience with our 1800 - 360 R.J.E. system has been favorable.
Aside from the problems which I have described we have been communicating
with the System/360 since the summer of 1967 with excellent results.

VI

CONCLUSIONS AND RECOMMENDATIONS
1.
to do.

Our 1800 - 360 Communication System does what it was intended
We are able to enter jobs for the System/360 through the 1800

computer and transTIlit them to the 360 for processing.

We are also able

to transmit the results from the 360 back to the 1800 where they can be
printed or plotted .

•

-9-

2.

All Hard\vare and Software, with regard to 1800 - 360 connnunication,

is currently working satisfactorily.

There are very few I/O errors and

"turn-around time" for the System 360 jobs has been greatly improved.
3.

Voice grade line speed (2400 BAUD or 300 Chars/sec) is inadequate

for high volume I/O in a remote job entry system.
4.

Programming for I/O devices attached to the 1800 selector channel

is not compatible with System/360 programming for the same devices.

5.

It is not economically feasible to print all the 360 generated

output on the 1800 - 1443 printer.

Any job in which "turn-around time"

is not a critical factor should use the 1800 - 360 R.J.E. system only to
transmit the input data to the System/360.

6.

Documentation of the IBM selector channel R.P.Q. C08037 should

be revised.

Our major problem in developing this system was caused by lack

of the proper technical information on the use of the selector channel.
7.

If the nonnal 1443 printer workload for the 1800 is quite heavy

there is a need for an additional 1443 to be added to the system which
could be dedicated to the printing of 360 output.

Thi~

could also

apply to 1442 usage.
8.

The user should develop efficient record compacting routines

in order to eliminate the transmission of unnecessary blanks.

9.
essential.

Operator training for both the 1800 and the System/360 is
Console messages to the operators that can be placed in

the normal job stream are extremely vital and should be used frequently.
10.

Proper communication between the IBM C.E. 's and the telephone

company technicians must be established early· in order to avoid possible
system failures do to "misunderstandings."

-10-

o

Tt U

o

ACKNOWLEDGEMENTS
1'hl' Author wishes to acknowledge the following individuals for
providing considerable advice and assistance in the design and development
of this project.

Mr. G. A. Maneatis, Chief Computer Application Engineer
Pacific Gas and Electric Company
Mr. W. M. Picks1ay, Jr., Chief Computer Application Engineer (Retired)
Pacific Gas and Electric Company

and

o

Mr. H. U. Brown III

IBM Corporation

Mr. D. E. Ees1ey

IBM Corporation

Mr. W. J. Fant, Jr.

IBM Corporation

W. R. BARNES
3/11/68

\.JRB: tic

•

-11-

• POmR VAL!.EY

:

~ , ,:, ,,;::,\,;,
'.

,

"

'

,.'.,' ~

-, .... '

;:;,.~h·~·natic

Figure 2

Diagram

of
I

~,i.)O

Cotr.puter System

201B
Data
Set

1800 RPQ
Selector
Channel

iL.
"-

....

"7

2701
STR
Data
Adapter

1

1816
Console
Typewri tet-

1802
CPU
16K

-

Paper
Tape
Reader

o

-----

....

Paper
Ta.pe
Punch

1442
Ca.rd
Reader
Punch
1627
Plotter
1443
Printer

•

JIL

......

To Sys tern 360
FDX Line

...

-;II'

--------

PACIFIC GAS AND ELECTRIC COMPANY
System/360

Model 65
~

Selector
Channel

CPU
512K

~
1052

2870
Multiplexor

Console

.,.....

Selector
Channel

jChannel

I
r

2314
/Direct
I
Access
Storage
Facility

II

-

!

!

/_._----"'
"\
9

2803
Tape

!

l
I

!

Control

!

'D

Trk
400-2
!
.__---l

Adapter
Unit

,/
/

-

,/'

~

I

./

Tape.

I

/

!

,
Control
:....--._ __

_

I

~II~
.

'.' .

7-Trk .. \
. 2400-2

I.

'..

-

"

',._.

)

t

c]

I

r -__.___

I1---,-___

i

2821

I, .

Control

r~-·------·-

i

, I

I

.' . . . .

I

j.

I

Reader/Punch

c

Nl

Printer

J_.,...............""..-ij.~

~"
/;540

1403

--t':

•••

~i·

_./~ -....,..---.J

'"~-------

"rj

H

GJ

c::

I
I

1

~
w

c

c

Schematic Diagram

Figure 4

of

1800 - S/360 Telecom System

o
System
360
Mu1tip'lexor
Channel

f

2701
STR
Data
Adapter

o

201B
Data
Set

~

201B
Data
Set

Full Duplex 240 o BAUD

2701
STR
Data.
Adapter

!~.UU

Selector
Channel
tRPQ
1800
Computer

System

•

SYSTEM 360/65
Remote Job Entry
Logic Chart

Figure 5
Page 1

ost console evcn~1
Control Block to
ind ica.te No
J
Reply Outstanding

Open
STRAM

Write to Opera.to
'STR Routine
Waiting'

o

Write to Operator
'Reply one
Character'
R to receive
T to transmit
E to end job

WTOR Write
perator with
, STR Ready'

o

Yes

Return

SYSTEM 360/65
Remote Job Entry
Logic Chart

Yes

Open
Tape Output
Data Control
Block

o
Wait and test
For Completion
of SINCR or
WTOR

Yes

•

SWAIT
Wait and
est for Completio
of SOFF

Figure 5
Page 2

SYSTEM 360/65
Remote Job Entry
Logic Chart
!

Figure 5
Page 3

o

.

I

I

Write to Operator
SFREEBUF
Return buffer
On
'End
trans
receive
~--------~
/----------{
Without EOT'
STR buffer
Pool
Move recor to
Workarea
SFREEBUF
Return buffer

o

Translate Record
From 4/8 Code
to BCD

Scan
Workarea
For Record
Mark

Yes

lear Tape Output
Area and Write
the Record

Yes

Turn SW
EOT
On

No

o

Figure 5
Page 4

SYSTEM 360/65
Remote Job Entry
Logic Chart

Open Label
Input Tape
Type J
MACRO

o

Remove blanks
From Right
Side of Recor

SGETBUF
for
STR Line

•

Move
Input Record
to Output
Workarea

TTOBCD
Translate
Workarea
From BED to
4/8 Code

SPUT
Send 640
Character

~--------------------------------------------------~

------------------

----

.....

.--.-~~-."

SYSTEM 360/65
Remote Job Entry
Logic Chart

Figure 5
Page 5

Adapter
Turn off
Adapter

SWATT
for
SOFF

o

o

Figure 6
Page 1

13()O TPSTR SUBROUTINE

Store Data
Addr-Count
in CCW

Turn on
Adapter Busy
Switch
Load
Control
Parm
Yes

o
No

Dec
Return Addr

Yes

.~

2

........

(

Exit

\.Via. TVEXT J

•

)

Yes

1800 TPSTR SUBROUTINE

Figure 6
Page 2

Logic Chart

(0

o

I

Set up
CCW
to
Open Read

Set up
CCW
to
Write

Turn on

Open
Swi tch

Exit
Via TVEXT

Yes

o

o

7.m.'V.3'5.W.t!.'f."N.-MW~-.-ij.W~t.#.e.ffl•••
-M.~M5fMW'.J.!I!.Tf.;-~.--.W~[fl1.%!I.mT.-".p'.rrMnr.l!U.'wMeu.'WMT.Tn.?!!.:rr.".:::rMr:ZM::r.!TIt.-.-~"".!1n.r.!!.nr.!!r.w.w.r.--. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . ..'UL"
. Jl

Figure 6

1800 TPSTR SUBROUTINE

Page 3

Logic Chart

c

- i~t-~-r rupt---'"
Entry

to

Q
o

s

Return to

Mrc

•

Turn OFF
Adapter Busy
Switch

Return to

Mrc

1800 TPSTR SUBROUTINE
Logic Chart

Figure 6
Page 4

o
cmvert smtus
Codes to
1816 Code

Set up
Bad I/O
MSG for
EAC

Set up
Invalid Code
MSG for
EAC

Set up
Status MSG
For

Link
to
Error
Routine

EAC

Link
to
Error
Routine

Exit
Via TVEXT

o
Seot up
Bad I/O
MSG
For EAC

ink to
)
Standard

EAC
Routine

_N~J
Yes

Return

c

Figure 7
.1.600 Receive Routine

Logic Chart

-------

.....

Slart

Count in
Print PARM

Turn
on
Switch
'END'

SWitch-.)
Buffer
Addr's

0Load Next
Word in
Working
Buffer

•

INC
Buffer
Address
+1

Restore
TASK
Intrpt
Table

Figure 8
Page 1

1800 Send Routine
Logic Chart

o

Start

Yes

INZ Buffers
With 4/8
Blanks
Turn off
sw 80

Turn on

·1

sw

80

Turn On
)-----~

La s t Card

SW

o

Turn On

sw

80
On

Set
Scan Addr
For 80 Chars

No

Turn On

SW 80

o

, - - - - - - - - - - - - - - -___
Figure 8
Page 2

1800 Send Routine
Logic Chart

o
Set
Scan Addr
For 72 Chars

Place "END"
Char. After
Last
Significant Char.

Calc
DIP Buffer
Word Count

Scan
Buffer
Right to
Left

Yes

IBF HOL48
Convert
Card Code
4/8

On

Off
Switch

Inc
Buffer
Address

Dec
Scan
Count

•

OIP Buffer
Address

INZ

Yes
1

DiP Buffer
Work Count

\LIBF TPSTR
\ Glose
\ Line
\

\

Resto're
TASK

,; . .

Figure 9

FOR 1800-2701 STR

TPSTR-RDL~~N~

PAGE

1

..•

***************************************************

**CALL
*
*
~.
*
*
**
*
*
*
*

LIBF

TPSTR
.. t.AXX'X
AREA
NNNNN

Q(;

. ---, ..

AS FOLLOWS FOR READ OR WRITE

SE~UENCE

DC
DC

_c.uNTRQL.

I/O AREA
DECIMAL CHARACTER COUNT

CONTROL CODES
3- CLOSE
4- OPEN
5- WRITE
6- RECEIVE

*
******
*
*

._ ... ~~AL.I,..._~.EQVff'J.CE; A$ FOLLQW.S ..TO TEST fOR BUSY

*

LIBF

TPSTR

DC

0

MDX

*

****************************************************

.................._.._._---_._-_ ....._._*-.......
0000
0000 0
0001 1
0002

•..__...._----_

.....

_.............._-_._._._ ......... -.-..-.-.--...... . .

LIBR
ISS
1
DC
DC
ORG

2:35E.2609
0012
0092

-........----....-... - ..--..- .•-.--.---...-.--~--.-

OOAC
OOAD
0037

..............-

. ...... -.. ---.....-.....-.......

o

TPSTR
IA CODE
lNTERUPT ROUTINE

18

TPINO

"'"''

TVSAV EOU
TVEXT EOU
WK5
Eau

172
173
55

0000
0001
0003
0005

0
00
00
00

0000
448000AC
65800037
74030037

~

-

-

****************************************************
TPSTR DC
8SI
LOX
MDX

_.

__ .. _....•

- .....

_._------_.- -_.",.._-_.......

.._.

__..._-_..

"

----

..

,. -.--.'.'

-~-.-

ENTRY POINT TO ROUT.INE

TVSAV
I 1 WK5
L
WK5.3
I

XRl POINTS TO PARAMETERS
.MODIFY RETURN ADDRESS

*

____ . ._. ______.__._____ ~~ NAb)',~.~ __~QNIRQ.L. .... eAB~~.EB _. _____ .... __.. __ ._ ..........--........ . ..q.----.-----.---.-.------.... --- .... ,...---.----.
0007 0
CIOO
l88e
0008 0
0009 01 4C200017
_._--',. ...'-- ......
~-

-

0006 01

..

-'--'-_.'

.......

-

"¥.,'.-

C40000BA

*

TPT5

SRT
BSC

*
*
TPT6

Xl 0
12

L

TPTl.Z

*TEST FOR ADAPTER BUSY

. ,_ ... __ . __

Ooop 01 4C200013
OOOF 00 74FF0037
0011 00 448000AD

LO

*
*

.c.~

LOAD CONTROL TO ACC
SHIFT I/O FUNCTION TO UNI T
IF NOT TEST BRANCH
...• - .....

~-.-.

-

-.

-.-"-.-.-- ... -

LO
SSC

L
L

W8BSY
TPT2.Z

SENSE OEVICE BUSY
BRANCH IF BUSY

MOX
851

L
I

WK5.-1
TVEXT

RETURN ADD NOT BUSY

--~-'"

~-~-

.. ,.....

---~--.--

-,'

.~~---"'-

............ -... __ .-

._-

0

TPSTR-ROUT~NE

----.-...

_--_ __.-._-

PAGE

FOR 1800-2701 STR
. ..

...

..

TPT2

0013 00 74FE0037
15 00 448000AD

COO

MDX

L

BSI

I

2

RETURN ADD BUSY

WK5.-2
TVEXT

*

---------_ .. -

...

0017
0018
OOIA
0018
0010

- - - - - - ---_

OOIF
0020
0021
0022

.. ---_.,,".

---

0
01
0
01
01

.•. _....

-

***************************************************
*SET DATA ADDRESS AND COUNT INTO CCW FOR WR/RD
*IF
NOT BUSY PREPARE
FOR_.•...READ
WRITE
- "
.. _ .OR
...
**************************************************

----_ .. - •..- ..•. .•.
_

*

TPTI

ClOt
04000236
CI02
04000234
740100BA

..

__

..- ......

."'-'

.

Xl
L
Xl
L
L

LD
STO
LD
STO
MDX

*
*
*ANALYSE
*
__ _--_ _---_._
..

CIOO
6204
0
1240
0
01 4E800023
0

...•

*

.. -

1
DADO

STORE DATA ADDRESS

2

STORE COUNT

BCNT
WB8SY.+1

CONTROL PARAMETER
..- .-

............. _..._...• _...• -

-

Xl o
LD
2 4
LOX
SLCA 2
1'2
SSC

*

ERR2
TPT3
TPT7
ERR2

_ _00 2 ~ __1. .__ 9..QQ.~.. _. __.. __________.__ ...J?~_ .
DC
0025 1
0028
DC
0020
0026 1
DC
0004
00027 1

LOAD PARAMETER
LOAD SHIFT COUNT
SHIFT FOR TEST

....... __.....

CONTROL
_-...----_.- ...•-_._-.--- CODE
.. .--- .......... 1 ._-CONTROL CODE 2 OR 3
,

'

CONTROL CODE
CONTROL CODE

,.'

-.--.~-

.. _--_.-.-- .... .

4, 5, 6. 7.
8 OR MORE

*

_Q.(L~e . Q

*
._.---.JQQ1. ___._ ..__..___ T£I.~

.$.~~-­

BSC

0029 01 4CI00052
0028 01 4C00008E

Bse

L
L

OPENR.CLOSE

*
*

OPEN READ ON 2
CODE 3 - CLOSE
.,

0020 0
1001
TPT7
SLA
I
CODES 4.5.6.7
__ 002E;.. Q.L.~~.!Q~Q.~~___.... _____ .. ~~~ ..h __ ._:r.P.J.~, - _.~_._. ___ J!B_~.~_~tL.9-~. ,!~_QR ~--.--.- ..-... --....-.- ..... 0030 0
1001
SLA
1
INVALID
BRANCH ON CODE 7
0031 01 4C2800P4
BSC L
ERR2.&Z
CODE 6
READ
0033 01 4C000086
BSC L
TPT4

*
*
TPT8

0035 0
1001
SLA
1
0036 -'0"1·'· 4Clo 0 031'·'·_-'-- .-.-----. BS c··--·C--·"OP-ENW ;-----O-P-E-N-··WR-fT E" C)'N-···4·- . --.--..--.--.. -.--..
0038 01 4C000080

BSC

L

TPT9

BRANCH TO WRITE

*
***************************************************
*

~_.__90~~ QJ ..Q;l_Q90 ?_gA._.._.. _ QPE;J~W .~D~ . ___ ~ ~ .19<; wA ......_. __ .... SEI_.\)P .. Q.e.r=.:~._I.Q...?J~ND --..----.--..

003C
003E
0040
0042
04
40046
0048

0°

01 OC00022E
01 4Cl00049
01 CCOO0262
01 DCOO025E
01 C4000264
01 04000260
7013
0

XIO
SSC
LDD
STD
LD
STO
MOX

L
L
L

L
L
L

IOCWC
TEST SENSE SWITCH 0
IF OFF NORMAL MODE
NORML.TMODE 0 ON-LOAD TEST MODE AND
TEST WRITE
MODE
TEST READ
LOAD
TREAD
CN02
TAG

OPENO
OPENO

·

-

.....•."- .....~.-.• •..".•".,......".........".,....-,,.......-...".,-.-..................~~~~-~~-~-~--------~~-~--.----------

Figure 9
TPSTR-ROUTINE FOR 1800-2701 STR
_...

~

-- --... ..--..
~.-

-.

~

.

0049 01
0048 01
0040 f)l
004F 01
0051 0

CCOOO266
OCOOO25E
C4000268
04000260
TOOA
_.. Q9S2 01 CCOQQ?6(>
0054
005t:>
0058
005A

OCOO025E
01 C4000268
01 04000260
01 65000232
01

~

NORML LOO
STD
LD
STO

L

NMODE .
MODE
NREAD
CN02

J",

NMOOI;;

L

MODE

l..

NREAD

L

CN02
IOCWf;:
1 MOOIO+l

L
L

L

"""'~--'

- " ..

_.

. .. -..

~

~.

-- ..

..

.".

'

LOAD NORMAL MODE AND
NORMAL WRITE

-

,- ..

~-

3

... -." .-..

LOAD NORMAL READ

TAG

MOX

._ .QPENR LOO
STO
LO
STU
LOX

....

PAGE

.J.....QACL .. N.QRJ~1AL MOOt; . .ANQ .. __._...

NORMAL WRITE
NORMAL R~AD

~OAO

seT UP OPEN TO RECEIVE
OOSC 0
691C
TAG
STX
0050 _0.J._2~.Q-'!..Q.Q. B~._._..___.._ .._. .__ .MPX. ... b.
SQP~Ntt_t
005F 00 C400005A
LO
L
90
~061 01 94000250
S
CON8
L
0063 0
0003
STO
*+3
0064 0
0006
5TO
*+6
0065 0
0007
STO
*+7
__00~~._.Q9 ....?~!iQ...Q90Q. _ _ __ ~ ..__ ..§.I~ __ .b __ ._/QO qQ~/49. .. ___<;_~f;.AR $TORAGE P..~.PT~~T. ~J T~__ _
0068 01 65000092
LOX
Ll TPINO
006A 00 60000090
STX Ll /0000
I
006C 00 2C410000
STS L /0000,/41
WRITE STORAGE PROTECT BITS
OO~E 01 740100BA
MDX
L WBBSY,+l
0070 01 OC000224
XIO L
IOCWS
DISABLE AND SET MODE
.___ ..99]2 0 1 ~.4J!QQ.9J?'_~. __._. __..... _._. __.___ ....... ~P.......... ~ ....__W~BS Y_._ . ___...____.......__ ._"_. . ,,._,,__.__
0074 01 4C200072
BSC
L
*-4.Z
0076 01 740100BA
MOX
L
WBBSY,+l
0078 00 OCOOOOOO
MODIO XIO L *-*
007A 01 C40000BA
LD
L WBBSY
007C 01 4C20007A
SSC
L *-4.Z
___ .Q..Q.1.~ .. Q. 9._ ..~.~ .~_Q Q.Q~. 0 _____._. ___..._......__ ........fJ. ~ 1 ____ . _1._ .. ._1 .Y.t;)(.I..... _.___ ____ .
OPENO
Ll

o

*

*

***************************************************

*
*SET

WRITE OR READ COMMAND IN CCW

- - - -....- .. -.-.--.-----.-.----~.---.-....---.•. -.- ...-.--...... ---

...... --

0080 01 C400025F
0082 01 04000235
0084 01 4COOOOBA

TPT9

-- ..- .....

"'---'-'."

LO
L
STOL

eNOl

Bse

TPW2

L

- ..-.._----------_._ ...-----

SET UP CCW FOR WRITE

W~$RD

*

0086 01 C4000260
TPT4
LO
L
CN02
~~§_~ __Q.l_._Q..~.Q.QQ..? 35_._______.___ . ___........5 T.Q.__ ._~ .... __WB~B_'L._
008A 01 OC00021E
TPW2
XIO
L
IOCW2
OOSC 00 44BOOOAD
aSI
I
TVEXT

OOBE 01 OC000230
·---06-9-b-.- 00- _."

SET UP CCW FOR READ

EXECUTE WRITE OR READ

*
**************************~*************************
CLOSE XIO

L

4-4800--0·A·D~----··---·----·-"--'-··~-BSI'-····--··'·i-'"

IOCWO

.--"-VE"

X~T'

-- .....-.. .

""---~--.--.---

. .

~-.- ~-~-.~-.-

... . . . ..... . ."....... -..----.-..
-~

".~

~

.. .

. .. .... --,,-.--.--q.

------~-- ~ ---.~-.----- ~-

--~

*
*
*************************.*************************

BHTYP

***************************************************

TPINO

..

BHTYP
*************************************************** TPINO
*TP~~O IS INT~RRUPT RO~TI~E FOR TPSTR
_.IPINO

o

--

..

0092 01
0094 01
0096 0
0097 00
0099 0
009A 01
009C 01
009E 01
OOAO 01
00A2 01
_ _0 0 A4~)
OOA6 01
_Q_QAB 01
OOAA 0

C

-

--

--_ ..

_._ .. -

Figure 9
- - _......... .

. ._._- ---

FOR 1800-2701 STR

!~STR~ROUTINE

-.

-'-

PAGE

_.

4

TPINO

*
TPINO

CHANNEL STATUS W/O RESET

XIO L
IOCWa
OCOO022C
WORK3
04000257
STO L
PENDING BIT
SLA
1001
1
BRANCH IF FALSE INTERRUPT
esc I
90.4C9000SA
SLA
1
1001
BRANCH IF CHANNEL ERROR
BSC L
TPIN6.Z
4C20010F
SENSE
UNIT STATUS
XIO L
IOCW4
OC000222
04000258
STO L
WORK4
C40000BB
LO
L SOPEN
4C1800AE
esc L TSTUS.+C4 00 0-_2c,;...5:;:...8-"---_____ . _.__l:-Q_______ h_.wq'3_~~. ________U_.;.._N_I__T_-,S_T_A__T_U_S___~- __- - _ - - - - _ - - _ - -_ _....
F40000BC
EOR
L COND

•• _~. _ _ _ _ . . . _ _ _ _ .. _ _ _ _ _ _ • • • _ . _ . • . -• • 0 '

_ _ _ _ . •_

•• 0 _ _ _ • __ •.. _ _ _ . _ . _. • • • • _ . _ _ _ _ _ _ _ _

•

~C20010F

TPIN6.~

1010

16
SOPEN
TPEXT

- _______ QJ)_~~ ____ Ql ~~Q_9QO~~_ __
OOAO 0
7006

OOAE 01
____~~=-~~C~4~0~0==0~2=5~8~
__~~~~_==__~~~w9~~4 ______________________ ----------------------1
OOBO 01 F40000B9
CONUS
1
____Q_Q6? 01 _~(;_~_9QQEl()_
J FE OT. Z
_J~_RA~<;tf _t~ JlNIT ~TATU_S ERR
NORMAL STATUS
16
0084 0
1010
____ Q()~_5 ot o.~9_Q QQ§~_____ ________________
ST0
WBSSY
SW_
L
._ ..... CLEAR
_. __ .... - ._.-BUSY
- _
RETURN TO MIC
00B7 00 4C80005A
esc 1 90
/020e
DC
NORMAL UNIT STATUS
89 0
020C
Wsasy DC
OOBA 0
o
BUSY SWITCH
0000
SOPEN DC
o
OPEN SWITCH
OOBS 0
0000
/0200.
OOBC 0
COND
DC
0200
OOSO 01 OC000228
IFEOT XIO
IOCW7
SENSE
STATUS
L
.......
_._...
_0. DEVICE
....
. .... _....
OOSF 01 C4000259
WORK7
TEST FOR EOT ON RECEIVE
LO
L
OOCI 0
SLA
100B
11
00C2 01 4CI0010F
BSC
BRANCH IF NOT EOT
TPIN6.L
MOX
00C4 0
70EF
TPEXT
.....

.-

.. . . . . . .

.•.. ,

0

*
***************************************************

__... __•____ .. _. ______ . _.. __ ._ _ _ _ _ _ _ .__ . ..•...

___ •....

""'._"' ___ '_'"

... __ ... _ ...... _ _ _ .•. _ _._ _ . -

.... ___ ._....

"· __ ·R..

__ .. __ ._...... _... __ ........ ___ ._._._._

*STANDARD CALL TO TSX EAC PRINTER

***************************************************
__._OOC_~JL __

*

C!.
BHTYp
0100 0
0034
DC
/0034
E
BHTYP
OIOE 0
0010
DC
/0010
F
BHTYP
BHTYP
___0_1~~ _..._~}. __~4 0_00_~.7_3__ ....!.~!~~__.. L t?_.___ ~.._...... §.~_t;.§.?..__.__. _____._.... __.._~.._._. ___.... _. . _...... _.......• ____... __.._ ..... __ "" ........_........_____._
0111 01 040000CB
STO L
ERPT1& 1
0113 01 440000C5
BSt
ERRPT
L
0115 01 OC00022E
XIO L
TEST PROG SWITCHES
IOCWC
0117 0
1004
SLA
4
0118 01 4C280128
BSC L
TPIN8.&Z
OllA 01 OC00022C
RETRY
XIO
L
I (JC \\fS
.~!=NSE .. CHANNEL STATu.s
_.
.....
011C 0
1007
SLA
7

*

*-*

:~~,;

..

-.--~-

~

...•-.---

° ..

"

••• _ _ 0 _ _ _ _ _ •

_ _ ••_ . __ •

*

,

~,

o

,

')'V

Figure 9

PAC)E

TPSTR-ROUTINE FOR 1800-2701STR

CJbllD

01
011F 01
0121 01
0123 0
0124 01
0126 00

4C28011A
OC00021E
OC00022C
1007
4C280121
4C80005A

BSC

L

X 10

L

XIO
SLA
SSC
BSC

L

0128 01 OC000220
012A 01 9400025B
012C 01 04000255
0'12E 01 C4800255
0:130 ....
01- 04000256
--_._----_
_ ......... _._ ... _._.
0132 01 C4000257
0134 01 440000E4
0136 01 DCOOOloO
0138 01 C4000258
013A 01 440000E4
0'13C
-----. ------_. 01 DCOOOIE2
- ..
.' ......- .... -0:13E 01 C4000259
0.140 01 440000E4
0' 1 42 0 1 0 COO 0 1 F.O
0144 01 OC000226
·851
0146 01 440000E4
_____Q.!.4.~ ._9J.Q~.~QQ. .tf~ ......_...
STO
014A 01 C4000255
LD
~14C 01 9400025A
S
~014E 01 440000E4
SSI
01~0 01 oC000208
STO
0152 01 C4000256
LD
o 15'± ....Q_L4l~.QQQQt;!!._. ___ ._........ __ ...... ~~l
0156 01 DC000212
STD
0158 01 C400025E
LD
BS I
015A 01 440000E4
STD
015C 01 DC00021C
-~

*

___ .. QJ.;?~. 0 L. ~4:9QQ .!.~.§.............._._ ........

0160
0162
0164
0166
0168
016A
016C
016E
016F
0171

_ _ _ _ _ _ _ _ _ _ . _ •_ _ . _•••• _ . _ .

01
01
01
01
01
00
01
0
01
00
•

• __ ••

D40000CB
440000C5
C4000184
D40000CB
440000C5
4480003E
OC00022E
1004
4CIOOI1A
4C80005A

_ _ _ ,_. _ _ . . . . . . . . . _ _ "

_.,

_ _ ••

_.~

•• _

~W~

* 7
__...9-1 7 ~.. L .....__Q..l? ~L.. _"' __ .. _.___." ..r;.M.~~
0174 0
0175
017A
; 184
•
0184 1
0185 e
0186

OOOF
OOOA
0014
0000
0185
oeOF
OOOA

.k..P

STO
BSl
LD.
STO
BSI
WAITC 8S1
XIO
SLA
SSC
BSC

••• _ _ .. " . __ . . . . . . . . . . - - - . . , _____

I/O

7

L
I

*-S.+Z
90

TPINO

*

TPIN8 XIO
S
STO
LD
STO
Lo
BSI
STo
LO
BS I
STD
LO
SSI
STO
XIO

.....

BRA NCH I F t3U~; y
SW ONE OFF RE-TRY

RETRY.+Z
I DC W.2
I ClCWS

6

TST3A
TST3C
EMES8
TSTiJ.A

L
L
L
I

L
L
L

L
L
L
L
L
L
·L

L
L

L

L
L

L

L
L

. b.

L
L
L
L
L
L
L
L
L
L

I
L

IOCW3
CON02
WORK1

COMMAND ADDRESS

WORK 1

WORK2
WORK3
SHTYP
TST2B

COMMAND
CHANNEL STATUS

WORK4

UNIT STATUS

TPINO
·H.; I NO

TPINO
TPINO

BHTYP
TST2C
WORK7
SHTYP

DEV I ·:E St::NSE

TST2. b

BYTE COUNT'

IOCW6
BHTYP
TST2E
WORKl
CONOI
BHTYP..
TST2F
WORK2
BHTYP
TST2G \
MODE
HHTYP
TST2H

CALC

tcw

ADDRESS

CURRENT COMMAND

EXPECTED MODE'

~MES5

ERPT 1& 1
ERRPT'
EMES8
ERPT1&1
ERRPT
62
IOCWC

/$.;/0
.......

/

: . /

4

L
I

1/4~F

RETRy, ....
90

.8R TO RETRY IF SW
DROP ReDS -CONTIN~

. J~/",'

QJ~...

DC
DMES
DMES
BES
DC
DC
DMES

TPINO
TPINO
TPINO
TPINO
TPINO
TPINO
TPINO
TPINO
TPINO
TPINO
TPINO
TPINO
TPINO
TPINO
TPINO
TPINO
TPINO
TPINO
TPINO
TPINO
TP I NO//'
/?

.J".

*TST3C-TST3A
'RBAD I/O
• R PROG sw

o

*

/

~~
~ DETA I LS"'~' E
.

'E

'/

I

.\ .

/

/

T~ T4B-TS T 4A..,/·
'f-< PKU\..~ S W l' E
/,.
l

.

/'

/' :,'

"

./

0

Figure 9

TPSTR-ROUTINE FOR 1800-2701 STR
0188
,0190
0195

PAGE

7

-.. . .,--.---,,.-'---------------,,-----0

OOOA
OOOA
0000

DMES
'ROFF RETRY'E
DMES
'RON IGNORE'E
TST48 8ES
o
*************************************************** TPINO
*
ERR40
~ **
* * * * * ** * ~_* *~*-,~_~,,*- lit ~* *- * _* * * * * ~_~~_*~_~ *-_~_~~~_ ,E;BR 4-_Q_

*

* ** * *

0195 1
0196
EMES2
0196 0
002E
0197
OOIE
EMS2A
01A6
0012
__Q-.!l!Q __ -_____ .-9__Q_Qg_.. "' __ .._. ___.. ____~M.§g~
0182
0026
OlCS
0000
EMS2C

**

*

** *

*

DC
DC
EMS2C-EMS2A
DMES
o 'RINVALIO CONTROL CODE IN TPSTR'
DMES
LIBF LOCATED AT '2S'E
SS,§
~.... ?
DMES 'R'E
BES
0

*
*EMES5

TEST1

OlCS 1
01C6
DC
*
TEST2
_.__0-1~§_, _~_, __ .. Q.9_S 7 _ .... ____.___ .._________Q~_..___....._ . _I~ T.?_I~J'.~.J:~~.______ .___ ... ______ ..
..... _."" __ "..___..______._ .. ____ .T_~~_ I? _.''-'"
TEST2
0lC7
0012
TST2A DMES
'RCHANNEL'STATUS
'E
TEST2
0100
0002
TST2B BSS
E 2
TEST2
0102
OOIE
DMES
'SSUNIT ADDRESS AND STATUS
'E
OlE2
0002
TST2C BSS
TEST2
E
2
OlE4
0018
DMES
'RDEVICE SENSE REGISTER
'E
TEST2
__ .g_.~_EQ_..________.Q9"Q~_ ...__ ..__ ._"'. ___ ._!~.!.g_Q __~§S E _" ?........ "_"'_'__'''_"' _. .____.______ .__... _._ ...". ___ .__ .._" ... _____________ rES T~? __ ._ ._..
01F2
0012
DMES
'SSBYTE COUNT
'E
TEST2
OlFC
0002
TST2E BSS
E
2
TEST2
OlFE
0012
TEST2
OMES
'RCOMMAND ADDRESS
'E
0208
0002
TST2F SSS
TEST2
E
2
TEST2
020A
0010
DMES
'RCOMMAND CODE
'E
_.. __________Tt;..S_u... ______
___ Qg~?_. _....._. _0 OQG______ .. ________T.§I.? G.. J:? ~$. _';. ___ 2 ..... .. _.._
0214
TEST2
0010
DMES
'REXPECTED MODE
'E
021C
Q002
TST2H SSS
E 2
,' __ ., TEST2
021E
0000
TST2I BES
TEST2
o

0

*
* ~ *-~.~ *- ~~~*- *--*--~.~~. ~-~-~ *- *- * *- * *--~.!.~.~-~-~~~--~ ~~.!.~~~ * * ~ * *- *- * ~-~OPENO
---- ._----_. . . . ---- --._-_._----._-_._---.-----_.---.. ~~.~
...-- ._--_._--_...__.
*
* ** *- * **- * ** * * * * *- ** ** *** * ~ **.* * * *- ** *- **- * * * * ** * * * ~.* * * ***
*Ioec AND eew AREA
***************************************************

*

__ . _9£L~ __ . . __9. Q9 0 ___ ... _... _______ ... J:.3._§~ ,____.!;.. _.Q._._.
021E 1
021F 0

0234
9502

0220 0
0221
0
".'_ .. .. --

0000
9705

0223

0222 0
0

0000
9703

0224 1
0225 0

0237
9502

"--.--~.

~

e

*
IoeW2 DC
DC
*
IOCW3 DC
DC.- ...
*
IOCW4 DC
DC
*
IOeW5 DC
DC

_ _ • _ _ _ _ .~_ • •

*

_ _ _ _ _ _..__.___........._...___..._ ... _. ___________

BeNT
/9502

WRITE OR READ IOCC

/0000
/9705
.- .

lace FOR SENSECOM ADO

/0000
/9703

IOCC FOR SENSE UNIT STATUS

CCWWl
/9502

IOCC TO START CHAINED CCW
TO OPEN-WRITE
,- ."---.-.

Figure 9
PAGE
... -

/0000
/9707

lace

.DC
DC

CCWW7
/9502

10CC FOR SENSE DVICE STAT

DC
DC

/9502

DC
DC

/0000
/9700

SENSE CH STAT W/O RESET

DC
DC

/0000
/0760

10CC FOR SENSE PROGRAM SW

IOCW6 DC
DC
0228 1
0229 0

*IOCW7

0252
9502

*IOCWA

8

FOR SENSE COUNT

_ _ _ w_. _ _ _ ~ _ _ •• _ _ _ _ _ _ _ _ _ _ ~ _______ •• _ _ _ _ _ _ _ •

022A 1
0228 0

0230
9502

022C 0
0220 0

0000
9700

_._-_._--_._ _--_
..

..........

022E 0
022F 0

0230
0231
0232
0233

1

0
1

0

_.__ ... -.

-•. _...... -

.............

0000
0760

..

*10CWC

_-- .. -....... _. __ ..... .

*

0000

O?.~~

()Q()cL

0236 0

0000

0237 0

0000
602F
0000

*BCNT

-------_
.. ..
*

__

BYTE COUNT FROM TPTl
COMMAND CODE FROM TPT4-9
DATA ADDRESS FROM TPTl

/0000

DC
~R~~P. DC
DADO
DC
_

0" 6'~"~:"~

.........._-- ..

,'-

10CC FOR CHAINED EaT
CCWW5
IOCWD DC
024C
DC
/9502
9502
....Q 246 .__.___ .__ . IOCWE ..R~____ . . __ .__c.. ~ . W~~ . _.. _______. . . . . . . _. . . __ ......_. _._. . . . . _....._..... _..._. ._. __._._____ . _.... _. _. __..______.
DC
/9502
9502

0234 0
0

*IOCWB

ENABLE,TEST SYNC8 SEND

*-*
/0000
.._--.............

CCWWl DC
DC
DC

_._ .. --_ __...._ -.. _-- _... _------_
.....

..

/0000
/602F
/000

..

.....

_--................. -----. _.. __._-_._--_..- ..... _--_._-----_. __._--

DISABLE

*

023A 0
0002
DC
/0002
.. ._____..Q..g 3B___ g____g_Q . ~~._____________ .__. . P_~ . . . _. ______!...?9. g. ~. . ___. _._. ___~~_! . ___~_Q. Qg .. _. . . . . _.._......______ ...... _.. __ ...____.__. _. . _____ _
023C 1
DC
MODE
025E
0230 0
023E 0
023F 0
..

---.--.-.------.~.

-.--

..-

/0000
/6027
/0000

__ _ _-

..-.--...---.- .

DC
DC
DC

.....

....

.............

0243 0
0244- 0
0245 0

/0003
DC
0003
_____________0_C___._ _/_2_0 36
2038
/0000
0000
DC

."-----

0003
2006
0000

024C 0
0240
0
_ ....
024E 0

0005
6037
0000

ENABLE

- .... _----_._--_._-.-- .. --."

/0050
/6033
/0000

0050
6033
0000

0249 0
024 A 0
0248 0

.. _

*

-~-

DC
DC
DC

0240 0
0241 0
0242 0

0246 0
0000
.. Q.2~7. 0 . ._t?Q27
0248 0
0000

0

*CCWW2

0000
6027
0000

"

.... -.

__ _
....

..... .......
'

_-_._-..-_ "-'''-''-'-'---''-'
..

TEST SYNC

*

-_._---- - "---".

*CCWWE

*
*CCWW5

DC
DC
DC

. (~.9?7

/0000

DC
DC
DC

/0003
/2906
/0000

DC
DC
DC

/0005
/6037

/0000

SEND INQ
-........ -- ----.-..

~---'

--------~-

-

....

.--

.. -.....

• • • _...... ~ .. , •••.•• "._••

~ •• _ •••• _~ ••••• "•• " •••••• _._ ••• "._ ••••• _ .•.•

•.

-·~::::;;; ...'i:.:·•.;-=';;.;.;..;,;,;,;~..~;w., ;:':':~

Figure 9
PAGE

024F 0
0250 0
0251 0

0000
202F
0000

*

. -. _.- . .----- . -.--.. -.--.---'0-DC
DC
DC

/0000
/202F
/0000

*

2004
0259

DISABLE NO CHALN

'. /0 Q..Q-'-.....__.__._. _
. . _. . _. _. . .__ ._._. __._.
.. _..__._._. _. __ .___ . _______.____ .__. . _. __ _
/2004
SENSE DEVICE STATUS CCW
WORK7

____.___ O~~.~. {'L ..._Q..Q.Q_?-___ .__ .__ ._._ .. _...__ <;.c;WW1_ ..0.<";.

0253 0
0254- 1

9

DC
DC

*

...._. __. _J~.g5.s 0
OQQO
WORKl DC
0256 0
0000
WORK2 DC
*-*
CHANNEL STATUS WORD
0257___~_. 0000
._ _...:W:::...:QB_~.~..j?~______. __ ~_~~ . __._.____.____.____._ _.______ ._. __. . _._. ______________ . ___.__ . ____._
0258 0
0000
WORK4 DC
*-*
UNIT ADO-UNIT STATUS WORD
().?59 0
WORK7 DC
00.0.0
DEVICE STATUS WORD
*-*
025A 0
0001
CONO 1 DC
/0001
025B 0
OOo.~
CON02 DC
/0002
025C 0
0003
CON03 DC
/003
___ .Q~~r;L. Q_.___QQQ 8 _._. __________.. t..o..N6_ ._. Q..C.
..... _..__1.f).0 .0.6_ ........ _.. _... __.__.__ ...__.___ . _.___..__ ....___.._._. __..._____ . _... __.____ . _____._______. . _.........______
025E
0000
ass E 0
025E 0
0000
MODE
DC
o
. NORMAL OR TEST MODE STORED
025F 0
0000
CNOI
DC
o
NORMAL OR TEST WRITESTORED
0260 0
0009
CN02
DC
0
NORMAL OR TEST READ STORED
0262
0000
BSS
E 0

1,

-

~ ~:~ ~---~~~

0264 0
0266
Q2~6 0
0267 0
_ _ 02 68.Q_. _
026A

------- }~~~ -~~ ----- -~-~~ ~;------~~i -~~E--------------·

2012
0000
2001
2001

TREAD DC
/2012
TEST READ
BSS
E 0
NMODE DC
/2001
NORMA~. MODE
NWRIT DC
/2001
NORMAL WRITE
2 OO£_______ ..NR g~.Q__ ._Q.~_____.... ___ _t_ag9.~ _ _ _ . NORM_ALREAQ_. ___ .
END

------_.-- .--_._---------_._-_._--

_.-..---_...._-_ ........---.

------------_..

__ __
...

.... __. __

-- ..

-----........._---------------------_......

..---·-·--· .-.-.--.. ----

Gil

_-_ _---_ - - - ...

.. ..

._----------

o

Figure 9
SYI"!'.;;·jL

0

BeNT
CCWWl
CNOI
CON02
EMES5
EMS2C
IFEOT
IUCWE
IOCW6
NORML
RETRY
- ---_._-----_. ---._.
TPINO
TPT2
TPT7
TSTUS
TST2E
TST3A
--------- - - --A TVSAV
WORKl
WR$RD

0234
0237
025F
0258
OleS
0lC5

ooao

.

0232
0226
0049
011
. .. A
0092
0013
0020
OOAE
01FC
0175
OOAC
0255
0235

NO ERRORS

BHTAB
CCWW2
CN02
CON03
EMES7
ERPTI
IOCWA
IOCW2
IOCW7
NREAD
SOPEN
TPIN6
TPT3
TPT8
TST2A
TST2F
TST3C
TWRIT
WORK2

0260
025C
0173

OOCA
022A

C21E
0228
026ti
0088
OlOF
0028
003S
01C7
0208
0184
0263
0256

IN ABOVE ASSEMBLY.

DUP FUNCTION COMPLETED

•

OOFF
023D

BHTY
CCWW5
COND
CON8
EMESB
ERRPT
IOCWB
IOCW3
MODE
NWR IT
TAG
TPINfj
TPT4
TPT9
lST2B
TST2G
TST4A
WAITC
WORK3

"t'

.~l~LE

00E7
024C
OORC
025D
0184
OOC5
022C
0220
025E
0267
005C
0128
0086
0080
0100
0212

0186
_._0
016A
0257

Page 10

BHTYP OOE4
« ( ~."'i"7

025;?

CONUS
DADD
EMS2A
ERR2
IOCWC
IOCW4
MODIO
OPENR
TMODE
TPSTR
TPT5
TPW2
TST2C
TST2H
T5T48
WBBSY
WORK4

00fJ9
0236
0197
00D4
022E
O~-~22

0078
0052
0262
0000
0007

OOSA
01E2
021C
0195
OOBA
0258

CCWWE
CLOSE
CONOI
EME 5£2
EMS2B
HBTA1
IOCWD
IOCW5
NMODE
OPENW
TPEXT
TPTI
TPT6
TREAD
T5T2D
TST21
A TVEXT
A WK5
WORK7

0246
008E
025A
0195
OIBO
OOFS
0230
0224
0266
003A
0084
0017
0008
0264
OlFO
021E
OOAD
...
003i
0259

o

SESSION REPORT
COMMON - Chicago

Session Number

MON D3

-----------------------

Chairman

H. B. Kerr

Time

3.30 to 5,00 PM

------~~~~~~~~-----------

Session Name

1620 Project

Attendance (No.)

48

----~-----------

Speakers ___________P_e_t~e_r~J_u~t~s~um~___________________________________________
John Powell and Richard LaRue
Lanny Hoffman

Synopsis of Meeting Well attended.

a'ood presentations.

Spirited

discussion.

o

o

by

J. Cooper and L. Hoffman
Guggenheim Labs
Forrestal Campus
Princeton University
Princeton, N.J.

Our interest in data collection with our 1620 Computer dates back
to about 1963 when we asked IBM about an analog-digital converter (ADC) to
connect to our 1620.

At that time, the 1711 ADC was slow and expensive

(about 20 samples per second).
faster than that.
for several years.

We needed at least two orders of magnitude

So we did nothing in the area of automatic data collection
Then, in 1965, we found an entire stand-alone data col-

lection system in the surplus listings.
contained in three large cabinets.

The system was an old CEe Millisadic

It was a vacuum tube system with a multi-

plexor of 100 inputs, a clock, an analog-digital converter, control circuitry,
an intermediate storage digital tape, and a serial to parallel converter for

o

punching cards on a 523 summary punch.

We were able to break the system into

several parts which now constitute our present data collection system.

The

1620 requires serial BCD data so that we were able to essentially substitute
the 1620 in place of the Millisadic digital tape.

The output of the Mil1isadic

control unit is from a blocking oscillator, which is a highly damped oscillation
from +150 to -250 volts.

The input levels to the 1620 are 0 to -10 volts, so

that this was the starting point of the interface.

Mr. Cooper designed and

built the present interface, which will be described in a later section.

The

output of the Millisadic control un'it is BCD, so no code conversions were
necessary.

Also, there is

8,

pulse available that occurs for every digit and

a pulse that occurs at the end of 10, 15, or 20 samples or at the end of commutation of the multiplexor.

The digit pulse is used to tell the 1620 that

there is a digit on the input lines and the end of the scan or commutative pulse
is used as an end-of-line (EOL) to terminate the· read instruction for one mode
of operation.

The input to the 1620 is through the paper tape input lines.

We have a paper tape reader but we have put a set of relays in the signal lines
which will transfer the input fram either the paper tape reader or the

•

ADC~.

To use the paper tape inputs without having the real paper tape reader active,

---,- -.......

..-----....

...." ...........

,

.. ....._..........

...,.",-,."" . -,,'.,.'~ .... '.,

'

- 2 -

certain control gates on the 1620 had to be artifically turned on.

These

o

are merely connected to the correct voltage when the relays are activated
to switch,input lines.
We have basically two modes of operation of the data collection
system;

record mode and burst mode.

The record mode automatically samples

only 10, 15, or 20 samples with one read instruction and then disconnects
for processing by the program.
core since no EOL is present.

Burst mode will continuously enter data into
The read instruction is terminated by manual

operation by the ''Release'' key on the console of the 1620.

Data can wrap

around core if the operator does not watch the Memory Address Register CMAR).
The core address of each digit is visible in the MAR so that the operator
has an indication of how far the data is in core.
The basic differences in the two methods are:
1) burst mode has a limited total sample time (core) while record
mode has an unlimited total sample time,
2) burst mode provides an equal sampling interval for as long as
data may be taken, but record mode sampling interval depends on the amount of

Q

processing done on each record and can never provide equal sampling intervals
due to the need for synchronization of the 1620 and the ADC.
To provide an idea of the data rates we use, several examples

fol1ow~

1) we can sample one channel of information at 1200 samples per
second, so burst mode can only read about 8 seconds of data.
2) we can sample multiple channels at a rate of 400 samples per
second, so that burst mode reads about 24 seconds of data.
3) record mode is used by one experiment where we sample for about
six hours and store the information on disk.
4) in another experiment, the analog information is read from an
analog tape recorder at such a slow rate that we can use the 1620 as a programmable card punch.
The synchronization of the ADC and "the 1620 is quite simple; for
burst mode, the 1620 must be started before the ADC (the 1620 waits for a
"sync" pulse from the ADC), and for record mode, two sequential "read" instructions (RNPT) will insure that the data is placed in the correct core
locations.

(The first read can come at any point in the ADC scan since the

o

- 3 -

ADC is free-running, thus, the second read will start at the beginning of the
scan.)
There are two general purpose programs in use for this system.
One is a FORTRAN subroutine that returns an integer array of the data and the
time of reading the data.

This, of course, operates ,)nly in record mode.

The other general purpose program is written in SPS and uses the typewriter for
logging run numbers, titles, etc. and stores the information on disk.
program uses burst mode.

This

Many runs may be stacked on a disk and operator

messages keep the system and operator in synchronization.

The data stored

on disk is very basic; time and data are stored with no separation into channels
since we do not want to occupy the experimental facilities any longer than
necessary.

A second program, which is rather specialized for each experiment,

(but based on a single package) is then run to produce cards with channel
separation if necessary.
t~e

Each data card is of a standard format, 8 values of

and the data value at those times, with each card completely identified

with a run number, tape position, channel number, and sequence number.
set of cards also has a title card as the first card.

Each

Our plot routines and

most data reduction programs have this format for the data input so that some
very basic operations may be performed on the data with no special programming
necessary.
Four programs are listed in Appendices I-IV.

Appendix I is a short

Fortran program to read 10 strip chart recorders and punch the data on cards on
connnand.

The subroutine "ADC" is an SPS subroutine listed in Appendix II.

The arguments are time, data values, and number of channels, all integers.
The number of channels read under record mode is 10, 15, or 20, depending upon
certain switch settings in the A-D converter.

Subroutine ADC determines the

setting by checking the position of the record mark generated by the EOL.

The

subroutine is written to allow the use of non-standard IIf and k" precision by
changing only the subroutine header card.

Appendix III is our general purpose

data collection routine for burst mode data.
tional

•

se~tion

The program should have an addi-

added to allow decoding of any mUltiplexing arrangement.

The

checking for this is in the program but the decoding'section has not been written.
We have not found a need for decoding at data time because of the extra waiting
time that the test cells

wou~d

have while the 1620 punched cards.

Core is

- 4 initialized to flag zeros so that it is possible to determine the amount of
data entered.

Appendix IV is a special program to sample and store data on

the disk· over approximately a six hour time period.· Twenty channels of data
are read and stored if there is any channel with a non-zero valueo
of samples are accumulated and stored on the disk.

Four sets

All processing for twenty

channels must occur in less than one ADC record time, 50 milliseconds o

Certain

disk functions are broken into segments to keep processing time at a minimum.
No loops are used since we need every machine cycle we can save.

The timer is

not used here because it is more accurate and faster to just number the

records~

The ADC Interface System:
The ADC Interface System was designed and built in the sunmler and
fall of 1965, before the era of inexpensive integrated circuitsm

Because IC's

were not at that time competitive in the small quantities involved, the interface was designed and built using discrete components

Q

The Millisadic (ADC) Output
The Millisadic output lines of interest provide four digits (1, 2,

4, & 8) and an end-of-scan
presence of a

b~ocking

o

~

A binary zero is indicated on these lines by the

oscillator pulse having a peak to peak amplitude of

225 volts and a total duration of 5 microseconds, as measured with a 20 kilohm
load. (See Fig. 1.)

A binary one is indicated by the absence of a pulse

(ground leve 1) •
The 1620 Input Requirements
The 1620 input lines· require a rectangular pulse having a rise and
fall time of less than 5 microseconds, a nominal amplitude of 10 volts and a
duration of more than 3·machine cycles (60,psec.).

A binary zero is in-

dicated on these lines by a -9 volt (nominal) signal.

A binary one is in-

dicated by placing the lines at ground level (0 volts nominal).

The 1620-

1621 interconnection has 12 lines, of which.eleven (eight data and three
control) must be actuated in order to enter data into the 1620.

The eight

data lines are the five digits (0, 1, 2, 4, & 8), the check (e) bit, the X
bit and the end-of-line (EOL) signal.

The three control lines are the

Tape Synch Exit (digit pulse), Nonprocess Runout (NPR) and the Reader Ready
(RDRY).

The twelfth line carries the Clutch Drive signal to the 1621 PTR

and does not require interfacingo

o

- 5 Interface System Functions
The interface system must perform three functions:

Convert the

Millisadic output pulses into signals electrically acceptable to the 1620,
generate the additional data and control signals required by the 1620, and
provide for easy transfer of the 1620 input between the Millisadic and the
1621 PrR.
Interface System Construction
In designing the interface, the option existed to either derive
the additional data and control signals using the vacuum-tube techniques
employed in the Millisadic and then convert to the transistor logic levels
required by the 1620, or to first convert the Millisadic output to tile
1620 transistor logic levels and tQen generate the additional data and control signals.

The later approach was selected in order to take advantage

of the compactness, reliability and economies inherent in semiconductor
circuitry.

o

The interface circuitry was contructed on 6-3/4" x 4-3/4" singlesided phenolic plug-in circuit boards..

These are housed in a 6-3/4" x 19"

relay rack card holder contaiI,ling provisions for up to 17 circuit boards.
Input, output and intermediate test points are available on the front panel
along with the EOL control switch.

Inexpensive commercial components were

used, and no selection of components, including transistors, was required.
The output stages drive the more than 50 feet of Belden #8753 cable (11 pair
telephone type, unshielded) connecting the interface with the ADC-PTR transfer relay box (located near the

PTR)~

Ten volt zener diodes are connected

across all the interface output stages to prevent positive or excessive
negative voltages at the 1620 input lines in the event of component failure.
The interface power requirements of +12VDC @ 100 ma. and -12VDC @ 50 mB. are
readily supplied from the 1620 "D" Gate power supply.
draw an additional 300 rna from the
in use.

Volt supplies when the ADC is

One switch on the 1620 console is used to select between the 1621 PTR

and the ADC •

•

"D"~12VDC

The transfer relays

- 6 -

c

Interface System Analysis:
A functional block diagram of the ADC Interface System is included as Figure 2.

The four digit (1, 2, 4, 8) and end-of-scan lines

of the Millisadic output are fed to identical 75 )lsec. "pulse conditioners".
The output of these units is electrically acceptable to the 1620.

They

deliver a binary zero 75 microseconds long to the 1620 every time an input
pulse is received from the Millisadico
is suitable for use as an EOL signal.

The conditioned end-of-scan signal
By means of a front panel switch

the operator can select the EOL signal or connect the 1620 EOL input line
to a binary zero (-12VDC) for burst mode operation.
The 75 microsecond conditioner is designed to trigger from the
fast, positive rise portion Millisadic output pulse.

This is accomplished

by differentiating the input pulse, selecting polarity, and limiting amplitude.

This conditioned pulse is then used to trigger a 75 microsecond

monostable multivibrator whose output is fed to an inverting line driver.
The pulse conditioner schematic is shown in Figure 3.

o

The absence of a zero digit line from the Millisadic output requires generation of the zero bit within the interface.

The outputs of the

1, 2, 4, and 8 pulse conditioners are fed to the zero bit generator which
generates a binary one on the 1620's zero-bit line only when a binary zero
is present on all of the other four digit lines.

The zero bit generator is

a four input TDL NOR circuit whose schematic is included as Figure 4.
The absence of a

"c"

bit from the Mi1lisadic output requires it

also be generated within the interface.

The 1620 logic requires odd parity

amongst the 1, 2, 4, 8, 0, X and C bit lines.

Since only numbers are being

entered into the 1620, the X bit line is set at a binary zero (-12VDC) in
the ADC-PTR transfer relay box when ADC operation is selected.

Since the

X-bit is fixed during ADC operation, only the 1, 2, 4, 8, and 0 bit lines
need be connected to the check bit generator.
The check bit generator is composed of four cascaded RTL EX-OR

o

nzurnp"",z-:n""E!!!

c

rrnn -

'T'T

::rm

- 7 -

circuits followed by an inverting line driver.

A block diagram of the

check bit generator is shown in Figure 5, and schematic diagrams are given
in Figures 6 and 7.

The check bit generator delivers

8

binary one to the

1620 C bit line when any even number of binary ones occur on the 1, 2, 4, 8
and zero bit lines, and a binary zero for any odd number of binary ones.
A special connection was brought out from the Millisadic so as to
derive a synch (digit) pulse.

This pulse occurs for every digit and can be

used to tell the 1620 that there is a digit on its input lines.

The 1620

synch line requires a binary one that becomes a zero halfway thru the
machine cycleu

The digit pulse from the Millisadic is fed to a 10 usec.

pulse conditioner followed by a non-inverting line driver.

A schematic of

the synch pulse conditioner is shown in Figure 8.
The remaining two 1620 control lines (NPR and RDRY) are automatically connected to the -l2VDC bus at the transfer relay box when the
ADC is selected.

o

This supplies the binary zeros required on those lines

for proper operation in the ADC position.
Switching between the ADC and PTR is accomplished in the transfer
relay box by three 6-Pole double throw relays.

Besides switching the 1620

input lines between the PTR and ADC, they also apply pmver to the ADC
interface system.

A schematic of the relay transfer box is shown in Figure

9.
A power supply board, used to provide power supply decoupling for
the interface system, is shown in Figure 10.
The Interface System has been in operation since the winter of
1965.

Its zero failure record during the past three years has given us con-

fidence in its reliability, and we think the future holds great promise for
us in the use of this equipment.

Even though our equipment is old and some-

what hard to use, we feel that our students

h~ve

a good understanding of data

collection equipment when they finish a set of runs .

•

c

J J ,,"'": £" I ~::;:;p
......

"(""0/ ~ l~

1"" (.f " .. ' . / '

t.- I·]

;

,(l

~"_."

_

I

AA l,::'t
.. v
",.
~"f

I.'~
-

..' .',•....•..•

(.~.' '?.~., ""'.'.,,![ ••.!// t.·'~. . ;,.' ,.r".. ~"'.'
-

•..:

"

VERTICAL

()/V/~S

/0 Yl

-1-15('1 r"'--- ....:.....-... ,:-- -rOo ..·-1··..·-···1' ~.--~.... ..
!,

I

o

'

GUGGENHEIM LABORATORIES

TITLE

MILL I':-!:

ole.

o
)/) r(J!Fr- {"JUL ..

DEPARTMENT OF AERONAUTICAL ENGINEERING

DRAWN BY

l){(:7\ DESIGN APP~..

PRINCETON UNIVERSITY

DATE tt,,/lf/1

Ii

D • W 8LUEPiliNT

co.

378 •••

15K. NO.

F" ~- '."" !:: ) :~~

~.

IENG. APPR.
r~:~

1-

;_.
'-"-'-

D. (} .

!

o

2. ~<--. . . -) ~,---,-,

,."~~p,.( t

o
OUT PIJr

I

I------~,

I

l

~

~ /0

•.>

<;

' ) .,.
"

'>
') 33 OA.r.S

/00

{ ~ /0%
II'...
~___.___.. ,_o_____.__- .,-----L----L----- ~
- ...

Iyt>'tes

•

...

~

"

l-lt

/11/

'V~C;i.c.··t)'/"
r~ ... 1 ,/ .. ,

2..

fill

('~'~'. I :s. !l~' 5 ~ t"£ y;:~v./. Ccv;ftJ:;' Ii: (.1 ,'; WI, th: V(/ /:.(, ...:.~ 4; 1.11 if,
J-·)ot/~·d.

3~

as
All

/..s

'AI

",'

d
..,-

/,'1,:,';" •~" . ;i'-"/~' ·f~,'t.•-·,/,'''f~...,'i'-,;::.:,:,+'~·;,

'-.,.'/

'
-'!',., 1/ "'''','

V1,i.~iz,-,t~".',

j",

n,

Mte ro ::f~ / -:>,ul Pi..!

DRAWN BY ijb'~

...

/'

i":>'

('bnd ,l>f)j\

I'<""r

IDESIGN APPR. R,81' IENS. APPR. J~--P~

DATE "1.u;/i,~ SK. NO.

Frr.t..,..,. #3.

I . -.

,

,~"<

•.f~"O
,g•. ,,,~,, .

II:J" D.C.

o
I

(;t"r)u",J

I
.

12.

,

~~7" P<>;tat S~<--......-,-----.....j~---.-,---------, f"~~
T~'" Po.~,.r 4

. • oM7f,tT-.

....- .....- ___~---..I

G-~y.,'td 9 ~-...- .......---.--~t--~5i P.""r '~-+-------------e-

___~-~t---+---.....f--------'

c

/.D /Lf- ~

17

35Vj'!2~

/0 _

ouTPU7-

1::/0%

~ /00
$1/D%
-1';: VD'~ll ..
(--------,---.
j J

~

!Vtlte.,s!

I

.

.

/".

A/I

2.

A/I (-l·~,I.,,:rf)r·$ r;J"~Y~W. CCt'1,t . -J/;',111 \4I,th
t1 S

3.. All

rt'::/~!{)~

n Cf'~l·d.

CJ{"I

c ttl- Y ~

'H~ StI v,t'

DEPARTMENT OF AERONAUTICAL ENGINEERING

PRINCETON UNIVERSITY

d.' ......_ _ _ _......_ _ _ _ _ _ _ _....._

.

••

.

,;w,

vtJ/'.tt,·e-; /YI

,

~~

Wit h h1tf;, "': I,;

e¥cepr"

j(,/"hYll:'"

!.f' .,'-X C.c7/

TIT,LE 7S:-/A:..5~~.~_E..'-Pu"e.

GUGGENHEIM LABORATORIES

at • W .LU.....U..T co~ .,.~

,

c:tI!{I-t'Ii','\V ,~"'(:/~·(:/t;c-.f~':~ - 5'~;; CXt:.("f! '15' ~1(';lP",

DRAWN .BY bF~J~:~,16N,APPR.·

~r­
ENG. APPR. f~""~ .

(PrJ

J

tlf)h

DATE.",/.u,·,,·
. ._,. .
--=.....,SK.,NO.-FrQ,~~·3A
___.......___......_"__

. . . ._ _.....

0

:)~; fl O ff>d:

~

,,_~

G-1"O(.4

C

.J

G-rot.f

"J

p~ilfr

Test

§.I

,::1

G-rOLlt'l/

t5%

2# 1301-

8

"," Sir t.ln~ I
.. -,
,.
2 S,r t..."fl 2.~"vII~J,{..j-7
/s
l,l/
tl'1- Bit L iiI ~ 3 ~v\,r\/'v~-

V)
~

::'l
Q..

~

/.5-

11165"/

N

·sj, 8/1 L,,,, ~

.tf~-

~

C

PCJIJ-I ,...

Te . . .,.

POI h ,.

-' I

/N7/4-

..~....

IN'5?
reSf

('.8
t:5?;,

I~-

'->

12<:.

--1,

<0

,>ts"fo

ib' biT

/1<

1

f

~~

2,7

-I'LVDC

II'!

III 0

<~
or

l-

b ut fu1 /4<;-

...........,..,......-.......-""-..

_. __

..

t(bTES:

I..

•

All Re.~1 stDrs d Y'~ Yz. Mktt) r: It> %
9 /"'€\'\ IVi f\,JtJWas ew:cept as

GUGGENHEIM LABORATORIES
DEPARTMENT OF AERONAUTICAL ENGINEERING

PRINCETON UNIVERSITY
D • W ."UErJlatiT co ••.,....

(;~mf'(:'J+f: i :~':;lrf j Va / II e..!

noted .

I

DRAWN BY d'h~ DESIGN APPR~

I

.»fJt' IENG. APPR. ,../l>~."

DATE 12. / to + SK. NO. !='/ G U R C+_
101 .. 0

-'~""-""-""''''''-"''''''.''''''''.''''''"'''

;...,.
....

Cl:J
~

\J

l\l
::t
\.J

/

~

.,:

Q.t...

0'

,~

r-·
'\.)

A
lJ...l

~r-i
r·,

"

.~
'4
.~

.....

ct)
~

.........

~

,;

~

.....
~

-

'-

-j

-

V

\J

t,:.

~

~

Q.l

--

......
........

.......

(Q

,~

,\\)

.~

"-...J

-t-

i-

q:)

""'~

...

~

~

....

QJ

•

GUGGENHEIM LABORATORIES.
DEPARTMENTOFAERONAUTICAl'ENGINEERIN$

PRINCETON UNIVERSITY

D II W Ba..UEPRINT~• • " '•• 4,~,

, . ........------.;..,_-...-----~--_

__1

. . I - ' - - - , - -...........--'-----4r---'-~~~-1
10140

'~~,

o

_-------.....--_.._----,.

____. . __ ..

I

A

INPU T

.<:

/0

~

2. ~~("\/ ~----f

2N 13 04:

~~/O

tN P IJT B

+~<------_+_--_....

2N /3.01-

'I -~""J.
.....

- {2. V DC

() u:r-

p u. r

.."

.

" ~------.---............_ _- - _ -

14- ~<------

- ______
,,-

TR. U;-ft TAELE.

Notes. :
I.

r~s J 5'''0('5,. qY~ Y2- W4 t 'r (...~ ..'*":"fl)~·-6I/ /e>;1 !:: /I)~ A
-10
Va/up s '11 Kif ohw,S eX' c e pi"' 4.~;. t'}::: tlF,d.
0

All

8

ou;

-/0

0

-/0

I -/0

..

-/a
(

0

o
o

1- 10 I
... \

1'-:

•

6U66ENHEIM LABORATORIES

TITLE __ ~Tt...

DEPARTMENT OF AERONAUTICAL EN61NEERlN6

DRAWN BY

I

PRINCETON UNIVERSITY
•• w ~~!!,~~.~~~. :

E.X-OR
fh/I JDESIGN

DAt&·V~'~ SIC. NO.
..

;j

;.

;",;;,

};';"

",I.

"'li-i. ••..

C'
.• 1-, :.- LJ JT
A;PR/.f!tt!

i

0

i

i

l~

l"AT:t."

~Jc ill ,,'1

I ~.

IENG. APPR. ,i~l~;t~

FI G-U·RE.

6"
10'''0

'''1
,< t------------~----------------~--~
,

I

.,.~~·1

Poi" t

A

INPf) T

B

~

2..~~ \,....-...:-.....

P<'.'It,1

'2N 1304-

6 .. e'

+~----------~-----.~

I

Test

IN i 11-

1.0

b ~-_ _- - -

.
tNPUT

<

b.8 .

'Z~ ____.'~--- . ..a-----~

2fJ I

o
- J2..

V 1)(

II ~_ _ _ _----.l~_

I

_____
w. _ _

...... - ................. -.
TAurH TABLE
A S OL/T
:. 10 -I() -10

I.

GUGGENHEIM LABORATORIES
DEPARTMENT OF AERONAUTICAL ENGINEERING

PRINCETON UNIVERSJt¥

TITlE

D

-/0

-/a

0

0

0

0

_.
~DI

~----~~~--------.~~~--~~~~

::,::c. :~6-<_""A_~_'"_''-_--+-)'-

....-_-_'-_'' -....
-.--'-''-'':-'''

o

-----r

-'!'
..

1.0

1-7..0

~'ItJ"'"":

.,

.

"

4i!-........

12.

1-··-.................

',t~S'" ~;"t.5· ......- - - t - .

----......~----_.._-_i
(,.60'
~.,. f>~,tf'r f ~-+---......-----...

.

.

.

G-~ ~••,J
..,.~ 1 Pe ·,.t

0,: .
::~

~t.',:

~

-1'1,1.

/·CI'I

8.2. ,
tJO%
.. /0

.lluTPUT .

tlt)%.·,:,~
/00

-/"; VO(~

II ....- - - - - - - - - -.....----------~.......--'

AIv
t'es'
"I Dr" .,.d 'l "l~t~7(".• ".~.
, ........ ~
'
b ..' .I.
. • . 'All ,/~I'!
;-' :J j:lIt t 'i.J,.;i1..t~4
~~·i'~'.
. . . :.'

2.. All- ~,::;; tor! l1tf~ y~

4_

/'!ct':'J,

w-

"'t·

t.CPf!W'I1.1611

_+ J~'
r~ (_-'.C'v r.-{;...
~,.;I.'o.t·,
f

AI ...C,.

",I

..!1
.•~,I-.J.".
... 0;.'
~,.,.

.~' tit V41.. ~·'!f. In' j(,fe,I1"l.f ~ eitt;.-efr- .

. ..'

J. . All t:4f'4~/t~~'!: . ~.1..r~ sll~~r"'·I"'~t· w,tl, l,~k.~:. Jif .!,f:,' ~?JI·c.'i!7J.~ hot~tI.
,'l\t~

•

...

••• ~co • ..,......

. '\..

. .

.

- .-

10140'

"
IrID;

a
III

°~m
;:om

~

,.c:
III

11\

1

_
? Z

M/I/JsaJie.

"

-f»::r:

omm

i.

C.>:;
Z3·0l

.
O'ttpv.iS

<
(fO
m>~

(l')m>

-z-f
~920
z~

m·-

mm
C!. (;.n

. t;i" /t
,

Z

(j)

•

.0. 0l::!

Putse
I

I
i,

T R lJ IV I C -S

i

i.

.i

.~

-.~--.~.

------"...."..........

rt---··-:f~t--------'--·-

--I

I

~I-I'-r-I------------~------

I1~ l'::~ ~

I

i~b~ C

"---~'-~'-~'-'-"'6J""'---"""-'-'--------

f I

,1.p.~(] I!

Ze

~; ~

?

)-0

JlJ I
L 1 I iii
II

W

--r

-"I I.

I

i

L~~
'
I'
,--s Chec.k
"---.-=-BI·-f
! L_~~ . r . . ( . , _
...'~.
,.~
j
'..re. q. i
1
.. ... J7~/l I
i
!
~,. (.
t
~ i
I
>Ipulse
~"

r

r

(,re.'1.

:
--..

{.o.yj ' \

t.

.
r

<> . . .

II

£¢L .

g

1

~

-/'1. '/.

I

I

r,;-...----,

J

,

_

,.---1

I

I

$t/~<:.h~
I'''! -

~ ~""f

.It.

j

<

j

Crr....

..•

'

~ ~;"i'!:-r ~.

;

P~"\Jc.,..:

5~uaf.;
I r J .

I'?,l( $('.::1

.

'.

~. . . _ _- i

I

~-~.-.-·~.-..'!o...¥----r . . ;

7~~;.1QClf--_-4

.

,--I>

Ir Ii. lIli

.--",

71 ~.t{./~e
r
C.~hd, I

81

;::::or-,--

.':Z~('.

fl-1 ,

4- IJ

Z

» »
::0
.....
m ~

76 /(

ADC

zo~

,...J

_.'

2.1

ITI'"TI

Gl

I

Z r:\.

-t \1.#

oom
Z

fI
.(1

>, ~~~?' I!--- i

I I

"EC:
;:om(j)

"II
Z

i

INTE I~ FACE

~,~v'

II !

i

!

d, I

r-~

:

1,1:

I

I

•t

Ja

i

;

·

Ii

1f

f

ill
I!
~
I ! : I ~ Jj
III!
!\il\;

p....·J$e
~4nd

.

ii'

1

-t

::

\

r~-~~~~P:1

r-

m

Z

i::'~
-:~. ~ ~

'T

r;':' .::-::' ::::

~.~-:.~

c.n .'

~

.Z

. )

l ..)

Aoe - PIR

.;~

C.'Hrtci, I

(J) --..

Ii

r'

_

o rn ,")

•

N>o
-0
\fl ;g.f\
C· ~ --.. ;:
~

; ""

7k

(0

-,,,

~

~

~

I

", r)
-0

.' ".

?C~.2: ~

:<
C.'

\0.-

V

k i~-LAY
f~'

----1,-'
..,
J 1- _,
.......

L

'I"

.,.1 ' - I-.

.1 ....

-------

<

..~\ '.

'-.....

I

-.----~...-

!!1
i V
I {, ?J P.
r Po .
1

J

/0':"

i

.f....

J

{~

TR. A NS c R

1C0'

p(l~liv21J~i
/ / z. .· U
1
r /'\/>"\/ '"':'~ ,;"', r:.:
!!

~J

t· )

I

"D" C.,.~ '1 C I~-", - - - - - -....--

-~

J \,.

..

PT ~ T.1fl(.1J
(:..<- :;f:~ 11-7..7-1 !

7t1 z·:t,

fq

-1'

ADC-iII PT~

L

::~

0

I

I

~----'.
.
iJ1/I.~ ').. J I

1

I p tOJI
•

()

".1 ~.,.

I

11-

2

2)

~
'

~

.I'!J·- T?U"rW!w·

-II!! -

II!t,vm?!!!!!!"'!'

't!1I1!1nU"'U'.WtHWtMYfI !!!!!C?]twr,,!

- 5 most distant stations, and also that the P- and S-waves observed at one

c

station cannot be separated by more than a time corresponding to the limit
of the region of interest.

If a group is found for which at least 3 P-

arrivals have been recorded and where there is at least one S';" arrival,
an attempt is made to compute a hypocentre.

'Ihe flow-chart of this

grouping process is illustrated in the first part of figure 2.

The most difficult part of the process of determining the position
of a hypocentre is the finding of a plausible place from which to start.
If a good guess is made of this position, the refinement process is almost
routine.

In large networks such as the worldwide systems, or in

networks where-the station locations form a desirable grid, this is .not
as serious a problem as it is in the case being considered.

Itusually

is sufficient to assume that the hypocentre is very close to the station
at which the first arrival was recorded and refine from there.

But when

the stations are constrained by geographical considerations to being
arranged in a chain, especially when the events being observed are also
near to that chain, a wrimg choice of the starting position mB\Y easily
lead to a false final hypocentre.

'!he criterion of refinement of the

hypocentre position is that the r.m.s. deviation of the individual station
estimates of the origin time from the mean should he a minimum.

It is

not difficult to see that a hypocentre that is really a little to one
side of the chain will produce an image minimum on the other side.
'nle second part of figure 2 illustrates the programme that has been
developed to find the best start point by an empirically satisfactory
technique, and figure 3 interprets this technique graphical.ly •

•

When the position

o~

the hypocentre for which the r.m.s •. residual

- 6 has been found it is tested to see whether the minimum value is acceptable.
An r.m. s. resi dual of

o

0.5 se conds is hoped for and if this found it is

concluded that a false grouping of phase arrivals has not occurred.

If

the r.m.s • residual is not as Chow as this, the residual of the worst station
is examined to see whether this observation can reasonably be concluded
to be unrelated to the set.

If so, the refining process is continued

with this station deleted, provided that it is possible to do so.

It

is not possible to continue refining if less than three sllations are left.
When no further improvement can be made to the r.m.s .residual,
hypocentre card is punched.

the

It may happen that this is a false determination

and a check is made for plausibility of all hypocent:res found.

So far

no spurious one has turned up.

The final phase of the programme computes distances, azimuths, residuals

o

and magnitudes and is more or less routine.

o

c..,

~.« eG ~ • .>
PIIA.$e CAO~

Si.,-Ar.elW

I'T,,,,,e (.... ~.$

I

Jr~TfCH

If

ru')e..s

P/tOb.h.: J!.

A

"'t.o HA64.rE.))
t--,-Pi4ItSS LA IOU
lIrr-A"TIi)It/ If

J

'~DI(ItI! c!-rEJ

, trl41tJ>,

~/_----..,/.~i!-_rJ
~

(CiJ/iIt P J,.. /1.. 'r-4

e

I'l'l:. l-J ""'N~ II! 't'
l

PH4,l:!. P Ii-£!
, I

J

o

$4~1ia-

s.• .,..$

I)

F

I

PHItSS (J.AII:.l>S '"

t

AN1>

,c.:.DJVI It a,;rl$.

'. /(15j:1 NIj..

I

Hi(Pot.CN1I~

I

e..eaOI:]>;N A-r1LS 19 Nj)

I

M~JC,4

,,.HYP&<~ltIr« ~
,

!I'I'-Dt·a,.,rt.

1"'_~"'IIItN 1> P ~ Ii I.J MlJltI" lit. Y

c.l~ JI'U>..s

., ~iI"J~ e-ft~.$
A. (;,., C; u:, t t,./t

"rl

£;..,

t! ItI..~,~ £.04 .;-tJ. .), ~1""'N4t:'

..

.JA/-------,,/.~------'---___.."V

.~___""'I~/NIII- P 1I.,.1i.

•

72)

Stat- Plow-Chart.

PC 1:.".

~,,_ _ __

f:,;f(~Nf) i.l:}t, "lfl. F 1U2,"

I;

,...--------t

~::----

.....___.... $irltr, () IV.) P;lIJS G

PI-IIf.s e., t.A ~.$

I' PII~t £ t,1I~J;'
,
S-rATlfJN

IIN~

1

Me.~4& 14U-

eA~" .... ilfTE. ,,;..cc,,"
c..cMI£.c..TIO",$. IlI(JJ

II",P,..,

"

"

a

A~'MlJrH$ ; .ll'tJl~N''Ma1

ANb Its'S Itf ' "
NUM&U' .

Pieee 1 •

•

"/lilt ,

o
( START

NO

o

L.e. Avft. 'THe c,,"i
.:JV$ i

me..

It€"'.b-

/

~ .1)

N

il'vp",·r AKGA

F'iguN 2, :part A..

o

c
'CCA.AI!G~
p,.A$/!. c.AJU,S

I

L

e'" J-L iJ .. /If TE.

c.c1V>: I!.t.TlON-S.

,
I

Go... ~c '"

$TA"",O/!/

"'u HRf$..a.rE. ~

III(JJ

PHItSS LA ~
fl/lllP ... , 7"'4J,)e..l !JAI)J I--"~ $rA"TI()N
A

STAT/I)N

A

1

ME.~4 & 14 i..J() N.) P'" IJS G.
....---~
". t:,;41(j>.I 7» t= c ,.".

loll

~L
___--..,/ ~

'CQ~ P40.I!.-1"'"4

L..J,.. IHIIt ,: 't'

, - - - - - - - -....... PHIf 1:5.

..t= ~i..e.

.~i!--_J

V

f

saI-ad

o

s,.r~

I> F

PH/tSt: C-AJ:.])S"I
-c:.DMI' ... rS-

; R..tI.~1 N6.

I

t

>

AN1>

I

H·'('PcUN'1i!4

~(;I!.>;N A"re.,s

I

4 Nj)'

I

(::>1('40" -"'-,"""/Il.$

M.E:ICC;£ II'I"D("~NT~.
rHVP&(A!/IIIrl:. l!-

I

c;. ,~

..u.s

.a-_--l"'II1tNJ> PREI-IMI""''' ~y
.,.. ~;I"Je. e.-IfO.:C

"1'1 it
t

(I ,., C.

J..t;):'

t';'''''''''

"

ItI",tl,V £.A -r/'l.. ~,~ rA-Mt:'

14~'MlJrHS; ~Jt~N'~_

~/"------~~/W:~~-----"'A/'I})

lII!!~o-_....f PIIIII"..

PI£..15.

r-1t......o.-_ _--"V

•

~

~i-P_ _ __

~t»Nf)iJ)e, ",.1- P/~ r-"

o.s-

I I'I:E

1

_'\, 5:-1t r,

PIt,,])ih.:}i. (:.D~lta4.trEJ
P~/IIS.e. t.-A

PIlIfS £. t,1l~~;'

8

itSS ,t:, '"
NIIM&U ~ .

i.l'IlII4,

o
CsrfiRT

e. ",,-:-e:. ~
'------~ rM8~'=~

1/10/ '110::'

o

l'lr'Ir"';oj

S.7"7-t1"'/()N 9)~7''J't

e'it.-.

I...e.ltvl't.. 'THIl:.

c,/~~~

:Jf)$i It€ "",1>

me

/N
iJ'VP;"·,. AAt:M

Pigu" 2,

part A.

o

c

R6.:b"i.:.e
r-'N.~

-(",Me

O~t4 iN f"flYI£

nN»

»G

~

THf!
IN

f'I

"·U

c~ '&';;'11

~€~~])... ;.f!-

1t1I!AH

E~··rIJIIIRn~.J

MJIV/!t1vM

r-~

15:-

Sn;P/'), ~ I';;fCd·I c: y
111e rJ.t It IE. E. -~ P /1~.c.

v'-p'7"/ON.S,

t,..:".K."b,NlJre.\ '<'\t

n:;:.IV.
c.)j/f, 'J7.if.:.
OJ;..'4 .. N ',I'-fe. ,4: '~J. 'i
p ..\; /Ii.J:> .4 P 'T H J$ ~ t.:..
/~~e.

~

t.h;~

MeAN

riMe..

To

(!HO't'$E.

Og,c,,,.,,

e

r:: IN.)

'ToNI rUf .... i.>1!.

TH/~

AT THt;

C."~I:.f!.LI ~l>; .. T 'tN'· e
~a·sr

C::- lVe.If

(e$T

.sr~"'-I ('~N

TI-f(!

fl/ (,../!.t¥TA

e.. w"'1-/

j....,()We..-'T RMj
I't;:S' .1>V";L.. IIV .:)1.: l.tjiN
"rIM;.! eS'r, JoItA·l·E..~

cit RK. Y

c.. ~L- _IE. i.

0

""'r "we
(,) ~

I-ftJ .1trIr IN .:'{'
(Sell r.: it.. 3)

Figure 2, Part B.

o

C!7'1-i~JII"';'. ~£

AI.)"

THe.

.1>I.>r"Ni.E.J P,.'!.c,v)"
,qi-..~ ~ I 117"1 eN.$.

ep-t,{l~rKE..

3

ON4.-(

S iJ17'";~

R;:P.e.A"'-

.....

--~

::.-r/~

x r'N~

a&;·,
GASi

()F NcAI1..E.J 7~;-H'-'C AI

o
(~
"SJr----~

l'>iJl';~ "R/4 IN
Il N)~ lit'" I' .

>--_~;..:a.I. 'r I i~ £

~t,..;:'iVT1itl

:!.."O~_)J

c..1=J I! _.J>

---t'
·NrJ

o
1>e I-e.TI£
loVe ,I\: .rr

FiE!:e 2, part

T7I1!

~ T,,"rl C Ai

c.

o

•
I

..

I

8 '

•

•II

,
.2---------

•

3

3-----------------------------

Figure 3.

o

The points 1,2 and 3 represent the positions of the observing
stations. Prelimina:t7 oalculations of distances are represented to
scale at the bottom right. The points A and A' are obtained by measuring
the appropriate distanoea to the East and to the West ot the nearest
station respectively. The point B (:S') i8 obtained by measuring the
appropriate distance along the line I,A (I,A') trom the point 1.
The point C (0') is obtained. by aeasuring the distance from 3 along
3,B. D, E and F are obtained similarly_ It can be .een that, tor
the more aPpropriate starting point, the tth1Poaentre"

converge. to

a stable position whereas for the other starting point this does not happen •

•

o

S.P.S. FUNCTION AND SUBROUTINE SUBPROGRAMS
TO BE CALLED BY FORTRAN MAINLINE PROGRAMS.
AUTHORS:

RtCHARD LA RUE & JOHN POWELL
THE UNIVERSITY OF SOUTH DAKOfA
VERMILLION, SOUTH DAKOTA
57069
REFERENCES:
1) IBM 1620 MONITOR I SYST~M REFERENCE MANUAL FILE NO. 1620-36;
FORM C26-5739-4
2) IBM 1620-1443 MONITOR I LISTINGS & FLOW CHARTS
1620-PR-033(CARD)

C
I

MACHINE REQUIREMENTS:
1) 1620 MODEL I, 20,000 DIGITS CORE STORAGE
2) (1) IBM 1311 DISK STORAGE DRIVE
3) I ND I REeT AD DR ES~' I NG

OPTIONAL EQUIPMENT:
1) IBM 1443 PRINTER
2) ADDITIONAL INSTRUCTIONS:

MF. TNS, TNf

o

o

S P S CON TR0 leA lOS NEe ESSAIt Y TO ASS (-·13l. E 1'. ;~ D STOR E ( l\ NO L t ST )

S P S SUBPROGRAMS.

CARD COLUMN

1111111111222

123t567B901?'3~567890'2

*A;SEMRlE RELOCATAAlE
*~TORE

*U/lJ'E

RElOADABlE

xxxxxx

*t.IST PRINTER

0,
I'

•

o
The Indicator Record

(Monitor Manual page

1~4)

Each subprogram to be called by a FORTRAN program must contuin a
header record to i denti fy the routi ne and" to" provi de other essentj al '
information., The SPS instructions ne'cessary to, create,th,is recol~e(

,

The following three statements must conclude each subroutine:
LAST

DAC
DC

1,0
1,@

DE NO 1

forces next available, position to be. even
required record mark (see LAST in DVlC statemel.t)
operand indicates number of entry points

o

j
i

~

J

II
I

o

CAll SORT2(A(1).J(1),N) will cau,e the FORTRAN comptler to

gener~te

the fol1owt"9:

·+11~~

o

8T~1

OSA

SORT2, tl+ 11

A(l).J(l),N

17 XXXXX XXXXX

Address <~f A(l) XXXXX

Address of J(l) XXXXX
Address of N
XXXXX

The fol1o\'/ing is now that portion of the SPS subprogram that moves'

these arguments (A(l),J(l),N) over to the subprogram and calculates
the return address to the mainline which will be the next even posi-

t ion f 011 ow i n 9 the s tor age 1 0 cat 1 0 n . 0 f the add res S 0 f the 1 as tar 9 ~-..<:~:
ment (N).
- .~--

MATRIX OS
COL
DS
N

OS

RETURN OS

SORT2

AM

TF

AM

eM

SHE

AM

TFM

TF

0

RETURN.5
MATRIX.-RETURN.2

•

*-6,5
*-18,*-37
*-48

RETURN.2
SORT2+18.MATRIX
CHECK.-N

SM

CHECK,I.lO

TF

MATRIX,-MATRIX

BNF

GOI

5
5
5
5

GO 1. t'1ATR I X

J,

The first three OS statements are to store the addresses of A(l), Jel),
and N. The fourth is to store the return address to the mainline. The
functions of the other instructions are described belQw_
SORT2

AM

RETURN,S

The instruction ca1culates the address of the address of A(l). The
value at RETURN was *+11 or the Qll digit of the 8TM instruction generated by the CALL statement. If you add 5 to this we get the address
of the units position of the first address in the DSA"staternent following the BTM instruction.

\.

TF

MATRIX.-RETURN,2

Brings the address of ACl) over to the area addressed by the symbol MATRIX .
•

•
L4

At·,

*-6.5

Updates the P operand of the previous 1nstruction by 5 thus making this

the address ass 1gned the symbol COL.

cr~

* -18

J

11 -

0:

37

This compares the number in the P operand of the instruction
TF
MATRIX,-RETURN,2 with the number *-37 which is equal to the core
address assigned to the symbol RETURN.
BNE

*-48

If the resuit of the last compare was zero the addresses of all arguments have been moved in.

AM

RETURN,2

Calculates the next even address following the add~esses in the OSA
statement generated by the CALL statement. This is the return address.
(Note: We would add one if there was an even number of arguments.)

TFM

SORT2+18;MATRIX

Restores the P ope~and of the instruction following SORT2 so that the
subprogram can be called again by the FORTRAN program.

~~
~

,

TF

CHECK,-N

Moves the data whose address is at N to CHECK.
SM

CHECK,I,lO

Reduces CHECK by one.
BNF

CF
TF

G01,MATR'IX

MATRIX

MATRIX~-MATRIX

If the actual argument used in the FORTRAN was A(K) instead of ACl)
then MATRIX contains the address of the address of the argument. These
three 1nstructions will put the address of A(K) at MATRIX which is
assumed in the instruction:
GOl

TF

X,-MATRIX

o
:'I',,·'I

\

. =1*..1
~4 0003?0070
13600032007024902402511963"
11300
1 07.
0 13.
•
. .
.
.... f)t.A?

n F lET S IlI-~ T 2

~:

. '

.

.

....

.

::l:.*JQI3

c

T: .SP.:s

P R I ~J TEn
::=ASSEf·1HlE RElLJCATAKlE
*STORE RElOAnABLE

. t.: LIS T

~:~iAf'·l Esor< T 2

*

{)U TIN G T (J SO R T
s_SIJ RR---os,
:!;+ 101

t,= S p S

THO CUL U1-1 i'd S

c::J

,

~ FIXE D, t~ 1

1

o.

F. IT HF. R

DC 6,9B7R98,5~S
DAC 6,SUkT2 ,7~S
.
DVLC?7. n S,5, LAST, 2,08,7., 10, 5?S(jr~T2 ?6,5,O,30,O
nsc 17,0,0
.'
'., "
DORGS lZ3 100
,.J AT R I X IS' AD DRES S 0 FAR RAY TU RES nRTF. D (F I XI:: D nR F LO AT I ~.J r, )
COL IS AnDRESS l1F' ARr~AY TO . BE' CAfH~IF.f) I\Lf)~.IC; (t.iUST RF FIXED)
N ,I S ADDRESS' OF r'·JUNnF.!( OF ELE'.!ENTS .
RF. TURN I SAD UR F. 55 0 F' I'·J EXT I i\I S T RLJ C T lOr! I N r·j AI ~\Il I i\! E

'.
~:
~:

;::
.~:

r·1ATRIXDS . 5

COL
f'!

DS

5

DS . 5

RETURNDS

5.

SURT2 AM

RETURN,5.
MATRIX,cRETURN,2:

TF

Af·'
Cr4

~:&::J6 t 5 .

B~·IE

*c::J4H
HETURN,2

AI·'

*

•'

t,c ellS, ~: ca 3 7

TFf.} SORT2' +l8,r·IATRIX,·,RE5l-:T FUR

j..JEXT.

·SET NUMBER OF ELEMENTS AT CH~CK

PASS

CHECK,c:JN
CHECK, l, 10
BNF GO 1, r·iA TRI x
CF r·1ATR I x
TF . f"lA TI~ IX, aJNATR I X
TF
S~'l

>GDl
.FIX

.,.....

.

Al

SE.E IF DATA IS FIXED POINT OR FLo.~T:ING PO,Ir'..!T
T F X ,. o(-iA T R I X
B[\IF FIX,X~l

B

FLOAT
CHECJ<,KK

SF

95
PUT STARTING ADORESSES AT ADDRI. ANl1. ADf)l{?'..

H

TF . ADDRl,MATRIX
TF
AOOR4,COL
PUT Er~DING' ADORESS' AT ADO~3
TF
AOOR3,AUORl

A

AOf)R3,99

TF
TF
A

ADDR5,AOOR4 .

AODR2,AbORl

,AODR2,I<.s-c:t
'
~(L 1 ST pn INTER
ou-' E'~ S I Ut,l A ( 20,5' ) , tl ( 2U t 5 ) t L ( 20 )
fHJ 10 I
1, 2 U
fHI 10 J :: 1,5
f\! (I t J ) :: ~ I ::; J
lOA ( I t J ) :: i'-i' ( I , J )
- P rfI P T 1 U 1 t ( ( A ( I , J ) , J = 1 , 5 ) , I = 1 , 2~) )
101 FORMATflHl/(5FlO.2»
.()() l~ t·,
1,5

=

=

DO '5' I = 1,?.0
5 L(I)=I
CA L l S()I~ T 2 ( A ( 1 t 11) , L ( 1 ) , '-0 )
15 PHI~.!T 102, (L(J) ,A(J,H) ,J=l,?O)
10? FtlRi·l/,T(lHO/(IS,F10.?»

PRII"'f 103,

103

(((.!(

I ,J) t J=l, 5) f 1=1,20)

F(1I1i:;J\T(lHl/(~110})
f)

n 14 r·l

.

= 1, 5

=

DO 25 I
1,20
25 L(I)=I
.
C4lL sn~T2(N(1,M),L(1),20)
1t.. P~ I NT 1 04, ( L ( J ) ,h ( J , r· j) , J =1 , 5 )
104 FURMAT(lHO/(2110)
CALL EXIT

ENO'

'S~PL~'
'.'

.

•

.'

.'

CS,' .
j

.-,.,;

,

v"

~~Jo8
~~p&A

P

:!:DEL ET F LllA T
¢:~...J()e.

o

$,.:t:SP$
~c"S S Ei·'f\ LF.
~cSTnRE

R2 LUC ATAB LE

RELOAnJ.\HLE

):; lIS T P l{ I ~"! T f. R

:::NAr·\E FLOAT

S

OS

DC

t):~+

10 1

o,987R9H"cS
,7~S

DAC ,6, F LUAT

OVLC22~S,5,L~ST,2,OO,2,04t5,FLOAT~6,5,O

DC

30,O,66 c S

DSC 17tO,O

ARG

nOKGSI:'.IIIOu
OS 5

RETURt~DS

5

FLllAT Ar·':

RETUkl~t

•

5

TF

ARG,c:JRETURtJ

TF

FAC,uARG

Ar·l ' RE TURN t 2

B T t·} SF L U AT, 0, 10

B7

aRETURN

SFLOATDS

,4042

FAC

,2492

LAST

OS

OJ\C l,a
DC I,d
DENDl

•

.0

r~.JoB

,
I

#PIJAP

:::OF.lETIFIX
~~ol3

fF*'-S pS

*NA(·1E I F IX

S::ASSEf'.1BLE RELUCATI\P,LE
*STORE RELUAOARLE
*LIST PRINTER
S

US

t*+101

DC 6,987R9B,5C":1S
OAC 6,IFIX ,7 c S
DVLG27.=S,5,LAST,2,OH,2,04,5,IFIX a 6,5,O
DC 30,O,66 n S
DSC 17,0,0
Ar~r,

Unl{GSc:t100
DS
5

RETURNDS
IFIX AM
TF

5

RETURN,5
ARG,~HETURN

At·;
RE TURr·,,!, 2
BNF :::+36, ARG

CF
TF
BT

ARG
ARG,cARG
TOFAC,ARG

BTH FIX,Q,10

B7

cRETURN

TOFAC OS

,3[1-08

LAST

1,@

, FIX

0

OS' ,3854
DAC 1,a

DC

DENDI

I

I

~·F.JQ

0.

:t't·F~.aeX ~

.•;-; l I

~)

f

-:,,::

P 1\ I J ! f t: ~:

n Ei.1 t"I
X

\.

i H{
= F14.

r =

)

1F I X A f'.I ! ) f Ul A1 c:JU F I J~.1 T I Uh! SlJ BPI{ U(; f{ 1'\1-1 S H H r T T ~ (\I INS P S

r.

~

XI ::: I

Y = X/XI
PRr~IT

I.tV

= o.
Y = X/FLOAT(I)
y-

PHINT 1, V.
1

J = ·IFIX(X)/I
PI{ If"T ~, J

FnRMAT(lHO,FIO.~)

2 FORNAT(lHO,IH)

END

~,

o

'.'

..

••
....~-.

'0·',
,

,

Absolute Monitor Addresses to certain subroutines one might wish to use.

FAD

OS

,4090, ,Entry Address to Addition Subrout1ne

FSB

OS

,4066"Entry Address to Subtraction
.

FMP

OS

,4138,.Entry Address to Multiplication Subroutine

FD

DS

,4162 t t Entry l'\ddress to Division Subroutinn

FIX

OS

,3854"Entry Address to Fi ..~ Subrout1 ne

FLOAT

OS

,4042"Entry Address to Float Subroutine

FAC

OS

,2492"Low order position of FAC (Floating Accumu 1 a to\")

TOFAC

OS

,3408"Entry Address to load FAC

F~1FAC

OS

',3452, ,Entry Address to unload FAC

ENTLN

DS

/

Su~routfne

G

,2248"Entry Address to log Subroutine

ENTEXP OS

,2253"Entry Address to Expon. Subroutine

ENTSQT OS

,2318, , En try Address to SQRT Subroutine

ENTABS DS

v
,2323,.Entry A.' . .8,/

..

°

~

y

~:

I?

·~·P~~·A.j

0,

/8 ~ " zU~. ~ ;-',.'. ~

S· '.

.'

.'

.'.'&:

r

~

()
L1

rr/

.

.AJ.s'
'.

... .... '... ;

.£SS/·~A.J'.Hc.A.lIE/ .

.

,.

c

LOGICAL IF,LOGICAL
DATA, BLOCK DATA, LABELLED COMMON
DEBUG
COMPLEX
More than 3 DINENSIONS,
ADJUSTABLE DIMENSIONS,
GENERALIZED SUBSCRIPTS
GENERALIZED TYPE STATEMENT, IMPLICIT

o

CALL BY NAME, CALL (fLITERALr),
ENTRY, RETURN i
ASSIGN,· ASSIGNED GOTO
OBJECT TIME FORMA T STATEMENTS,
PRINT, PUNCH, READ b, list, END, ERR
NAMELIST, PAUSE LITERAL, G, Z, L,
FORMA T CODES
COMPLEX, LOGICAL, LITERAL, HEX CONSTANTS

o

----------------------;-----------~.-"''".-.,~=~~,-'--

•

c
* LOGICAL IF
IF (LOGICAL EXPRESSION) STATEMENT

IF (A. LE. 0)

GO. TO 25 .
A

=0

c

o

*DATA INITIALIZATION STATEMENT

DIMENSION A (5), B(3,3), L (4)
DATA A/ 5*1. 0·1, B/9'1.:2. 0/,
L/4*. TRUE. /, C/'FOUR'/
*LABELED COMMON

"
. COMMON A, B, C /ITEMS/X, Y,Z
*BLOCK DA TA SUBPROGR.AM

BLOCK DATA
COMMMON ••
DIMENSION •••
DATA

EQUIVALENCE
TYPE

•

•

*DEBUG FACILITY

.

DEBUG SUBCHK (A), TRACE,
INIT (B, Cl, SUBTRAC·E .
AT
TRACE ON
TRACE OFF
DISPLAY
X, Y, Z
*COMPLEX DATA and ARITHMETIC

o
.1
.

I

ARRAYS:

* More than 3 DIMENSIONS
* ADJUSTABLE DIMENSIONS
CALL SUB (A, 5, 4)
SUBROUTINE SUB (A, I, J)
DIMENSION A (I, J)
A (K, L)

= ...

* GENERALIZED SUBSCRIPTS
+B

(.

3~:~A(M,

N»

o
,/ ".f-

=

" .. _._.................... _-" ....... _.. _'""' .... _ ... " ......... -.. -"'-.... "'-.. "- ...•.... '". . -."' ....- ..= '
~

*GENERALIZED TYPE STATEMENT
One STATEMENT DESCRIBES
TYPE
LENGTH
DIMENSION
INITIALIZA TION

o

REA L A ( 5 , 5) / 2 0 ~:~ 6. 9, 5 ~:~ 1. /, B ( 1 00)
/100*0. /, TES T~:~8( 5)

*IMPLICIT
IMPLICIT INTEGER~:~2(A - H),
REAL ~:'8 (I -K), LOCICAL (L, M)

c

*CALL BY NAME.
ARRAYS, SUBPROGRAMS,
VARIABLES IN SLASHES
SUBROUTINE SUB (/x/,x)

*CALL ('LITERALr)

c~

*ENTRY STATEMENT

*RETURN i
CALL SUB (A, & 30, &40)
1;,

SUf3ROUTINE SUB (B,
RETURN
RETURN 1
RETURN 2

o

*,

*)

:.,

o

*ASSIGN, ASSIGNED GOTO
ASSIGN
GOTO

30 TO A
A (20, 30, 40)

"

o
/' )

*OBJECT TIME FORMAT STMTS
READ (5, FMT) LIST

*READ b, LIST
PUNCH b, LIST
PRINT b, LIST

c.\
Ii

*READ (A, B, END
READ (4, 10, END

......

= c,

= 300,

Ow
I

o

ERR

; ~

'._

= d)

ERR

LIST

= 900)

LIST

o

*NAMELIST
'-NAMELIST /NAMl/A, B, I, J
WRITE (6, NAMI)
&NAMI A = 4. 00, B =" 267. 34 •
& END

*PAUSE rDO NOT PROCEED'

o

*FORMATS
G - GENERALIZED
(INTEGER, REAL, COMPLEX, LOGICAL)
Z - HEXADECIMAL
L - LOGICAL

*CONSTANTS
COMPLEX, LOGICAL, HEX, LITERAL

•

o

FORTRAN "ALTER" SYSTEM

PRESENTED AT THE
COMMON MEETING
APRIL, 1968

CHICAGO, ILLINOIS

OTTO E. BUFE
PROCESS ENGINEER

o

ARTHUR G. McKEE & COMPANY

CLEVELAND, OHIO

--

.. ... .. .. ...

,,-,,-----~---,,~-,-,-,

'"

"" '"'''''''' ,

-~--.,~'"'''."~~~-~~~~-~~~-~-----------------------

Page 1

FORTRAN "Altertt System

o

Sunnnary
The FORTRAN "Alter" System is a method of conveniently updating
FORTRAN source modules, and is well suited for use in testing and debugging
procedures.

Source modules are stored on disk in the Assembler sub-library

and most of the operations are performed on disk, resulting in increased
efficiency of operations.

Card handling and card reading are reduced

to a minimum.
The "Altertt system is comprised of 7 McKee utility programs as
follows:
1.

Card to disk

2.

Sort

3.

Update

o

4. Produce control cards for catalog function
5.

Documentation program

6. Wri te last record on punch file

7. Disk to printer
The programs are written in E level FORTRAN IV, and are presently
operating on a 64K Mod 30 under release #14 of DOS.

Background
Soon after operations were started on our 360, we realized that it
was very inefficient to run a comp.ile-and-go on most FORTRAN testing,
. due to the slow operation of the 'FORTRAN compiler.

Fu~thermore,

since

()

Page 2

C',

FORTRAN "Alter" System

'/

DOS does not furnish the ability to compi+e directly from source module
to relocatable library, many test runs could not be conveniently put
into a job stream.' We were able to stand this at first, since initially
there was a fair amount of available time on the computer.

J:Iowever, as

the work load lncreased, the time for testing and debugging was accordingly
reduced, and we started thinking about procedures to make better use of
the test time.

Development of the "Alter" system was 'a step in the right

direction.

Description

o

For maximum speed on our system"(4 disk drives, 2.tape drives), most
of the operations would have to be performed on disk, meaning that FORTRAN
source modules. must reside on disk.

'"

.

The DOS residence disk was selected

to hold these modules rather than a separate disk.

The Assembler sub-

library in the Source Statement Library was used to store·the FORTRAN
source modules, due to lack of a FORTRAN sUb-library.

Because of our

philosophy of operation, we are able to dedicate about 1/3 of the residence
disk to the source library.

All of our FORTRAN modules at McKee are

presently storedtn this sub-library.
Under the operation of the system, all FORTRAN source modules,
when first coded and punched on cards, are put into· the Assembler sublibrary using McKee utility program #1 mentioned before.

o

All modules

Page 3

FORrRAN "Alter" System

o

require a header card, giving a 4 character name and an 8 character name,
which will correspond to the name of the module in source and relocatable
librar ies respect.i vely.

The program puts an identificat ion on all cards

in cols. 73-80, the first 4 characters being the source library name and
the last

4 being an "integer multiple of 10, indicating the card position

within the module.

This identification limits the effective number of

cards per module to 999, but we have not found this

~o

be a problem.

After the source module is in the source statement library, McKee's
utility programs are used to perform various functions, such as updating
the source and/or relocatable libraries, or performing documentation
functions.

Input to the first

util~ ty

program (1/:2) in the job consists

of the type of function to be performed, and the change cards for each
module (if iequired).

The program reads the cards and sorts the change

cards (if present) to assure the correct sequence of records for updating •
. McKee utility program #2 also creates an input file for the source
statement library service program (SSERV)to access the FORTRAN modules
from the source statement library and an input file for McKee utility
program

#3.

McKee utility program

#3

updates the source modules, if required,

and creates input files for the FOR'rRAN"compiler (if required) and the
maintenance routines in DOS.

If"the source modules are updated, the

source stateme'nt library is updated with the latest versions of the

Page 4

FORrRAN .. Alter" System

modules.

The procedure used in updating is similar to the one used in

the QUIKTRANoperating· system.

In QUIKTRAN, any source statement in a

module may be inserted, deleted, or replaced by specifying a line number
and the altered coding, if applicable.

In the McKee "Alter" System,

the modules are renumbered as they are updated.
McKee utility program #4, used in conjunction with the FORTRAN
compiler, produces the header card (CATALR name) necessary to catalog
an object module to the relocatable library.

The program accepts the

header card for eaCh module as input and produces it on the punch file.
Note that several header cards may be produced in series if one or more

C

compiles in the job are terminated.

In this case, the valid header card

'I

.i
is always the last one in the series.

If the compile of any module is

terminated, this utility program effectively deletes the object module
in the relocatable library.
Some of you may be familiar with the documentation type program
that we included in the "Alter" system as McKee utility program #5.
original program is available through

cosr~c,

The

an information center

set up to distribute NASA computer programs, and produces a flowchart
from FOR+RAN source statements.

We have made a few modifications to the

program, one of whiCh "ras to enable the program to arrange the statement
numbers of a source module in ascending sequence, and revise the
corresponding statement· numbers in the transfer statements of the module.
A control statement specifies the first statement number of the program,

o

Page 5

FORTRAl~

"Alter" System

if the statement numbers are to be arranged.

A zero statement number in

this card will perform the flowcharting function on the following cards
of the module.

We have found this program to be useful in debugging and

testing as well as in documentation.

If patches to a

progra~

are to be
•

made involving new statement numbers, these numbers can be readily
determined.
McKee utility program #6 is executed after the last module in the
job has been read by the FORTRAN compiler (if object modules are to be
catalogued to the relocatable library).

The program writes several

records on the punch file to effectively close the file and return
system control to the card reader.
At this point, I would like to show a few overlays to illustrate
the system.

Overlay 1 is a display of a FORTRAN source module from the

source library.

Note that the header card is given an integer identification

a flowchart of the same FORTRAN module, made on a 1403 printer.

I

flowchart program reqUires no input other than the FORTRA}T source statements •
•

Modifications to the Compiler
Before the "Alter" system could run successfully using disk files,
it was necessary. to modify the FORTRAN I/O module (IJTFIOS).

The original

·0

Page 6

FORl'RAN

c'

If

Alter" System

module writes 260 byte records on disk, which is unacceptable to either
the FORTRAN

compile~

byte records.

or maintenance programs, both of which accept 81

The modification consisted of revising the Channel Command

Words for the READ and \\fRITE routines so they will accept 81 byte records.
The number of records read or written per track was increased from 11 to
25.
Another modification to the IJTFIOS module was necessary for the
flowcharting function of McKee utility program #5.

Since a full printed

line was necessary for this function, the 2nd modification to the IJTFIOS
module consisted of changing only the Channel Command word for the READ

O·
I'j~

routine to accept an 81 byte record, leaving the WRITE routine to accept
a 260 byte record.

McKee utility program #7 then' could be used in

I

conjunct jon with the documentation program to read several short records
and print a full line.
Note that no modification of the IJTFIOS module is necessary if
files are used in the operation of the "alter" system.

t~pe

In fact, the

"alter" system was first implemented on a combination disk-tape system,
where only the initial and final operation involved disk.

However, our 2

tape units are the slowest and most error prone 2415's IBM makes, and
we really get hung up waiting for the

tape~

to

re~ind!

Needless to say,

we converted to a complete disk operation as soon' as possible.

o

•

Page 7

o

FORTRAN "Alter" System

Techniques Used
We used some sp.ecial techniques in the McKee "Alter" System to
reduce the number of control cards to a minimum.

Five extra disk

files (in addition to the 4 standard files) were created by
Standard Label (STDLABEL) option.

~eans

of the

Four of these additional files were

given the same extents and label information as one of the 4 standard
files.

One of the files created was a SYSIN file,

whi~h

is assigned

to various disk units at different times during the execution of the
programs.
The two modifications of the IJTFIOS were catalogued into the
relocatable library under different header names.
modules existing in our relocatable library with

c

There are now 3 object
ide~tical

program names.

By using an INCLUDE control card with the name of the. modified IJTFIOS,
we can override the original module.
We have been using the "Alter' system at McKee now for about 5
and the FORTRAN programmers are well satisfied with it.

mon~hs
.

Programmer

efficiency has been increased because more can be accomplished with one
computer run.

There is a slight increase in compile speed, due to the

input being taken from disk instead of cards, and also an increase in
speed in cataloguing both to the source and to the relocatable libraries,
all adding up to increased computer efficiency.

•

01

C:

SESSION REPORT
COMMON - Chicago

S e s s ion Number",--,_"--s...=M=O.:.;N:.-:E=2:...-'_...:-............_ ____

Session Name; Solution of

Chairman

W. A. ·Pease. Jr.

Time

5.30 to 6.15 PM

Speakers

Suresh R. Phansalker of the Badger C0mt_ny

Larse

"'Simultantous Equation.
,Attendance .' (No. ')

-----------------

o
Synopsis of Meeting

Solution of Large Systems of Simultaneoas

Equat10ns of the lei ne.rNonbomQleneous type, which display the

characteristics of symmetry and sparseness of the coefficient matrix
is uneconomical, when it is necessary to hadle and store the entire
matrix.
By using Cholesky's method for the half symmetric ban running
diagonally across the overlapped area of the two subject matrices.

•

much core space and operating time may be saved.

The program 1s being

presented to the library and the technique i8in the paper pre.ented.

tlSOLUTION OF LARGE SYSTEMS OF LINEAR NONHOMOGENEOUS
SIMULTANEOUS EQUATIONS WITH BAND SYMMETRIC
COEFFICIENT MATRIX "

A paper presented by
Suresh R. Phansalkar

atthe

o

Chicago COMMON meeting on
April 8, 1968

c
THE

BADGER

COMPANY,

INC

SOLUTION OF LARGE SYSTEMS OF LINEAR NONHOMOGENEOUS
SIMULTANEOUS EQUATIONS WITH BAND SYMMETRIC
COEFFICIENT MATRIX

INTRODUCTION:
In many scientific applications, it is often necessary to solve large systems
of simultaneous equations of the linear nonhomogeneous type which further
display the characteristics of symmetry and sparseness of the coefficient
matrix. It is uneconomical both in computation time and core storage if
it is required to store the entire coefficient matrix and operate on all of
its elements, most of which may be zeros.
Choleskyls method affords a very convenient means to secure both these
obje cti ves • For a gener al s ys tem of n equations, Choles ky I S method 1
re.qu~res.: n 2 + (~numb~ of the order of n) operations; whereas the Gauss
ehmInatIon requIres: _
+ (a number of the order of n 2 ) operations.
Further economy is efft?cted by taking into account the symmetry and
sparseness of the coefficient matrix.

o

BASIC THEORY:
The theory underlying this method as well as the method itself has been
well known for sometime. For a system of equations

AX

C

(I)

the method consists of determining a lower triangular matrix L with which
the system of equations (I) can be reduced to the unit upper triangular form,
viz
TX
(2 )
K -----------where

A C T =
K ,X =

coefficient matrix in original system
vector (s) of constants in original system
unit upper triangular matrix
derived vector (s) of constants
ve ctor of unknowns

Thus in es sence, by pre-multiplying the system (2) by the lower triangular
matrix L, system (1) is obtained.

o
rt'
THE

SADGER

COMPANY,

INC:

~
~,

-2-

Then:

= o

L(TX - K) .-- AX - C
This implies:
LT

A - - - - - - - - (3)
C - - - - - - - - (4)

LK

or, by adding (3) and (4)
L

[T

+ KJ

-

A

+

C --------(5)

It is known 2 thatfactorization of any arbitrary square matrix, such as A,

into a lower triangular and an upper triangular matrix, as is implied in
equation (3) above, is uniquely pos sible if the elements on the principal
diagonal of either L or T are given known values. In Cholesky's scheme,
the elements on the principle diagonal of T, the upper triangular matrix,
are all taken to be 1.
Once the unit upper triangular matrix T and the derived vector of constants
K are obtained, the u.nknowns X are obtained from s ys tern (2) by
a simple proces s of "backward sweep".
In practice
the elements of L and the augmented T + K matrix are
obtained from the parent A + C augmented matrix row after row, from
left to right. The formulae to obtain the elements
Iij and t i . respectively
of the Land T matrices are:
J
.

c

n == no. of equations
Where a represents elements of augmented matrix
That is, firs t column of L is s arne as firs t column of
b)

t Ij

~

.-

-. _ _ c=o-.-.

j

=

1 ---

= = - -

(n

+ no.

[A + C] .

[A +

cJ ·

of sets of right hand cons tants )

a 11
j- 1
c)

1· . 1J

a ..
1J
j

d)

t ..
1J

~

:::

- ~

r=I
1,
to i

[aij

1
1..

11

j

-

1. t
1r rj

(i

+ I),

i- 1

-

L
r=l
to

1.
1r

(n

tru

+ no. of sets of right hand constants)

c
THE

BADGER

COMPAI'JY.

INC.

-3-

c

c) and d)

above ;clearly explain how elements of both Land T are obtained
row wise.
Forexarnple, for a generalized coeff. matrix A (s lide 2), an
element, such as, say, 163 of the lower triangular matrix L
is given by:
a63 -

~ 6 1 t 13 + 162 t23]
~61

r

t 16

+ 162

67 - (1 61 t17

t 26

+ 163

+ 162

t27

t36

+ 164

+ 163

t37

t46

+ 165

+ 164

t47

t 5 6J

+ 165 t5~

CASE OF BAND SYMMETRIC ItA" MATRIX

o

AssuIne now that the matrix "A" is known to have sYInInetry @the principal
diagonal and non zero eleInents only within the region bounded by the 2 offdiagonal lines . (Slide 1) For such a matrix, it can be shown that the upper
triangular matrix T will. also display the characteristic of non zero elements
within the band width only.
Further, the Land T matrices for such a matrix dis play the additional
property that;
lij

~

tji x Ijj

i

I: j

This can be readily seen from the illustrative example [Slide

3]

This then suggests that:
1)

Only elements in the band width as defined in Slide 1 need be stored as
the coefficient matrix, eleInents below the principle diagonal being
unnecessary.

2)

Only the diagonal eleInents lii and the elements of the upper triangular
Inatrix T, tij' need be calculated, elements lij ORD rows, each
row containing NB3 ::: NBI + NLDC elements.
Where:
NBI = band width
NLDC =,; No. of sets of right hand constants.
For a large band width, say 100, and 20 sets of right co~stants, each row
of the upper triangular matrix T will contain 120 elements and NORD that).
equals
1200 := 10 rows.
Every time Na>Rn rows of the upper triangular
matrix ar~~nerated, they are written on disk.

THE

SADGER

,-5 -

c

The auxiliary variable Tl(1200)is usedtoa bring in the previous rows of
the triangularized matrix, since a total of (NB 1- 1) previous rows of the
T matrix (Slide 2 )is r~quired to generate the: e'lements in the last row of T.
It would have bee,n pos~ible to double try.e ext~nt of T i~st~ad of having a
separate variable T 1 but then wh,en new:er previous. rows are brought in
T the pr~vious contents of T (excepting 'the last row) will be lost. This
means that it would be necessary to write the triangularized array row
by row'. It was, therefore~ thought preferable to write NQ)Rn rows of T
at one time. Every time the last row is generated, rows are shifted up
by 1. Thus after NORD cycles, NORD rows of array T will be written
on disk.
USE OF ONE DIME'NSIONAL ARRAYS:

C)

~'

If the array T 'wereto be defined 3JS T(12, 100)" NRDcould not exceed
12. But if in f1; very lar.ge system, ~:he band width is say~ just 10 and t.here
are two sets of right hand constante~, \:vith one dimensional subscripting,
it is possible to process NRD ; . : 100 rows in the array T. Thus, the
triangularized matrix can be written at the rate of 100 rows at one time,
instead of 12~ for. 2-·dirnensional subscripting. Incidentally even the objecttime dimensioning fa.cility in FORTRAN IV does not afford this Jlexi~ility,
w'hich can only be obtained by one diInensional subscripting.
Once the entire triangularized matrix (T + K) is written on disk,NBACK
rows (starting from the1ast row towards the first) can be brought in
meITlory and solutions obtained sirnu,1taneously to all the NLDC sets of
constants, in c1.uste.:t"s ofNBl. The solutions are written on the diskin
contiguous manner,
that all the n solutions for the unknowns
corresponding ,to the 1st set of right hand constants ar~ grouped together,
then those for the next set of right hand constants and so on.

so

DISK WRITE OPERATIONS:

The program written for I. B" M., 1620~ us~s a precision of 10
significant digits for floating pqintarithn:leti'coThus, a 'sector on
the 1620 disk would contain 8, ~ords'o' Although the p,rogram uses one
dirnensional subs,c~lpting, triangula~iz~dmatrix is written in u~its
of 1 row each. In other ~ords"~ eve~y row containin'g (NBI "+ NLDC)
elements is written on an integral number of sectors to facilitate the
read back operation-

o
THE

I3ADGER

COMPANY

INC

-6-

o

The solutionsto equations obtained in N LDC sets simultaneously
in clusters of NBI are written so that NBI solutions of the first
set occupy an integral number of sectors, (containing l'fNB 1 ,values
where NNBI ~ NBl) NB1 solutions of the next set occupy the',same
number of integral sectors, with enough s pace left in between to
a~commodate the remaining solutions of the first set.
B)

L Bo M.

360/44

The author has a version of the program for an 10 Bo M. 360/44 also.
The chief point of difference is that the minimum record size on the
disk in this cas e is 360 bytes and care must be taken. to prevent waste
of disk space. A, special DISKIO routine was, therefore, written
which effects buffered writing in units of 90 (single precision) words.
The in core calculations are performed in double precision but the
triangularized matrix is written on, disk in single precision to save
disk space.

SUMMARY:
The L B. M. 1620 version of the program3 which is in the form of a,main
program, can solve about 250 equations with 10 sets of right hand constants.
By redefining the working area on the disk and/ or adding more disk drives
to an installation, the program could be used to solve larger systems.
The version for an 1. BoM. 360/44 (with 2 single disk storage drives) can
handle about 1000 equations with the use of one 2315 disk for wo~k area,
assuming that some disk space would be reserved for the program utilizing
this routine.

c

The program output consists of the triangularized matrix, unknowns solved
for in back sweep (N LDC sets of NN B 1 values), sets of solutions fetched
in memory (one at a time) and the rearranged actual solutions.
The augmented coefficient matrix ~ + C] is read in row by row from cards.
(Only non zero elements above the principal diagonal are required.) The
difference in input to a general purpose routine for simultaneous equations
and that to the author's version is seen from Slides 3 and 4.

o
THE

BADGER

COMPANY,

INC

-7-

An illustrative example of 12 equati~ns with 5 sets of right hand constants
and a band width of 5 has been solved and the output of the author's
program is attached as Appendix.
Cholesky's method, known to be the fastest 1 of the elimination methods,
has thus been effectively adopted by the author to solve large systems of
simultaneous equations with band symmetric coefficient matrix and a
number of sets of right hand constarlts, so as to ~liminate all operations
on ze ros outs ide the band width.

REFERENCES:

1.

M. G. Salvadori, & M. L. Baron;

2.

V. N. Faddeeva;

Numerical Methods in
Engineering

Computational Methods of Linear Algebra

o

o
THE

BADGER

COMPANY.

INC.

c
APPENDIX·

(Solution of Large Systems of Linear Nonhomogeneous Simultaneous
Equations with Band-Symmetric Coefficient MatrixY

1)

Program Output

Sheets 1 through 6··

2)

Slides

Sheets

7 through

12

o

o
THE

BADGER

COMPANY.

INC.

SESSION REPORT

c

COMMON - Chicago

Session Number

MON Gl
----------------------

Session Name

1130 SOUND OFF

Chairman G. F. Schoditsch
Time

8.00 to 10.00 PM
--------------------------------

Speakers

Attendance (No.)

175
----------------

Vann Hettinger and Gene Lester - IBM

Synopsis of Meeting I

Members proposed questions to IBM regarding the

MONITOR system version 1 and 2, hardware problema, tyPe 11 packages,
and other user questions and question areas.

4[)

IBM took note of the

following items' 1. Improve compatibility of 1130 and 360 FORTRAN

2. Lmprove Assembler Manual
3. Remove the restriction in DM2 that an integer
S3XMSRM~ax~ constant used as a subscript may not point to an
element outside the range specified in the DIMENSION.

4. Establish default option for ONE WORD INTEGERS

5.

1~03

will space or skip even thouah READY.

6. Include 1403 and 1132 carriage clutch in not ready
signal to 1130.
7. The "Green Sheet" (Bibliography) i8 3 months late

announcing DM 2.

o

8. Type 2 program notes.
A. Time Delay Routine needed for CSMP
B. Electric Load Flow should be Type 11 supported
c. PCS ahould aupprt Pree Ploat
D. ECAP should be Type II supported
~!
E. A routine similar to "360 Matlan" supported

c

SESSION REPORT
COMMON - Chicago

Session Number

TUE Al
-----------------------

Session Name 360 Full Project

Chairman

W. Norton

Time

8.30 to 10.00 AM

Speakers

W. B. Garrison - IBM. Chicago

Meeting
Attendance (No.)

----------------

o
Synopsis of Meeting

A presentation was made of the 05/360 Languages.

-------------------------------------_

l

_

... ....

"

....

__

._.

c

7'LtE A-I
05/5tO L()A~?
~~~kt0':(/
ItSSG~113J,GR

~,o~

_.
E"I F

Ej t=

C 08()L

PoI21!2AAI C/ ')

I-f

r-

PL/I
AkGc)L

r-

!ePG

E

1£ etWI4C~lU of ~ ~ s,~-wJ

o

A·

rMat;~

- :; ttl.

A",,(C~h"~ q"~ ~~~ ~

- ~~~/.Nk~~~J~
- ~ MtMlW.$r,;::4. - :Jdw".; oJ ~ -(sYSbEIJ)
-

~ IC(JPJ'~

-

'j)~ ~.,,~;I.

-

..,~ Jdnd~

f· C",J;J ~ ~

~~Vu;~ 1~

/(~~ ~~
~

E (/l'tfJ

~ lOt! ta.. ~ ()S/JltJ
1/JJ
~.-I ~ - ~'IIU. ~

- !/!ed
-

o

fJMd F(e;1/()~~

1.

s.....)&.~ ;Jv~:w,;p';f1

wiA4

~~ I!~ ieJ .~rrfI~ ~

t'J4

44t

tp~ ~

o
E.

C0 (3 6 L E ( I 7 1<) Cv..c{
- 18;!1 CoC3IJL - COGo/..

"-

\

::: (

IGC

80 ()
W~;"~i'... w..d!;._,c:;2Zx:.::X~

c.

G (e () Id 1-1 ( :Zoo Ir )
liSA 51 (;1 SIl) fJ4S I (. (tE) c;;,c/ f:U (6) 1-/)
~ c D r10()~ ~) ~ GIk' PIC (.5/)6'0) ~l?rnJf.
I;'
(),.....,~
" "
~/'r-.,/)- ••
V<"'~·~·.., r I:'v"'vv~

F0(21lcAAI

-

I,;

F (/g /()

l'/:lP ....r"'/'i

.",-.. •.

...,;.,t'

~-:::r--rJi2{~t;!r~;
. :'::::=t;;'l:;~.:~~~~~::::-:-;~/.:.~-~-~--ft':-~~~:--:li!:
,tI

,

1)~ f~ ~(h7'~tie

.jcifJy(t!A D
""

j

0(2 /

rt£

'JJv~:.1 ;;-". .u.&. ~"M~
yJM~ ~I ptftw.d A/4 .w~
T
I 1'"0)... I e-u;a t;:o.,A.
•

r( '/.II

~s.

"5 ~;1h ~ aM.c~
p-~~

o

-

W ~~"

eI~ ~ .t.,,*~~ /~~

1MP/"IC/T

f4 f'~ -

~~~~

~ ~ ~i1.td- (~t;f ~.)
au ~f~ , c. I C

LU
...J

.....
::::::>

uLU

11

~

•

~-- -."'......•.-.-.-~-....... "." ...". . .". . .".-.-~~~-~~----------

-.--~-•.""""'"'".-=~~

o

CONVERTING FROM TSX to MPX

A conversion from TSX to MPX will require new systems
design considerations. The conversion CQuid result in no in-

creased th roughput i'f a straight conversion is attempted. However
even a minimal conversion, placing all process coreloads in one
coreload area and reserving variable core for batch processing, and

an occasional optimization or log can produce excellent results.

A more thoughtful design will produce the best results.
Interrupt coreloads in TSX could be assigned to a separate coreload area eliminating many disk operations.. Interrupt subroutines

in the TSX skeleton should be placed in the SPAR area of MPX

c

giving the flexibility to modify thelTI on""Une*
Using the automatic queueing feature of MPX will greatly reduce
the amount of small interrupt scheduling subroutines scattered
th roughout the TSX

skeleton~

The careful use of the MPX IOCR routines will be the key in
how much benefit can be obtainerJ frorn rnultiprogramming capability_

o
"·48--

.--~-

..

---- - - -

Printed in U.S.A.

320-0949-0

SESSION REPORT
COMMON - Chicago

Session Number
Chairman

TUE A3
----------------------

1130 Systems

D. Gardner

Time----~~~~~~~~~---------8.30 to 10.00 AM
Speakers

Session Name

(1) ~ohn

Horn - IBM

Attendance (NO.)

150

--~------------

"Version 3 of CSP"

(2) Don Christians - Beloit Tool Corp."Commercial Applications
Using the 1130"
(3) Dave Dunsmore - ORVWSC

"CSP Extras"

,4) Donald Gardner - General Foods Corp

o

"FORTRAN-Coded Sortldg

Procedures"

Synopsis of Meeting (1) John Horn introduced Version 3 of the Commercial

Subroutine Package. He also introduced the group to the 1130 USERS
Guide which will be published by IBM around June 1. 1968.

programs

o

(3) Dave Dunsmore explained several subroutines he wrote to overcome
some of the difficulties in using CSP. He will aummarize the.e and
subDilt abstracts to CAST for publication.
(4) DoDald Gardner explaiDed two FORTRAN-coded subroutines whttb are
helpful in sorting applications. A single sector sort ina subroutine forms
the basis for the second subroutine.

o

"COMMERCIAL APPLICATION & THE 1130."

D. D. CHRISTIANS
MANAGER

OF

DATA

PROCESSING

BELOIT TOOL CORPORATION
P. O. Box 38

So.
AREA

BEL 0 ITt

ILL I NO I S

61080

815-389-3461

GIVEN TUESDAY APRIL 9, 1968
SESSION #A3
COMMON CHICAGO, ILL. APRIL 7-10

o

o
!

-------_._._------_.... _ - - - - - -

PREFACE
1

)

0

This abstract is divided into the following parts:
a 0)
b.)
c .. )
do)
eo)
f 0)

Tab Ie of Programs
Card Layouts
Sample Forms & Cards
System Flow Charts
Source Program Listings
System Description

2.) Beloit Tool Corporation was first founded in 1955 From that year until
November 6, 1967 all data processing needs were satisfied by a "Tab Installation
in House" consisting of a 403 Accounting Machine (Full Capacity), a 514 Reproducing Punch, Sorter, Collator, and Key Punches •. There were also 5 major
applications done "out of house II by various servi ce bureaus because of tci:> equipment limitationso
0 '

3.) As of 1 March, 1968, all applications were running on the system with the exception
of the Moster Gross Sales Report which will be described latero

o

It is my ambition to get everything running smoothly and as soon as possible, then.
by June of next year to revise systems and programs into final state o By final state,
if I may create a new word, I mean the "disk-ilation" of every possible
app Ii c ati on
0

I welcome any remarks, suggestions, constructive criticisms and discovery of any ..
"bugs" uncovered either in systems and/or programming area.
4

0

)

The entire operation at Be loit Tool Corporation centers around a Model 2B, 8K 1130,
Model61442Card I/O Unit, a Model 1 1132 Printer, and single disk system
Computer rental totals $ 1594./Mo
EAM rental totals $412./Moo
0

5.) A very note-worthy fact is the increase of time uti lization after installation of the
system: (Metered Hours).
November
1130
1132
1442

69 32
58 94
68.01
0

0

December

January

110. 11
92 03
101 .. 23

134 31
119.56
129.22

0

Do Do Christians

01

0

o
TABLE OF PROGRAMS:

1 .) Prepare Shi ppi ng Orders

20) Invoicing
3.)
4.)
5.)
6.)
7 .)
8
9
-10.)
11
12.)
13.)

Statements
Overdue Orders & Backlog
Dai Iy Sales & Cash Receipts
Invoiced Items Listing (4 card run)
Product C Iass Report
PrOduct Detail Listing (3 card run)
Controllers Tri 01 Balance
Sales Commissions
GroSs Sales Report
Demonstration - Tour
Master Mai ling - Gross Sales Fi Ie Edit140) Inventory
0

)

0

)

0

)

o

MISCELLANEOUS:

10) 80/80 List
2.)
3
4.)
- 5.)
6
7
8
9
0

)

0

)

0

)

0

)

0

)

Payroll
Operator Effi ciency Study
Optional List & Count
Reproducer & Sorter Simulator
Prepare W-2 Forms
Prepare FICA 941 Report
2-Up Mai ling Labels
Master Gross Sales Mai ling Lobe Is

c
//)

J'-

.." .....

2

3

;

to..;

./ :'.~ ..

'

SYSTEM DESCRIPTION

1

0

The series of appl i cati ons about to be described is a "package" that cou Id
be adapted, with little or no modification, to any business o
The strong points I fee I to be of great interest are:
a.
b.

All programs are in Fortran source

0

Use of commerci a I subrouti nes for overlap of I/O and ease of
programm i ng
Complete business "package II with numerous uti lity programs
Not tied to disk in concept
Very flexible A/R accounting o
0

Co
do
eo

20

0

0

The system begins with the receipt of a handwritten order, a teletype
order, or a typed di rect order from other plants The orders are coded
with a part number and then given to the Data Processing Centero
0

Sold to and Ship to addresses are hand pu lied from two tub fi les and form
the order set The key punch operator inserts the misce lIaneous Data #2
card and #5 postage card as we II as punching the order number in all
cards The order set is as follows:
0

0

~l ~

(

~

Postage

r

3

(

J'~em

3=
"--V-_
.1

Detail(s)

-"~"Sold To"

( - It--] ~
~~ -~

Misc o Data

"Ship To"

Names and addresses can consist of either 1 or 2 # 1 cards giving the possi-

biity of a four line address o "Sold toll address is optionaL It will print
the same as the "Ship to" if missing. There is no limit to the number of #3

item detail cards o The order set's are sorted on order number and entered to
the computer for shipping orders to be runo

o

After the shipping copy returns from the Shipping Department with quantity

-1-

shipped and postage changes written on it, the orders are hand pulled
from the "Open Order" fi Ie, information punched, and entered to the
computer for i nvoi ces to be run
0

The invoicing run yields, besides the invoices, balance totals on gross,
net, AIR, postage and rUT It also produces AIR Summary cards and control
listing as we II as a #4 Summary Card fi Ie and control listing
0

0

The A/R cards are merged twice weekly into the "A/R Open Order Fi Ie"
held by the Accounting Department" As payments are received the cards are
relieved from the AIR file o Immediately after the last invoice for the month
is run and A/R cards are merged, statements can be run. The statement program is at full printer speed and yields an aging breakdown as well as aged
overall fi nal totals
0

The #4 Summary cards are kept for monthly balancing, product class report,
commissi ons and gross sales reports, and quarterly inventory run. I might
mention here that the weekly, as well as monthly balancing is done by means
of the "Optional List-Count" program This program will count any field as
determined by the user and list or not list . . . . concurrentlyo
0

The monthly commission report, as well as printed output and summary of
totals, yields a monthly product summary card for each distributor o This card
is merged with the Master Gross Sales Data and History File and used to list
the Monthly Gross Sales Reprto These two applications are by for the largest
reports volume-wise and both operate at maximum printer speed"

3

0

o

Some other system programs of interest are:
a.

"Overdue Orders & Backlog": Scans the shipping order open order
fi Ie and either extends and prints month-end backlog or orders overdue past a certai n flexib Ie date
0

b.

"Daily Sales & Cash Receipts It: Produces listing for payment record of
the A/R fi Ie Gang punches the date paid i ntothe cards for future
payment history records o
0

co" Product C lass Report ": Vie Ids totals of sales by a 2-di gi t product
c lass code" Also lists cause reports as we II as totals of credi ts issued
duri ng the month
0

do

"Sales Commissions": Figures monthly commissions and detail listing
of sales by distributor within state within territory" Summarizes sales
by states and territories and prints summary listings of each. Produces
summary card for each distributor and distributos soles byproduct class
code"

/'

-2-

o

c

eo

"Gross Sales Report": (Program currently being written) ••
Provides field salesmen and representatives with sales information
from 1963 to present month by distributor Also list company name
and address along with 2 contact names o Provides summary sales
inf~rmation by distributor, states and territories.
000" 0

0

0

0

L

"Demonstration-Tour:" Mainline and 5 option sub-programs to
provide effective and fast demo to any interested people Fifth
option prints well known pictures of "Edith"a
0

g.

"Inventory": A set of two main programs, file maintenance and
computation, to provide user with reorder points, economic order
quantities, extensions and full report on a scientific basis o

ho

"Payroll": Two Mainline and three sub-programs to compute payroll, pri nt check, distribute amounts to accounts and punch a
check reconci Iiation card. Routines include 4 di fferent state
routines as we II as a city taxo Also inc ludes profit sharing and
so lory bonus plans
0

I.

C'\
.~

"Operator Effi ciency Study": Determines shop machine operator
efficiency using variables such as set-up times costs and time, pieces
produced and classification of operations and machineso Output
used to help determine employee merit rating
0

jo

"Optional List & Countfl: A extremely useful program to total on
a variable field and either list or not list concurrently.

k.

"Reproducer-Sorter-Collator Simulator": Provides the following
operation at overlapped I/O speeds:
1

0

20
3.
4.
5.
6.
7•

L

Move data from one field to another.
Gang punch o
Number cards sequenti ally (any starti ng value and increment)"
80/80 reproduce.
"Au Itiply and extend any two fie Ids
Sort out any punch in anyone column (stacker se lect).,
Sequence check any fie Id
0

0

"Master Gross Sales Mailing Labels": Print moiling labels from
Moster Sales fi Ie working with the followi ng types of cards:
1

0

20
3.

Company name and addresses.
Contact cards.
Company employee cards.

Program provides to either print company address or people home addl"l'ss,

-3-

which ever is present, follow postal reg~lations and places Zip Code on
last Ii ne indented 2 spaces

o

0

40

All programs are in Fortran Source. IBM commercial subroutines are
utilizedo Reference H20-0241-2- "1130 Commercial Subroutine Package
(1130-SE-25X), Version 2 Program Reference Manual II
0

5.

Beloit Tool Corporation will also be installing an IBM 633 Billing System
in one of their Subsidiary companys, The Dvrst Corporation They plan on
using the card output for entry into our 1130 for application such as
inventory, monthly statements, sales analysis and management reports
0

0

o
-4-

1

---1

CLERICAL
OPE RAT I ON

(

-

CARDS
---

o~

SYSTEM
1130

(

\

KEY

PUNCH

\

)1

\~------'

REPORT

Oiil

DOCUMENT~

---------

BELOIT TOOL CORPORATION SYSTEM

o

PAGE

FLOWCHART SYMBOLS.

.

CONNECTOR

SORT OR
COLLATE

ORDERS

o

~ SH~~~~NG /

I - - -_ _

'ADDRESSES/

/

/
PRE

RUN
SHIPPERS

~--------------~

')o--._YE_S_ _~

~~I pp -ING
ORDERS

I

r--

-

ACKNIYN
LEOUEMENTS

DELIVEj
TO
H t PP

'N.;a .

DEPT.

o

3

o

5

2
PRE B I LL1
ORDER SET

GHIPPING
ORDER
COpy
---- ...... ,...

---.- .--

POST)

UNCH

& QUAN.

o

SHIPPED

\

RUN
INVOICES

(

(
ORDER

3

5

---·-2J .1

._.

SET

•

---_._- . _ - - - - - - - - - - INVOICES

E

./

DESTROY

5

3

2

1

I

\

HOLD FOR
.

REPORTi

c
FILES

. SUMMARY

#4SUMM.

CARD

CCt4TROL

AIR

AIR
CARP

CO\JTR~
LlSTING~

---.

(:4-)

C S p

EXT

R A S

David A. Dunsmore

COMMON

#

3428

c
Presented in Chicago
April 9, 1968

Session

o

TllE-A3

CSP EXTRAS

o

David A. Dunsmore
COMMON # 3428

My presentation of five called subroutines, one functional subroutine
and one program will be restricted to a synopsis or abstract of each of these
programs because of time restrictions during this session. I will assume
that all attendees have a general knowledge of FORTRAN,ASSEMBLER and CSP.

1.

Subroutine DPUT (JCARD, J, JLAST, VAR, ADJST, N) causes a nine digit
or less real variable to be placed in a ten digit or less output
area with a decimal placed "N" positions to the left of the rightmost significant digit and logically suppresses leading zeros.
The general use is the same as the CSP "PUT" subroutine except the
"N" must be negative or the routine will act as through "PUT" had
been called instead of "DPUTu •
This routine first fills the users defined output field with blanks,
then computes the location of the decimal and places the decimal in
the users field. Then leading zeros are suppressed and the remaining digits are "Edited" into the area defined by the user.

2.

Subroutine JPUT (JCARD, J, JLAST, IAR, ADJST, N) causes an integer
variable (IAR) to be placed in the users defined output area. This
subroutine is identical to the "PUT" subroutine except for the fact
that "PUT" handles real variables decimally truncated and "JPUT"
handles integer variables.

3.

Subroutine IZSUP (JCARD, J, JLAST) causes leading zeros in the defined users field to be suppressed. The basic advantage of this
routine is that an edit mask is not required as would be the case if
the CSP "EDIT" routine were used.

4.

Subroutine RE.ADT (JCARD, J,JLAST, NER) . causes paper tape records of
variable length, but not exceeding 80 characters other than case
shifts, deletes and new line (NL) to be read in the same manner that
one would read a card of 80 columns or less. However, conversions
are not overlapped because of some inherent difficulties with the
library functions of both PAPTI and P~T.N. It is my belief that
routines similar to "SPEED will be required for paper tape if overlap during reading, or punching for that matter, is to be a.chieved.
j

,

The general advantage of this routine is that users can read paper
tape while reading cards or typing on the consQlekeybOa.rd and printer
using other CSP routines. Current restrictions of FORTRAN READ or
WRITE preclude this.

l:' -' "
- - - - - - - - ----- - - - - - - - -

-~---

---- - - - -

()

o

5.

Function LEAP (YEAR) - YEAR is an integer variable. This functional subroutine determines if the current year is a leap year. If so, LEAP
is set to 1, if not, LEAP is set to 2.
This routine requires the use of the following CSP or user submitted
subroutines:
DPUT, FILL and NCOMP
General use of the routine might be:
INTEGER YEAR

K • LEAP (YEAR)
GO TO (10, 15), K
10 ROUTINE IF LEAP YEAR

15 ROUTINE IF NOT LEAP YEAR

6. Subroutine PRINN (JeARn, J, JLAST, NERR) This subroutine is similar

o

to the CSP "PRINT II subroutine and may be used in conjunction with
"PRINT". The routine does not contain a "SKIPII subroutine. The
basic advantage of this routine over the CSP "CALL PRINT" is that
dat4 listing may be performed at 120 lines/minute instead of 80
lines/minute. The data must not be a.lphabetic (A - Z) or, if it
is alphabetic these characters will not be printed. Only digits
zero thru nine and specia.l printer characters such as COMMAS, DECIMALS, ASTERISKS, etc. will be printed. The basic advantage is the
50% increase in output speed to the 1132 Printer for numeric and
special character printing.
This routine is used in the same way and in any place that the CSP
"PRINT" subroutine is used. Existing user programs which print only
numeric and/or special characters need only change the source program
from the current "CALL PRINT" to "CALL PRINN".

7. "CDPRT" - Program to: minimize I/O time from card to printer.
This program "CDPRT" will read cards from the 1442 card I/O and list
the card image on the 1132 printer at either 80 or 120 lines/minute
depending on the type of characters to be printed. If any characters
of the alphabet (A ·thru Z) are present on the card to be listed, the
listing takes place at 80 lines/minute. If no such characters ext§t,
then the cards are listed at 120 lines/minute.
The program exits to Monitor after the last card has been read and
printed.

2

No checking is done for Monitor Control Records or any channels detected while printing. Thus any card may be listed but no page skipping is attempted. The programming concepts employed in this program
could be used by a user to write his own optimal print subroutine
for any print job required in any CSP program.
After compilation and storage on the 1130's disk, the user need only
use an "XEQ CDPRT If Monitor Control Card to list the deck of cards
desired at the fastest print speed available on the 1132 printer.
This program, as written, requires that the subroutine "PRINN" be
available on the disk at execution time.
In summary, five CSP called subroutines, one functional subroutine and
one program have been presented. A source listing with documentation has been
included as an app~ndix to this presentation. Copies of the source listing and
an abstract are available from this author. Inquiries should be sent to:
Ohio River Commission
414 Walnut Street
Cincinnati, Ohio 45202
Attention: David A. Dunsmore
COMMON User # 3428

(}

o
3

II JOB
II ASM

*
*

LIST (1137 PRINTER)
NAME PRINN

0041

17649555

c
0000 a

0001

0001 0
0002 0

0000

0003 0

0000

4000

0030
0004
0041 0 0000
0042 20 176558Fl

0043 ()

o

0044 0
0045 0
0046 01
0048 20
0049 1
004,A 1
004R 1
004C o
004D o
004E o
004F C
0050 o
0051 o
0052 o
0053 20
0054 1
0055 1
0056 1
0057 20
0058 o
0059 1
005A 1
005R o
005C o
0050 o
005E o
005F 00
0061 00

0000
70FD
691A
65A00041
01647880
0002

0003
0004

007A
CORb

BORI
lAOl
DOR3
C103

DOl?
195ClOD2
0002
0003
0005

17655AFl
4000
0004
0063

(OAS
DOFR
7104
6903

65000000

4COOOOOO
0000
0064 00 D4000000
0066 a 1810
0067 01 4CA00063
006A

0063

o

( I D)

ENT
PRINN
SUBROUTINE ENTRY POINT
CALL PRINN (JCARD, J, JLAST, NERR3)
PRINT JCARD(J) THROUGH JCARD(JLAST) ON THE
1132 PRINTER. PUT ERROR PARAMETER IN NERR3.
* ONLY PRINT NUMERIC
CONSTANT OF 1
ONE
DC
1
SPACE 'DC
/4000
JCARD J ADDRESS
JCARD DC
0
.
JCARD JLAST ADDRESS
JLAST DC
0
WORD COUNT & PRINT AREA
AREA BSS
61
ADDRESS OF 1ST ARGUMENT
PRINN DC
0
CALL
BUSY TEST ROuTINE
TEST LIBF
PRNTI
BUSY TEST PARAMETER
.
Dt
10000
REPEAT TEST IF BUSY
MDX
TEST
STORE IRl
STX
1 SAVE1&1
LOAD 1ST ARGUMENT ADDRESS
LDX 'Il'PRINN
CALL ARGS ROUTINE
LIBF
ARGS
JCARD J PICKED UP
DC
JCARD
JCARD JLAST PICKED UP
DC
JLAST
CH~RACTER COUNT PICKED UP
DC
AREA
MAX CHARACTER COUNT
DC
120
GET CHARACTER COUNT
LD
AREA
HALF ADJUST
A
ONE
DIVIDE BY TWO
SRA
1
STORE WORD COUNT
STO
AREA
GET ERROR WORD ADDRESS
LD
1 3
STORE IT IN ERROR ROUTINE
STO
ERR&l
CALL REVERSE PACK ROUTINE
LIBF
RPACK
JCARD J ADDRESS
DC
JCARD
JCARD JLAST ADDRESS
DC
JLAST
PACK INTO I/O AREA
DC
AREA&l
CALL PRINT ROUTINE
LIBF
PRNTI
PRINT PARAMETER
WRITE DC
/4000
I/O AREA BUFFER
DC
AREA
ERROR PARM~Er'.ER
DC
ERROR
LOAD PRINT WITH SPACE
LD
SPACE
STORE IN PRINT PARAMETER
STO
WRITE
INCREMENT OVER 4 ARGUMENTS
MDX
1 4
STORE IRl
STX
1 DONEl&l
RELOAD OR RESTORE IRl
SAVEl LOX Ll 0
RETURN TO CALLING PROGRAM
DONEl BSC L 0
RETURN ADDRESS GOES HERE
ERROR DC
0
STORE ACC IN ERROR PAR AM
ERR
STO L 0
CLEAR ACC
SRA
16
RETURN TO PRNTl PROGRAM
BSC
ERROR
END OF PRINT SUBPROGRAM
END

*
*
*

NO ERRORS IN AAOVE ASSEMBLY •

•

CSP08190
CSP07390

I ..

CSP08250
CSP08260
CSP08300
CSP08320
CSP08330
CSP08340
CSP08360
CSP08370
CSP08380
CSP08390
CSPOB410
CSP08420
CSP08430
CSP08440
CSP08450
CSP08460
CSP08470
CSP08480
CSP08490
CSP08500
CSP08510
CSP08520
CSP08530
CSP08540
CSP085~O

CSP08560
CSP08580
CSP08590
CSP08600
CSP08610
CSP08620
CSP08630
CSP08640
CSP08650
CSP08660
CSP08670
CSP08680
CSP08690
CSP08840

~~--

..--..--.---.......... -.-.-

JOR
FOR
*LIST SOURCE PROGRAM
*ONE WORD INTEGERS
*NAME CDPRT
*IOCSCDISf()
DIMENSION INPUT(SO),IOUT(SO)
C
NE IS ERROR PARAMETER FOR CARD READ ROUTINE (CSP)
NE=-1
C
READ INPUT CARD (80 Al - FORMAT)
1 CALL READCINPUT.l,80.NE)
MOVE INPUT RECORD TO OUTPUT AREA
C
CALL MOVECINPUT.l,80,IOUT,1)
C
CHECK ALL 80 COLUMNS OF CARD FOR ALPHA-NUMERIC CHARACTERS
DO 2 1=1.80
C
LIST ALL NUMERIC AND BLANK CARDS AT 120 LINES/MIN
C
LIST ALL ALPHA-NUMERIC CARDS AT 80 LINESIMIN
IF(IOUTCI)+4032)3,2.2
C
SKIP TO PRINT IF ANY ALPHA-NUMERIC
2 CONTINUE
C
PRINT NUMERIC AT 120 LINES PER MINUTE
CALL PRINNCIOUT,1.80,NER)
GO TO 4
C
PRINT ALPHA-NUMERIC AT 80 LINESIMIN
3 CALL PRINT(IOUT,1.80,NER)
CHECK FOR LAST CARD
4 IF(NE)l,5.5
C
EXIT AFTER LAST CARD IS PRINTED
5 CALL EXIT
END
II
II

c

FEATURES SUPPORTED
ONE WORD INTEGERS
IOCS
CORE REQUIREMENTS FOR CDPRT
COMMON
0 VARIAALES

o

164

PROGRAM

66

END OF COMPILATION

c

II JOR
II FOR

SOURCE PROGRAM
O,*LIST
*ONE WORD INTEGERS

* NAt\1E DPUT
C

2
C

1
C

C
C

C
C

C

3
C

4
5
6

SUBROUTTNEDPUTCJCARD.J,JLAST.VAR,ADJST.N)
DIMENSION JCARD(lO).JSAVE(9)
IFCN)1,2,Z
IF N IS NOT NEGATIVE. TREAT AS A REGULAR 'PUTt
CALL PVTCJCARD,J~JLAST,VAR.ADJST,Nl
RETURN
HANDLE DECIMAL CONVERSION FROM FORTRAN TO CSP (AI-FORMAT)
AN=-N
SHIFT DEC1MAL TO EXTREME RIGHT END OF FIELD
AVAR=VAR*CIO.**AN)
PUT FIELD IN JSAVE WITHOUT DECIMAL
CALL PUTeJSAVE,I.9.AVAR.O.5,O)
FILL USERS OUTPUT AREA WITH BLANKS
CALL FILL eJCARD.J.JLAST,16448)
COMPUTE-LOCATION OF DECIMAL FOR USER
L=JLAST-AN
PUT DECI~AL IN USERS FIELD
CALL FILL(JCARD.L,L,19264l
L=9-AN
SUPRESS LEADING ZEROS
DO'3I=l.L
IF(JSAVE(I)+4032)4.3.4
CONTI NUE
CHECK FOR NEGATIVE NUMBER
IF(VAR)5,6.6
INSERT MINUS SIGN IF NEGATIVE
CALL FILLCJCARD.J.J.24640)
PLACE VARIARLE (VAR) IN USERS OUTPUT AREA WITH DECIMAL
CALL EDITCJSAVE,r.9.JCARD,J.JLAST)
RETURN
END

FEA-TURES SUPPORTED
ONE WORD INTEGERS
CORE REQUIREMENTS FOR DPUT
COMMON
0
VARIABLES
END OF COMPILATION

,0

16

PROGRAM

150

II JOR
I I FOR

..--.- ..-.--- ....-..

. "'CSP01810

*LIST SOURCE PROGRAM
*NAME JPUT"-"-. ........
*ONE WORD INTEGERS

SUB ROO T 11t1"Ne-e-J-nP'!hO"T"TP'"lC"""JT'I'C'""lIAreR""'O i·~,li~~SiiTJtR"i1tD"JST·iN r·--··'·"···

..

CSP01840

DIMENSION JCARD(lO)
.
CSP01880
C-----PUT·YAR INTO "JC"AROCJl THROUGH JCAROfJL.AST1.·
C-----ADJST = A NUMRER TO HALF ADJUST THE VARIABLE VAR.
CSP01900
C-----N= THE NUr-rAER-OF POSrTr ONS THE""·DtC1M~]'IOJNTSHOIJLD·B£--MOV£D "~E'FTCSFO 191 0
DIGS=
eIABSCIAR)+ADJST)
CSP01920
r F CNl- 3 '. 3',T' - .
. ...."....
.. ... --..
. ... , "--,,, . ----.... - '.- "CSP'O 1 CJ3 0
1
DO 2 JNOW=l.N
CSP01940
2
DIGS=WHOLECDIGS*Oill
CSP01950
C-----PUT DIGITS IN F I E L D C S P 0 1 9 6 0
3
JNOW=JLAST
'CSP01970
4
DIGT=WHOLE(DIGS*O.l)
CSP01980
CSPO 198 2
JTEST= I F I X(D-rGS-l o. O*D'IGT)
11 IFeJTEST-I0)9.10.10
CSP01985
10 JTEST=JTEST~lO
CSP01988
DIGT=DIGT+1.0
CSP01991
GO TO 11
CSP01994
q JCARDeJNOW)=256*JTEST-4032
CSP01997
DIG S =DIG T
"-1:'5? 0 20 0 0
IF(JNOW-J)
6.6.5
CSP02010
5
JNOW=JNOW-l
CSP02020
GO TO 4
CSP02030
c-----PUT 11 PUNCH OVER LOW ORDER DIGIT IF riEGATIVE.
CSP02040
6
IFctAR) 7,8.R
CSP02050
7
CALL NZONE( JCARD.JLA'ST.2 .JNOWr .... -.. ----_..... ,
CSP'02060
8
RETURN
CSP02070
END
CSP02080
-.-.--~-.-.-.-

FEATURES SUPPORTED
ONE WORD INTEGERS
CORE REQUIREMENTS FOR JPUT
COM~ON
0
VARIABLES

10

PROGRAM

o

"-,, .----·-·-·_---·-CSPO·1Sr

~.-

o

158

END OF COMPILATION

o
",.i,

\1

o
I

II
II

JOR
FOR

*LIST SOURCE PROGRAM
*ONE WORD INTEGERS
*NAMF IZSUP
SUBROUTINE IZSUpeJCARD.J.JLAST)
DI~ENSION JCARO(120)
C

5UP-RES-S'- LEAD I NG ZE'ROS I N USERS

DO 1 I = J.JLAST
IF(JCARD(IJ+40!2)3.2.3
2 CALL FILL(JCARD.I.I.16448)
1-CONTINUE
3 RETURN

DEF I NED

AREA

END

FE AT lJR ES SUP-PORT ED
ONE WORD INTEGERS
CORE REQUIREMENTS FOR IZSUP
COMMON
0 - VAR tABLES

2

PROGRAM

44

END OF COMPILATION

,'-

•
!::.,

/,
I

/

II
II

JQR
AS~

*LIST

,l'

.,

** READ AND' PUNCH -'SUBRCtfT'tNE5-~FOR T130 --tSP-Pl(F£R'-TAPErro-) C'SP0652U-'-* NAME READT
.
(10) CSP06530'
00 CC
1 9"1:4rrzr---"·---··" :' ENT .--.-··..... ·~REA·D r -·----··.... -S·OB'R,o,oTlffe-·ENTRY -PO rNr"C5F055 ~)'O"
* CALL REAO (JCARD, J JLAS T NERR 1 )
. CSP06560
"'-'*"R'tA'tt'-eolUMNS FROM BEGINNING OF CARD INTO JCARO( J) CSP06570
* TH~OUGH JCAROeJLAST). PUT ERROR PARAMETER IN
CSP06580
t

0125

0000 0

0001

PUNCT

005'2
. - 00-7'(}' . . . - "'--"""'AR"E'AT"'S'SS'
COCA 0
0000
FLAG DC
ooce 0 OOOO"'REAr:rr-~O"C-'

ooeD 0
. ooeE--Ol

0000 0

STX

6936
65'~01)OCC-

-·· ....·----····-··cox

4030

121

0

ERROR INDICATOR

0

1 SAVE1&1

CSP06690

SAVE IRl

11000

READ

DC

ERROR

ERROR PARAMETER

DC

/0000

·0·052'''·.. ------,------- ------rrc· . ----"

1000

'DC

0004 1

0107

00D6 0

0000

'-

CSP06730'
-espoo 740

-AREAr--------ARE1r-P-ARA'M'ElER

CS:'06750
. -. -.----...

Olj[Y5"" Z'O . 1 70'57'S F'r-- -... - '-'-' . --.. ---T:.:TBr----." -. P- APT 1'-'-'- .-----...- --- ...- . -

0'00 7 0 ....,cyrn-------·---· MUX _._ ...........-"3"... ..
~

0008 0

6914

OOO-V--o---6 I89

'4"CZBOOE4

LO

!g~-gl !g~:OOE4.

LD

esc

'.

...' - ' . ' -

--- -- ..-----.

Ll AREA1+l20SEARCH INPUT AREA

-·rooNLr.~' ·---'FOR--NEVrt:T'Nt---CHAi"r'RA*"'-C-.T-eE~R-~-·-·----- ......-..·..·

to:

:;~

r--:uowo.+z. .. -<-.. ---- ..- ...
I 00 E 1 0
7101
.'.
MDX
1 1
.
I 0 O"E'T"" -0-- ·-70F7·----......-~--·-~-·-··'MOX"-..-----,:.v. ---.. :-.. . . . -.~-.-----.-. -.-.... --.. . -.--..

-.--.---~-----.~. ----.-...-...-.-..
- . . .-.. --.... ------"--..... . -......-

igg~~g~6i---~--·rOUNO- ~.g~ . . -.. } .~~--. . . -.-----..h"STORE"c~l!t~.NKS"--B-EYONtf. ---·.
'ODES 01 60000001
ou'rr-o"'"'--crr3"C-''' ..---'_..

AREA

1..1

5TO

L..l AREAltzlr2·,g

BLAJqK

5TO

00E6 0

MDX
5TO
SA"9r-tOX-'''lI 0
t..l'SF· PAPHL

70FC
OO'E"C""-mJ()5000000

00££ 20 17057213

..,.

STX
CD

OOES 01 050000CA

OOEA -"tr-----;rQ I -.

MDX

CSP06900

. ·troSy-"'- . -.-.---.----... -- . __..... _.- ...........

SAVE XRl

-------..--- -·----L-OX----"I-·-IT9~· _c..:...._._._.~..._ .. _

iOODA 01 (50000CA

,oone-'or"

aUSY TEST PARAMETER
--·--···~c:~T-TF

1 SAVE+l

STX

C-SP06680

"GET 1ST A-RGUMENT. ADDRESS
'C-SPU6100
SETUP
GO TO SETUP
CSP06710
··PAPTt'··.. ······ . ··· .-...'"-..:.;--..~.~...... ..............
.......~.--....- -.. . .

SSt

00-'0'3'-1-

CSP06670
ADDRESS

'FI RS T ARGUMENT

-'rlRFADT'~-'

. U orrr-7Q··!W·S·7BFT--···_···_-_· ..·_. . _'-_·tTBt·······

0002 0

t

-.. - o ' C S P 0 6 5 9 0
. SUBROUTINE ENTRY POINT
CSP06600
·· .. ·. --·- ..··-·-··"···* . ·~'A·(I·~·P'Of·fcHr.JcARDt '-J ,c- JIJ(ST-'--' NERR2-r'"
'CS"P06610
* PUNCH JCARD(J) THROUGH JCARDeJLAST) INTO THE
CSP06620
* -BEGINNTN'G OF A CARD". PUT-'ERROR PARAMETER INTO
c-SP06630
* NERRZ.
CSP06640
0000
JeARO--OC
0
JeARD J
ADDRESS
CSP'066'SO
0051
AREA BSS
81
1/0 AREA BUFFER
CSP06660
179150E3

"·*·NETrRI.
ENT

I I

-]VE1r~

---O""-·--· ...-

-

...- . - -

,:",,':,.:,<,:

'_~:"""'::'i~~-

REstOREXRl "'--.. -----.. ------....---..--- . -....... - .....
CALt.:CONVERSION ROUTINE

70000
':--P.'" CODE ro CARD CODE
AREAl"'l'
'tlOM'.·AR~Al+1
'oon--r--umrz---'-'-~-.- . .~. . . .-.-"XRU1;l-. tQ,,'XR'EA+l
OOF2 0 0000
CNI
DC
.0
:;'>:,"
'U'crn--'ZO - 225C5144
·co",,,,· tl'" 'SPIEr):, ·,':~>':t.et:"'~ON'ER~ioN- RouTINE
OOF4 0 0 0 1 0 '
,OC,:
10010" ,. :;
I

:~

3 ::

:;,
~i

"

L ",

e

5.,'.r} frl/' '- ,:;.
..._ .

o

--

-~--

. - -..

), '\
, "",
; . . (; 6. ,.:../.,:~,,-

,~~~---:--

'~,

f

/ / FOR
*ONE WORD INTEGERS
*IOCS(CARD,DISK,1132 PRINTER)
DIMENSION NDATA(40),NLOC(40),NWORK(40),NDISK(4)
DEFINE FILE1(40,4,U,IVl)
C
READ DATA AND PLACE ON DISK
C
r'-

5 DO 1 1=1,40

READ(2.400) NDISK
400 FORMAT(4IS)
NLOC( I) =1
1 WRITE(l'I) NDISK
C
C
C
C

SORT DATA VECTORS FROM INNER SORT(3RD VECTOR) TO OUTER(lST VECTOR)
THE 4TH VECTOR IS A *CARRY ALONG* VECTOR
M=3
DO 3 K=l,M
DO 2 1 = 1 ,40
READC1'I) NDISK
L=~-K+l

2 NDATA(I )=NDISKCL)
3 CALL MSORT(NDATA,NLOC,NWORK,40,1)

o

C
C
C

\-JR I T E ( 3 ,40 1 )
401 FORMAT(lHl)
DO 4 1=1,40
L=NLOC(I)
READ(l'L) NDISK
4 WRITE(3,402) NDISK
402 FORMAT(lH ,415)
PAUSE9999
GO TO S
END

/ /

o

WRITE DATA VECTORS IN

XEQ

SORTE~

ORDER

L

0
0

A0

0

3
3

0
1

6
0

1
1

7
8

2
2

2
2
! ~

.-"

(,

6

0
5

6

c::.
.,/

6

6
7
0

9
')

9
9

5
5

.L

7.
8
9
1
4

~9

6
0
9
3
4
4

,

3
4
4
4
4
5

6
·7
7
7
7
7
7
7
8
8
8
8
9

~

2
?
6
9
9

.,

5
9

6
4
4
6

5

1
0

4

3
5
6
5
7

9

1
7

O..L

9

:1
0
1

6
7
1
2
·8
8
2
6
1

3

7
0
5
6
7
0
5
6
6
7

:;);

7
2
6
34
6
0

1

'f~·;

....1

0
9

2

2

4

3-

4

7
2

0

OUT PIJI

4

~O

21 '
0:
17'
27
1-;i

09
'25 :
_ .J
3~

:

06
04
12
2~.

36
~""
J
~)

20
05

0
7
1
5

07
1; ~

2
2
9

26'

5
9
2
4

~

0
9
9

33'

1"'.\ .'
."

2'16

At
1

\

. 1:

.

22 ~
031
4",1

v:

1i.!,

2, ....~ i~

0

1

~81

6
5
1
4
3

4
5
6
3
2

10

5

0

(3;
34.!

'31"!
. I
39:

'- '7

o

/ /

DUP

*D~LETE

/ /

aSORT

FOR

*ONE WCRD INTEGERS

c

SORT AN ;,I~\:TS(~1~R .. VECTOR, !i\lTO ASCE!"JDI ~:G OR DES(ENDIJ\G ORDER
CARRY I NG ,L\L'Oi\IG' A, SECONDARY VEel or~ I N' A ON E-- T O-Ci\ E
CORRESPONDENCE (OPTIONAL)

.. c
r

'r

c'-

c

c

NA=VECTOR TO BE SQRTED

C

NB=SECONDARY VECTOR

c
r....

N=~IU~11BER

C
C
:. C
C

N1 =0

=1

C

I G~,1 0 R E

=1

C
C
C

TO BE SORTED

~! B

NB CARRIED ALONG WATH MA

NUPDN=O

r

'-

ELE~,"ENTS

OF

SORT IN DESCENqINGORD~R
SO RTIN AS C END I N G 0 RD ~R,

NSTRT=-ST~RtING,

POII\\T ,IN N.A FOR SORTII'IG

C

0

DIMENSION NA(l),NB(l)
NDISP=NSTRT-1
DO 1 I=l,N,I
1

M=2~~!-1

20

IFo/1)
30

30~40,30

K=N-~',1

J=l
41 I=J
49

L=I+~'~

II=I+NDISP
LL=L+NDISP
IF{NUPDN) 90,90,10
90 IF(NA(II)-NA(LL»
50,60,60
10 IFCNA(II)-NA(LL)
60,60,50
50 NAS=NA(II)
NA( II )=NA( LL)
NA(LL)=NAS
IF(Nl) 70,70,80
80

N~.S=N8(II)

NB(IIf=NB(LL)
NBCLL)=NAS
70 I=I-M
I F ( I - 1) 60,,49-, 49.
60 J=J+l

IF(J-K) 41,41,20

•

40 RETuRN
END

; / / DUP
*STORE

\.J SUA'

Q 5 0 RT

(ljSUALLY 1)

/ / :=>UP
:-) i:: L ~ T ::.

XSORT

~~:-

/ /

F()i~

-l~-O:d::

\A(:':::J

INTEGE(~S

r

c

SORT A

INTO ASCENDING OR D~S(EN)ING ORDER
ALONG A SECO~DARY VECTOR IN A ONE~TO~ONE
CORRESPONDENCE (OPTIONAL)
RE~L.VECTOR

C~RRYING

c

c

sueROUTINE XSORTCNA,NB,N;Ni,NUPDN,NSTRT)

c

NA=VECTOR TJ BE SORTED.

c

c

N8=$ECONDARY VECTOR

c

N=NUMBER OF ELEMENTS TO BE SORTED

c
c
c

N1=0
=1

c

NUPDN=O
:1

c

c

c

c
c

IGNORE NB
NB CARRIED ALONG WITHNA
SORT TN DESCENDING ORDER
SORT IN ASCENOING ORDER

NS TRT =5 TART INGP'O IN T

IN NA FOR: SORTING (USUALLY 1)

REAL NA(l),NB(l),NAS
NDISP=NSTRT-l

c

DO 1 I=l,N,I
1
20

~~=2~f-I""1
~~ = ~fi, /2

IF ( M) 3 0, 40,30 .
30

K=N-~~

J=1
41 I =J
49 L=!+~1
II=I+NDISP
LL=L+NDISP.

IFCNUPDN) 90,90,10
°
IF (
-NA
1 a I F ( NA ( I I ) - NA: ( L
60 ,

9

NA ( I I )

(·LLl). 50,60,60
L)

~O

, 50

50 NAS=NA(ll)
Ntd I I) =NA (LL)
NA(LL.'=NAS.
IFCNll70,70,80
80 NAS=NEH.II).;

N8 ( I 1)='N,S (Lll

N8(LL)=NAS
70 I = I-tv! .
IF( 1-1)

60 J=J+1
IFeJ-K)
40 RETURN

()

END

/ / DUP
~. S TOF< E

WS. UA

XSORT

" ;" :",<;~.;

~..

,

/ /

DUP

ZSO?T

*DcL[T~

/ / FOR
r

'-

SCRT A RE~L VECTOR INTO ASCENDING OR DESCE~DING ORD~~
CA? ~ YIN G ~ L0 i ~ GAS ECO j ,i D,~ RYIN T~ GER VEe TOR Ii\ A 0 NE- TO - 0 NE
CORRESPONDENCE ·(OPTIONAL)

.~

C
C
C

SUBROUTINE ZSORT(N.A."NB,N,N1~NUPDN,NSTRT"

C

C

NA=VECTGR TO

G~

SORTED(REAL)

C

NB=SECCNDARY VECTOR

C
C

C

N=NU~6ER

~C

Nl=O

IGNOR:: NS
NB CARR I ED

=1

C
C
C

OF ELEMENTS TO BE SORTED
ALOi~G \tj!

TH NA

C

NUPDN=O
=1

SORT IN DESCENDING ORDER
SORT IN ASCENDING ORDER

C
C

NSTRT=STARTING POINT IN NA FOR SORTING (USUALLY 1)

C

REAL NA(l)
DIMENSION N8(1)

o

NDISP=NSTRT-1
DO 1 1=1, N, I

1 M=2*I-l
20

~~=M/2

IF(M)

30,40,30

30 K=N-M

J=l
41 I =J
49

L=I+~1

II=I+NDISP
LL=L+NDISP
IFCNUPDN) 90,90,10
90IFCNACII)-NPdLL».50,60,60
10 IFCNA(II)-NACLL)' 60,60,50

50 FAS=NA(II)
NA( I I )=NA(LL)

NACLL)=FAS
IF(Nl)

70,70,80

80 NAS=NB(II)
NB( II )=N8(LL)
NB(LL)=NAS
70

I = I _111\
IF( I-I}

60 J=J+l
IF(J-K)

60,49,49

41,41,20

40·RETURN
E~lD

/ /

DUP

~~STOi~E

~'JS

UA

ZSOR T

--- - --.......-

".-... ~...,..-.-........

........... ...

..... ......
,

----""'------

,.-.,...

Subroutine MSORT

o

Purpose:
To sort an integer vector of numbers and produce the
location (pointer) vec~or indicating the sort order. This
subroutine would be used for multiple, field sorting.
Usage:
Call

MSORT(NDATA,NLOC,NWORK,K,NUPDN)

Description of Parameters:
input
input/output

- NDATA = vector of input data to be sorted
NLOC = location vector which must be initialized
to the integers I-K when calling MSORT
for the first time. This vector is never
reset and needs only to be initialized.
After multiple sorts have been made,
NLOC shows the index of the original
records in the order according to the
fields sorted.
- NWORK = work vector of length K
K = length of NDATA,NLOC, and NWORK'
- NUPDN = 0 descending order sort
1 ascending order sort

input
input
input

Remarks:
When using MSORT,NDATA is the data vector presented at
anyone time. When mUltiple sorting, the data representing
the inner or minor sort must be presented first to MSORT, the
next data-""vector in the sorting sequence etc. until the last
data vec,tqr which represe'nts the outer or major sort.
'\

The following calls to MSORT would be used to sort in
ascending order a record according to three. data vectors NDATI,
NDAT2, and NDAT3 where NDAT3 indicates the inner sort and NDATI,
the outer.
(Remember NLOC is set to. the integers I":'K prior to
call~ng MSO~T th~ first time)
~_
DO 1 i=I,K
I
NDATA(i)=ND~T3(i)
Call,MSORT{NDATA,NLOC,NWORK,K,l)
•
DO 2 i=I,K·
2 NDATA(i)=NDAT2(i)
Call MSORT(NDATA,NLOC,NWORK,K,l)
i=l,K
D03
3 NDATA(i)=NDATI{i)
Call MSORT (NDATA,l-ffiOG, ~1WORK, K/l)

()

c
Subroutines Required:
ORDER, LSORT
Input-Output Devices Used:
None
Method:
Each data vector is re-ordered according
vector NLOC before being sorted into ascending
order. This has the effect of sorting a given
with it all the other associated fields in the

o

o

to the location
or descending
field and carrying
record.

I I DUP

*DELETE

MSORT

1/ FOR
!

.

*ONE WORD INTEGERS·
SUBROUTINE MSORT(NDATA,NLOC,NWORK,K,NUPDN)
D n/, ENS ION N D ~ T [>.. ( 1 ) , N L 0 C ( 1 ) , N \v 0 R K ( 1 )
CALL ORDER(NDATA,NLOC,NWORK,Kl
DO 1 1 = 1, K
1 NWORK(I)=t
~.
,_
CALL LSORT1NDATA,N~ORK,K,NUPDN)'
CA.LL ORDER{ NLO(, N~vORK, NDA fA, K)
RETURN
END

/ I

DUP

*STORE

UA

MSORT

*DELETE
/1 'FOR
*ONE WORD INTEGERS

ORDER

I I

WS

DUP

SU BROUT INE,ORDE R (N A ~:NZ;" N K , N>.
D H1 ENS I ON NA( 1 ) ,NZ ( 1 ) , ~,IK t 1),
DO 1

r =l',N·,

K=NZ(Il
1 NK(I)=NA(K)

. r

002 1=1, N
2 NA(I)=NK(I)

RETURN
END
DUP
*STORE
I I

II

WS

UA

ORDER

DUP

tSORT

-l~OELETE

FOR
* ONE WORD INT EGERS
.
SUBROt..:rrI'NE LSORTfNA, NZ, N,NU.PDN)
I I

:~

DIMENSION'NA~l)~NZ(l)

CALL QSORT(NA,HZ,N,l,NUPDN,l)
K.STRT=O
DO 1 1=2,N
IF(NA(ll-~Atl~ll) 2,3,2
2 IF(KST·RTl.1,1,4
'4 K=I ..... KSTRT..
,',. ,
.
CAL.L.QSQRT tN·, tNZ .~·K ,'0, 1, KSTRTJ
KSTRT=O .
"
GO TO ,1
3 IFC K SiR,I)
5 KSTRT=I-l
.1CONTINU~

IF f-KS TRT t, ·q.• 6t7 .
7 K ~ N~K S,T Rr+.i:!¥~:;·

CA L C"'::'QSOFtt:;f:NZ, NZ,K; 0, 1,KS T RT'l
6 RETURN'
END

1/ -DHP'

* STORE

WS' UA

LSORT

c

/ / D'..}P
):LET::
/ / F or~

~;-

FSQRT

•

SU21ROUT I N::: Fr::~(;::;~ T (!\j[).i.:, T A, ULCC, r'!:.'!I':::'I~K, K, NU?D/\{)
REAL NDATA(l),N~ORK(l)
DIMENSION NLOC(l)
CALL FORDR(NDATA,NLOC,NWORK,K)
DO 1 1=1, l(
1 N I"r 0 R K ( I ) =·1
C /\ L L E S 0 R T ( :\l D ~, T .A , ~F'J:J R K , K , {\; UP D i\l )
C/\ LL GO RDR ( r: L0 C , IY.-': 0 r~ K, [. j J /\ TA, :<. )

RETURN
E~,:D

/ /

DUP

S T or~ E

~~

~I /

v.:~

UA

/ /
DUP

-l~DELETE

I /

FSORT
FORD~

FOR

*ONE WORD INTEGERS
SUGROUTINE FORDR(FA,N~,FK,NJ
D I j\IjEf\\S I ON F t, ( 1 ) ,NZ ( 1 ) ,FK ( 1)
DO 1 1=1, ;\1

GORDR

*ONE WORD INTEGERS
SUB RC IJ TIN E GC R D i~ ( ~.! Z , FA, F K , N )
D I ~" ENS I a \' f\! Z ( ]. ) , F /A ( 1 ) , F!( ( 1 )
DO 1 I = 1 , ,'!

K=Ft:.(I)

K=NZ(I)

1 FK( I )=f\.!Z(X)
DO 2 1=1, f\!

1 F v ( I ) =F.~ ( !< )
D() 2 1=1, r<
2 F p, ( I ) = F K ( I )

c;!

DUP

*DELETC:
/ / FOR

2 NZ(I)=FK(I)
j~ETURN

END

END
/ /
-If.

DUP
\I'S

U ,,\

FOR DR

DUP

-Y,DELETE
/ /

ESORT

FOR.

*ONE WORD INTEGERS
SU8ROUTIN~ ESORT(NA,NZ,N,NUPDN)
R:: AL I'J l\ ( 1 ) , NZ ( 1 )

CALL XSORT(NA,NZ,N,l,NUPDN,l)
KSTRT=O
DO 1 1=2, N
IFCNA( I )-NA.(

I-I»

2,3,2

2 IFCKSTRT) 1,1,4
4 K=I-KSTRT
CALL XSORT(NZ,NZ,K,O,l,KSTRT)
KSTRT=O
GO TO 1

3 IF{KSTRT) 5,5,1
5 KSTRT=I-l
1 CONTINUE

IFCKSTRT) 6,6,7
7 K=f\.I-KSTRT+l
CALL XSORT(NZ,Nl,K,6,1,KSTRT)
6 RETURN

o

END
/ /

DUP

~}STORE

OUP

~f-STORE

STORE

I /

/ /

h'S

UA

ESO~T

~'J SUA

GO R DR

c

c

SESSION REPORT
COMMON - Chicago

Session Number

TUE A4

----~-----------------

Chairman

P. A. Bickford

Time

8.30 to 10.00 AM

Session Name Control of Programming

and Qperation. CQlt.
Attendance (No.} _________________

Speakers __________________________________________________________--------

Synopsis of Meeting

Two alternative method. of bUdsetlngand aeeounting

for systems. prosremmi*&. and operatiDl eost. were outlined.

Example.

were given to show different mangement decisions ari.ina from the
application of these methods.

o

---------------,

BUDGET ING EDP CX) STS

~-.~.--

..-.--"--

c

*

. INTroDUCTION
There are many reasons why companies install computing equipment.

Some are valid - others are not.

In any case, the story often begins when a company decides to install a computer to handle expanding research, engineering and/or business oriented
applications.
An individual is selected to manage the use of
such equipment for one of two reasons:

or

1).

He may have been the manager of
a unit record installation,

2).

He had some technical background
associated with computer programming.

Seldom is any consideration given to the management
background of the individual charged with the responsibility of utilizing the new computer.

He soon finds

himself subjected to rapidly increasing pressure:
1).

He receives little management direc-'
tion. Seldom is anyone in "Top
Management" willing to become entwined with a new mysterious adventure. They don't understand it so
they vote to go along with it.

2).

He is so pre-occupied with learning
how to make the new equipment work

Q
*Presented at the OOMIDN USERS GROUP meeting in
Chicago, IllinoiS, April 10, 1968.

- 2 -

c

that he devoted little or no time to
real management problems.
3).

I'

When manufacturer proposals are considered, it is difficult for him to
question promises of fantastic savings
made to top management. After all, the
potential importance of this new position looks far too rewarding.

4). The establishment of

a new section,
department or division with the
prerogative to cross department lines
does not win friends among other department heads. They begin to fear
their own position as well as impending changes.

To tqp it all off, the top management of the company
decides to
new effort the same
. handle the cost of this
.
way other costs have always been handled.

o

The objec-

tive of this paper is to examine the different ways
this has been done and their implications.

ALTERNATIVE METHODS
The method which should be used in an organization depends upon:
A.

Organization structure.

B.

Direct Top Management involvement in the
review of possible areas of application.

c.

The extent to which installed equipment
is being used.

Each alternative will be discussed separately.

o

ALL aoSTS CONSIDERED AS GENERAL ADMINISTRATIVE OVERHE~
Here all costs associated with the'computing activity are distributed as all other corporata, management

- 3 -

and staff costs.

Usually, little effort is devoted

to the development of direct costs by job.

o

In this

environment, the value of processing different projects is not questioned or evaluated.
Where the objective of the computing activity
is to process large volume financial, inventory or
Management Information Systems applications, this
may be a satisfactory solution.

However, where a

variable mix of applications is being processed from
several departments, this solution is not satisfactory.

At this level of operation there is no com-

parison of actual costs with projected costs.

ALL VARIABLE COSTS CHARGED DIRECTLY - ALL FIXED COSTS
CHARGED TO USING DEPARTMENTS ON A USE BASIS

o

The value of this approach to the problem depends
upon the mix of applications being processed, the degree of computer use during different times of the
year, and the top management support for the computing
effort.

This method is entirely satisfactory where the

level of computer use is constant and there is top
management support for the computing effort.
Where the level of computer use varies from period
to period, any method for allocation of overhead costs
is at best, approximate.

Furthermore, if the main

concern of top management is the control of costs within

()

- 4 -

o

cost centers, this method will result in cost center
management using means other than the computing service for accomplishing major tasks.

Under these con-

ditions computing facilities will not be used to capacity and added corporate costs will be generated where
cost center management options for major clerical efforts to accomplish major tasks.
Where a computing service is established at the
corporate level, division and department heads may
pr~fer

to handle the processing of all tasks within

departments where possible, to avoid:
1). Outside inf1ue~ce, questions or controls
or

o

2).

Charges from a service department.

This can often happen where the comparative costs
clearly favor the computing service.

VARIABLE COSTS CHARGED DIRECTLY - FIXED COSTS CHARGED
AS GENERAL ADMINISTRATIVE OVERHEAD COSTS
Fixed costs are defined as those associated with
the top administrator of the data processing effort
and

~he

stalled.

basic costs of the computing equipment inVariable costs are those associated. with

all added personnel, supplies and maintenance requi red to complete processing for all applications.
The conditions where this method works best .are
obtained when:

-."-....---,-.~-~.-.-.-.,.''' -.... "."'..-... ......-'... ....... .•-.•.-.--.-.-.."-...-~--.....
...

"

"

- ..."-..-~,~-.~..--~~~~~~~~-

.................."... ..,....... .."'." ... -., .... ..•.. .....-..-

,,- ....,,-

,

"

,

,

- 5 -

C.,'.

1

,

and

1).

The computer is not used to full
capacity throughout the year.

2).

Top management wants to maintain a
cost center control and minimize
total corporate costs.

3).

The level of computer use varies
during different times of the year.

Many organizations have major applications which require a minimum computer configuration.

These organi-

zations may use their equipment close to capacity during some periods of the year and less than capacity
during the remaining periods.

Under these conditions

the equipment should be used for all applications where
the increase in variable costs to do the job is less
than the cost of accomplishing the job using alterna-

o

tive methods.

c

c

SESSION REPORT
COMMON - Chicago

Session Number

TUE Bl
---------------------

Chairman

A. Ragsdale

Tl~ae

10.30 to 12.00 AM

Speakers

1) Mr. Bob

White - IBM

Session Name

360 DOS

------~~---------

Attendance (No.) -----:..=.;::;:;~---118

(DOS Version 3)

2) Mr. Gerry Kaplan - IBM (Comparison of FORTRAN to PL/1)

()

Synopsis of Meeting 1) Mr. Bob White of IBM announced the availability

of DOS Version 3.
system.

He announced the following improvements in the DOS

a) complete support of the 2314.

b) simplified label handling.

c) cylinder index in core for indexed sequential files (assembler language only), d) improved multiprogramming facilities.
pendence for problem programs.
than SYSRES,

e) device inde-

f) libraries may be resident on other

g) disk initialize program now resident in DOS.

2) Mr. Gerry Kaplan of IBM pre.ented the similarities between FORTRAN

4C)

and PL/1.

A good summation of the pre.entation may be found in the IBM

Manual "A Guide to PL/1 for FORTRAN Users" - C20-1637.
I

l) r' S

PLI I AtlD FORTRAN:

PART I

A CO~'PI\H I snfJ

STI\TEf'IEtJT SIl"lILAHITY

PART I II CAPAB ILL TIES OF PU I BEYOriD

•

FORTRAI~

\
I

~

1££' ~S

.

~ /\./71::-0

/? -/ .

(;. /7

/4

/.2;-7 /'-/

·!e/~I / T£· j~

/"? ;

/-7

.A--/

•

l

.

/9 /

/1/ .j-

PUI AND FORTRI\N: A COr"IPI\RISON
PART 1 - ST1\TEI-'lEt:T SIf'lI LAR I TY

c

D,~TA

llEElrHTION

EORTRAr;
DIMENSION A (50,50),
COr',f~10r J

B(25,lOO), C(2)

A

EQUIVALENCE (A, B)
DATA C/2*1.01
INTEGER *2

0

A

REAL *8

B

CONPLEX

D

LOGICAL

E

pur

'.
,

DECLARE A (50,50) BINARY (15,0) 'EXTERNAL,
B(25,100) FLOAT BINARY (53) DEFlrJED A,

C(2) ,ItlITIAL

( ,(2) 1.0) I

, D FLOAT Blt!ARY COrlPLEX,

o

. E BIT(l) ,

o
FORTRArJ
A = B+C*SQRT(E)

A = B+C*SQRT(E);

./

o

,r
J

f

conTROL STATEJ1EUTS
I
'c'
d

FORTRAN

GO TO 25

GO TO (1,3,5),

fJ

N=2

IF (X .EQ. Y .AND. Z .GT. Y)

A=B+13

1=1, 15,3

DO 100

100 CONTINUE

PAUSE 'END PHASE I'

o

10

GO TO NEXT;
GO TO L CD:
I=3;

IF

x=y

& Z>Y

lllOO:DO

THEN A=B+13:

·1=1 TO 15 BY 3:

ErUJ DIOO

.

DISPLAY ('ENDPIIASE 1'):
'\..

{

f

IrJPUIOUTPUT

READ (5,1) X,Y,Z
I F0f~'1P\ T (F 8 •2, 2F4.1 )

HRITE

(6,2)

2 FORr·1AT (lH I, 'HEP\DI NGS')

WRITE (8) X,Y,Z
Ef'JDFI LE 8
RE\11 ND 8

PL/I
GET EDIT(X,Y,Z) (F(8,2), F (5,1»;
PUT LIST ('HEI\DING') PAGE;
WRITE FILE (SCRATCH) FROM·(WORK)
. DECLARE

1 WORK; 2X.,2Y,2Z;

CLOSE FILE (SCRATCH);

o

SUBPGOGRAM CONSTRUCTION

c

fORTRAN
CALL i1J\Tf'1PY (A, ti, C)
FUr~CTI ON

SPEC (r." B)
(:~,Z)

SUBROUTINE XTR

ENTRY

XTRA(Q, R)

EXTERiV\L

Sl,S2, S3

RETURN (A+B+C)

pur

C

CALL MATMPY (A, H, C);

SPEC: PROCEDURE
XTR:

PROCEDURE (Y, Z);

XTRA: ENTRY
.DECLARE

(Q, R);

(Sl, S2, S3) ENTRY;

RETURn (A+B+C) ;

o

(A, B):

.--~.-.--"-'-.-

..-"" .....-.~~-~.... '~~~-------------

SA~1PLE

QUADRATI C f10DEL
ExporiEr\~T IALLY

A

o

+

PROBLEf1

A T + 1/2 A2

1

l

Sf'100THED CO[FF ICIENTS .

READ IN DATJ\
UPDATE
PRINT

MODEL AND MAKE NEW FORCAST
NEW

FORCAST

PUNCH UPDATED MODEL

o

PART I I - CO(1PARISOn OF SM1PLE PROGRAitiS
fORTRAn ,-181 N PROGBAf'l

DInENS lor! ID (5)
1r~TEGER *2
ID
COi·li10N
OBS, PRJ, AO, AI, A2
\*l(11TE' (6,100)

100

FORnAT (lH1)

1 READ (5,101) OllS, PRJ, AD, AI, A2, (ID(I), 1=1,15)
101

ForulAT

102

CALL FORCAST
WRITE (6,102) PRJ, (ID(I), 1=1, 15)
FORivlAT (lH, 'F8.4, Xl, 15A2)
HRITE '(7,103)" PRJ, An,' A1,A2, (ID(I), 1=1, 15)
FOffi1AT (X8, 4 F10.4, 15A2)

o
103

(F8.4, 4FlO.4,15A2)

GO TO 1
END

0"',
,

,

•••• 0'jJI

· PUI

t'lAIr~

o

PROGRAH

SAr1PL: PROCEDURE OPT IONS G'lA Ifn :

DECLARE

(OBS,PRJ,AO,Al,A2,ALPUA,BETA)
FLOAT BINARY, ID CHARACTER (30) ) STATIC
EXTERNAL:

ALPHA=.l: BETA=.9:
PUT EDIT PAGE:
START: GET EDIT (OBS,PRJ,AO,Al,A2,ID)
(F(8,4),

~(X(2),

F(8.4) ), X(2), A(30) ):

CALL FORCAST:

P'UT EDIT· (PRJ, ID)

(F(S,4),X(2),

A(30) ), SKIP (1):

PUT FILE (PUNCH) EDIT

(PRJ',AO,Al,A2,ID)
(xes)·~

GO

4(X(2),F (8,4) ),X (2) ,A(30) ):

TO START:

END:

o

c

.;

. FORTRAN SUBPROGRAM
SUBROUTINE

FORCAST

COilr10N OBS,PRJ ,AO,Al,A2,
REAL*ll ALPHA/ .1/ , BETA/ .9/

ERR=PRJ-OBS
TEMP=A2-ALPHA**3*ERR

Al=Al+A2-1. 5*ALPHA **2* (2 .O-ALPHA) ~ERR'

0

AO=OBS+BETA**3*ERR
A2=TEr~1p
PRJ=AO+Al+.5*A2
RETURN
END

o

•

"

o

....

PL/I SUBPROGRN'1
FORCAST:

PROCEDURE:
,

ERR~PRJ-OBS;

,

•

.

'

...

.

"

.

.. ,-.

..

,

TEf1P=P,2-ALPHf\ ~*3~ERR;
.'

.' . ..

~.

.

Al=AI+A2-1 i.5*I\LPHA **2* (2-P.LPHA) *ERR:_,
AO=OBS+BETA**3*ERR;
...
•

•

..

!.

"

••

~

.:'

'

"

A2=TEr1P:
PRJ=AO+Al+.5~A2:

RETURN:
'. END:

,

.
".'

.

-.'

e'

-.

.

. .,

..

"

•

.'
.:

.'

..

..
"

.

.
'

"

:.

.~...

.

..

.

"'!

:"

:

.

..:

o

..

.•

,

,..
.,'

'

PART III

o
PL/I

HAS SUPERIOR ARRAY HANDLING

EXAMP LE8:

WHERE THE VARIABLES ARE ARRAYS

o
•

o

o·

PL/I HAS CHARACTER AND BIT STRING PROCESSING
'I"

EXAMP LES

*

DECLARE (HEADACHE,. FEVER)

BIT' fl'}:

IF HEADAC.HE· AND (--"7":-"FEV'ER) ,
THE N.GO T 0

•

AS P IR I N J

ELSE ·GO TO PENICILLIN;'

*

DEC L'AR E.(X, A), CHARACTER ( 11)

x

=

,

I

"

XYCOMABCMON';

y = INDEX

. eX, :", C"OM'),;

z

= INDEX (X,

A

=

'MONt);

SUBSTR (X,y,3) 11

{)

SUBSTR (X, Z, 3);

A WILL BE SET TO
COMMONbbbbb

c
/

PL/I·HAS MORE EXTENSIVE
I N PUT / 0 U T PUT F A C I LIT I E S'

PUT SKIP EDIT

(A, B , CJ

•X

(F (I 0 , 2) , F . (8) ,

(4) , A ("22»;

PUT SKIP EDIT (I SIN ( A) = b I',
PUT SKIP EDIT (A, B)

SIN (A) ) .. (A ( 8) , F (10,6»;

(R' .( F MT (I»));

FMT ( 1 )' •••
FMT ( 2) •••
PUT PAGE EDIT (A, B , C)

({K) F

(N,M»;

PUT SKIP FILE (OUT) LIST (-'SQUARE RO·OTS OF 100 INTEGERS',
(X, S QR T (X), DO X + 1 to 10 0»;

GET SKIP STRING (CHJ;\R)

**

AND ALL C·OBOL-LIKE. FA'CILITIES VIA. REA·O/WRITE
. .
".

#.~.

FROM/TO STRUCTURES.
.

o

..

_._-------------

--

_

.. _.-

----~

,~

I

'I ;
~

1

i

i

!

;

!

:

,

.

':C
PL/I HAS NORE EXTENSIVE DATA EDITlr~G

I

I
(

I

,

;

,

,

SOURCE

. TARGET

00100

**100

10203

123

1234.56

1.234.56

12

.1

2

001.23

$1.23

-123

$1.23CR

123

123

-123

',123

+

-

C

.'

.

EXAf1PLES
DATE
TH'lE

RETURNS .,CH;~ftACTlr~ STRI iiG YYf"1j'1lJD ' .
. RETURr~S CllP,RACTER STr{H~G HHiiilSSTTT

SU:v1 (X)
RETURt!S sun OF PILL ELl:JiEiiTS· OF X·'
PROD(X) . RETURNS PRODUCT OF ALL ELEMENTS OF X

'.'

o

P L/I HAS POWER 1.1

*

TAB L E (P) ObF V A L U E S

•
TO BE MODIFIED BASED ON PRESENT CONDITION

P=P+ (.05

*

P>1.0)

+ (.10

*

p) 10.0)

()

IN ADDITION FULL ~L/I· OFFERS:

COMPILE TIME FACILITIES (MACROS)
LIS T PRO C E S SIN G·

•

MULTI TASKING
I NT ERR U P T CON T R 0 L CAP A B I LIT I E S

o
'.'

..
.

.0

.

..

."-.-.~.---.--.- .. "

.... ", ..,.,""",,,,-,~,---,,-,-~~~--~-~---------------------------,

G

()

SESSION REPORT
COMMON - Chicago

Se3sion Number
Chairman

TUE B2
----------------------

~

Internals

R. P. Walker

Time ____~1~O~13~O~t~0~1~2~I~O~O~AM~________

Speakers

I

Session NameMPX

Attendance (No.)

91

--~~----------

Bruce Landeck - IBM
Panl Heale;, - IBM
. Lex

Arthur - IBM

Synopsis of Meeting

were tutorials.

B. Landeck introduced the speakers.

P. Healey spoke on Input/Output.

system generation.

L. Arthur spoke on

Available material includes.

MPX System Introduction C26-3718-l
MJX Subroutine Library C26-3724-0
MPX Programmers Guide

o

Both speechea

C26-3420-0

SESSION REPORT
COMMON - Chicago

Session Number
Chairman
Time

Session Name"Conversion Experience & Tips"

TUes. B 3

Metropolitan Lite (# 1495)

R. J. Snaller

Tues., 10:30 a.m.

Attendance (No.) _ _ _1..&.;6=--_ _ _ _ __

Speakers ______________________________________________________________

Robert Wilkin, Hooker Chemical. Com;pa.ny
James Bobay, Cummins Engine Co.
Robert Cornell, Federal. Reserve Bank ot Minneapolis
Don Forsyth, Continental Can Co.
Robert Therklldsen, I.B.M. - Chicago West
Reading Pollitt, I.B .M. - Wh1te Plains, If. Y •
Paul Koepsell, South Dakota state University

Synopsis of Meeting

As it developed there was just sufficient time to

accomodate the presentations of all the speakers.

The talks contained a

mixture of specific methods for meeting a particular conversion problem,
various experiences in converting and an overall look at conversions in
general.

Programs· for language conversions were described.

emulation was cODDJJented on.

Operating using

Also discussed were training, load capacity,

back-up and the need tor a conversion plan which 8hould be caretully prepared
beforehand

and adJiered to.

-----------------------------------------------------

o

4/15/68

o
COMMITTEE:

Installation Management Division,
"Conversion Experiences and Tips" panel.

SUBJECT:

Conversion Considerations

SPEAKER:

Robert L. Cornell

COMPANY:

Federal Reserve Bank of Minneapolis

ADDRESS:

73 South 5th Street
Minneapolis, Minnesota

PHONE:

(612)

333-0361, Ext. 418.

DAY, TIME, NUMBER OF SPEECH:

o

o

TEXT PAGES:

3

GRAPH PAGES:

0

55440

Tuesday, April 9, 1968
10:30 - 12:00 A.M.
Tuesday Session - B3.

Speaking for the Federal Reserve Bank of Minneapolis and aided
by a great amount of hindsight, I should like to present a number of
conversion considerations which may be helpful to others seeking "outside"
ideas in this area. First I will present a summary of our current
machine status, then view some of our impressions and ideas regarding
conversion.

o

Prior to installing our present IBM System/360 Model 30E, our
"shop" included a 20K 1620 Model I, two 402 accounting machines and a 416,
one 514 and one 519 reproducing punch and a dozen keypunches. Our 360
was installed on July 1, 1967 with a 1620 compatibility feature a'ttached.
For a variety of reasons we are ordering an additional 32K for installation
this summer.
Basically and quite briefly, Our decision to convert toa larger
machine was based on three important needs •. First, the need had long
existed for more raw computer power - faster processing speeds. With the
diurnal bias of both programming and operating staff being mainly
responsible, our operations had steadied to a 6:30 a.m. to 11:30 p.m.
machine schedule, less and less of which was available for program testing
or compiling.
Secondly, we recognized a need for larger disk file storage
capacity and a desire to provide for storage of large data files on
magnetic tape. Following a conservative policy on destruction of old
card-data, we were faced with a continued accumulation'of boxes of cards
which would become unmanageable without taping facilities. Third, a
near-future need exists to provide terminal facilities for direct data
communications with other Feds and with the Board of Governors of the
Federal Reserve System in Washington, D.C. A need to provide multiprogramming environment required a machine change.

I~\
1Il~

Hardware decisions are mainly a matter of selecting among the
various promises as to what the manufacturers can and will provide for you.
Decisions on specific readers and printers may be made based on the varying
requirements of the installation. One tip to remember: In order to secure
the best (and only good) bargaining position, written agreements regarding
length and time of P.M. (Preventive Maintenance) should be made prior to
installation date.
As in our case, the time schedule for delivery of the new
machine may not allow time for extensive reprogramming prior to installation.
WhBn this occurs, it may be necessary to consider simulation or emulation
as an aid to conversion. Having now had nearly one year of 1620 emulator
experience on the 360/30, we would like to give a list of our impressions
regarding this mode of operation.
1)

Emulation is often fast and impressive. For
identical jobs, it may even run faster than
360 DOS. Over our 1620 speeds we have reaped
basically the gain in speed of our I/O devices;
1620 jobs can be expected to run 2 to 4~ times
faster under Emulator.

- 1 -

o

2)

Emulation causes problems in machine backup.
Our nearest backup machine is in Des Moines,
Iowa. The backup problem would be less
crucial if our reprogramming effort were complete.

3)

Emulation causes problems in hardware maintenance.
In our area we have one IBM Field Engineer trained
in 1620 Emulator.

4)

Conversion should be swift. Any shop, subject
as we are to programmer turnover, may find itself
in the middle of a lengthy conversion with only ,
one or two people capable of programming in the
"old machine" language.

5)

1620 Emulation prevents any really full use of the
360/30. Multi-programming is not really practical,
and the need to be forever switching back and
forth between operating modes does not make for
most efficient use of the machine.

6)

Lastly, Emulation is a crutch. This is due to
its reliability and speed, plus a programming
viewpoint more concerned with getting new
applications running and less concerned with
converting old systems which do require reprogramming
but which at least are now running under Emulation
(faster too, remember!).

o

o

So we have run into a bottleneck in our reprogramming effort;
complacency over Emulator speeds has certainly slowed this effort. The
real question regarding emulation then becomes: Can sufficient resources
be devoted to reprogramming prior to machine installation, or should
emulation and a longer conversion period be considered?
Recall also that prior to installation date many of the programming staff will be spending at least part-time effort in learning
about the new machine and even more probably, its new language. The choice
of primary programming language will have an effect in at least two areas.
One, because the level of basic knowledge about the way the machine
functions varies greatly with the choice of language, this choice will
have a bearing on the programmer competence in the area of assembler
language which will be required of the individual. The problem-oriented
languages are just that, and they can free the programmer from a need to
know a lot about the intricacies of the machine.
Secondly, the decision on languages may have a bearing on the
amount of core storage ordered for your machine. One of our primary
reasons for ordering an additional 32K for our Mod 30 is the fact that we
are a big COBOL user. COBOL certainly generates far more coding than
could be written minimally in Basic Assembly Language.

o
- 2 -

~~~~~--~----------~----------------------------------'-------------~---------

One last area which we would mention is the area of Documentation
Standards. Even for the shop where firm standards have already been
established, a conversion period is a good time to consider updating or
revamping those standards. We have found our gradual conversion to be
beneficial in this respect, for it has given us a very good "handle" on
exactly what should be required in the area of program documentation. To
repeat, there is no better time to review documentation standards than
at the time of a conversion.
In summary, a conversion should not be allowed to cause havoc
in any area - whether in machine change-over, in re-programming, or in
documentation. Reprogramming should be placed on a schedule to which it
is reasonable to adhere. Documentation, as important as any area, should
be used as a tool to guide programmers in the direction of a harmonious
conversion.

o

o
- 3 -

-1 (~

c

COMPUTER CONVERSION

B.d.. ~ 1

i(u' l' S

I l\1TRODUCTION

Planning a computer conversion passes through various stages of development sihlilar
to initial installation planning.

Individual plans are greatly dependent upon the

total computer stat~s of the user.

This presentation will review the planning

process and installation highlights.
-""'"

SYSTEM REQUIREMENTS
Feasibitity
"
Company policy often directs the procedures to be used in feasibility

studies of new or replacement equipment.

Such a study would consist of a

complete survey of present and potential applications.

At this time,

department heads should have the opportunity to make known their present
and future needs.

Upon the merit of the total requirement, equipment should

be reviewed to accomplish the demand with allowance for growth.

The growth

factor, often unpredictable for immature computer systems, is generally
compensated by improved technology.
One of the easiest feasibility studies attempted was the 1620 vs. the
1130 System.

In most cases the cost alone satisfied the problem.

However,

other factors must also be considered in computer selection.
COMPUTER SELECTION
Collect and analyze information from all possible sources.

Interview all

potential users and discuss their needs •. study and evaluate each application
and the equipment required to accomplish the different tasks.

A practical

A t:J ..f.. .'-'
, ••.~15t;'c.
. . , Ctl"",,,~f+.c
.r.ve .• "t.,;te cLt'"..o,.t,o" .,.,1 ".""1'&'"''1 p"'t.~/rl.'.

.
.
performance
plan should be developed.

t,.,.

.f,f...

f
...AAt"I
~ -

Consult other equipment users concerning the equipment under consideration.
Find out the capabilities and limitations from experienced users.

Study

the various hardware configurations that might be considered feasible for
I,'

-

- 2 -

the applications.

c

Arrange to make production test runs to form definite

conclusions of the system capability.
Cost in most cases could be the most decisive factor of all.

Similar to

buying a car, after the basic equipment is selected, many accessories are
added.

The cost range of the 1130 begins at $695 and can increase to over

$5,000 by adding auxiliary units an.d system improvements.

Where to begin

or stop must be determined in the feiasibility study.
Performance specifications depend upon the applications to be processed.
Such as, what records must be stored.
for required processing.

Should disk, tape or card be used

Cycle alone will not give a true picture of

processed through-put.
'training is always required in severl;l.l different forms.
instructed on the proper use of all

(~ontrols

processing and emergency stoppages.

Operators must be

c

and how to handle routine

IBM should arrange training instructions

to key personnel who can be ready to assist users at all times.

Training

should also provide orientation of non-data processing personnel concerning
the capabilities of the new system.
Program convers ion is probably the 'b:Lggest in any change of equipment.
systems are completely compatible.

]~tensive

Few

plans should be made to

accomplish this task.

Language changes must be known well in advance in

order that programming

p~rsonnel

schedule.
program.

may make the necessary conversion changes on

1620 FORTRAN can easily be convered through the 1130 system FLIP
Additional resources can be used if'1401 services are available.

360 converter program
(SIFT
.

A

) is available for 1620 FORTRAN for either 1401

'-.

"',_processing on the 360-1401 emulator.

Compatibility from 1620 FORTRAN to

"''-'-.

the~is very good, howev~r, it is non-existent in symbolic ~ograms.
Itt•• ~,~.... Cii.{tow .. "'&~ i,,,,,_ Ilt Qva;I"'t,, 181Jl eellta~s :J1t .... CJ -&c
~~J.

+

~

'-

c

- 3--

o

Expansion will probably always be a 'part of almost every system.
take various identities:

It can

storage, speed, auxiliary Units or scheduling.

For most data-processing installations it evolves into normal growth.
Communication in the computer field is perhaps the least developed field.
However, spectacular things are sure to come in many forms of computer
Already terminals are available in d::Lfferent forms:

communication.

typewriter, card, voice, tape, etc.

The 1130 will soon be a terluinal to . . .

the System 360 and perhaps it can also be predicted that there will be
remote sources of communication to the 1130.
Load capacity should always be a realistic part of every system.
there are various methods of compensation from an overload.

Of course,

It can first

be challenged by increasing the computer speed; other methods are:

o

faster

input-output units, larger core capacity for better programming efficiency
and greater storage capacity.

Beyond the system itself, scheduling can go

into overtime or week-end hours.

The 1130 8K core capacity is comparable

to the system 360/30 32K and about equivalent to a 1620 40K.
Back-up is closely related to overload but it must be outside the system.
In the case of a breakdown or overload, is there another system available?
For some programs this is an essential element of a complete system.

In

the case of FmRTRAN programs, another computer system should be sufficient,
°d d °t °

proy~

o-tl

e

fill":"'"

~

1

~s'

ar£e

Q,,,," .3f1.,.,lct

~w"
.v-

Limitations are a part of all systems.
selected for major applications.
on a small system.

o

•ti"..,e

-tQ,Al,f cf (tt.
.;, r
o........T&ra
,
t./+ ,;" .~&'''A(( S'y.......... I'lc""N'f1

enou~.

,'J CL

A small computer should not be

Some prOjects are literally impossible

This should be discussed with other users to acquire

an understanding of the problem.

~he

system can be no better than the

service turn-around it provides.

'User acceptance will greatly depend on

service.

~ CJjfttM"#I~" e'" S'_tAltII
.,.,w. ft ...... - eJi",,;tti, c. i"

I..

~.t.'II"I,.tI

,.,,4i,,-ta;/ft;"

,e
..lC.. -.

t:U' .,.." ".

,f,

.,.~_cl

s ."""

o

PHYSICAL REQ,UIRE£.fEJl7rS (A26-5914-2)
3-1vIonths before delivery is a very
staGe.

<~ritical

stage, perhaps a go, no-go

It is a time for decision, first for the computer and then the

environment factors.

After determining

be called to ·discuss physical

~,.

firm order the plant engineer should

requiremen1~s.

1.

Temperature (60 to 90 0 F)

2.

Relative Humidity (10 to 80%)

3. Heat (Average 5900 BTU/Hr.)
4.

Dust and Dirt (Normal Precaustions)

5.

Fil~e

6.

fi;~(1(2 Power, 19rd.)
Power Supply - 115 Vac., 3-'

Extinguisher System should be Non-Wetting

7. Lightening Protection
8.

-1'

Cables to Specified Length

I

«

I

1he layout should be approved by IBM so servicing can be achieved.

Q

If program conversion is taking place, a definite schedule should now be

re vtel.4lsd

jet Enu"

Another

d as vTell as orientation of concerned personnel to the new system.

cr~ical

item at this stage is the ordering of the monitor system.

"

"-,

I-Week before delivery several units have probably arrived and are probably
setting on the receiving dock, but it is time to make a check on environment
requirements.
1.

2.

Several administrative tasks are:
-"""

Issue operating procedures
a.

Time schedules

b.

Services

Training
a.

Computer concepts

..
b• Programml.ng

-I:t .6\
r..r. "1II,,~clli":'1.flj'"e...a"-~~

L.1t.......1IIII
c la sses C"I'
..• •

c.

System review

d.

Language changes

e.

Review FORTRAN level

o

- 5 -

o

o

P.r:OGRAl·1 DDlONSTRATION

1TAE83

o
INSTALLATION

MANAGE~1ENT

DIVISION, PERSONNEL PROJECT COMMITTEE

"Professional Progrruruners and Analysts:
Evaluation"
By:

Problems in Performance

Arthur S. Gloster, II
Oak Ridge Associated Universities
P. O. Box 117

Oak Ridge, Tennessee
Thursday, 10:30 a.m.
Two pages of text.

o

PROFESSIONAL PROGRAMMERS AND ANALYSTS:
PROBLEMS IN PERFORMANCE EVALUATION

Arthur S. Gloster, II

Oak Ridge Associated Universities is a nonprofit corporation in Oak
Ridge, Tennessee. The primary function of the corporation's data
processing center is to apply electronic data processing techniques,
where feasible, to research and administrative projects. The center
contains 27 employees of which 13 are analyst/programmers. The center
is divided into three groups: 1) scientific applications consisting of
6 personnel and a group leader, 2) commercial applications consisting
of 5 personnel and a group leader, and 3) operations section consisting
of a supervisor and 10 other employees. Oak Ridge Associated Universities has on site an IBM 1800 disk/tape system which is utilized by
approximately 40~ of the programmiDg personnel. Approximately 60", of
the personnel use IBM 360-50,360-75 and CDC equipment located in the
area. The analysis and programming function comprise a significant
portion of the operating costs of the.ORAU data processing center.
After discussion with personnel from other installations, we found that
there are no reliable standards by which costs can be calculated in advance, schedules established, and the performance of personnel evaluated.
Although the methods we used to establish schedules and costs are subjectiveand arbitrary, they in no way approach the accuracy of the
methods developed in the hardware area. For ex.a.mple, IBM has established
rates for EAM equipment and has even produced a slide rule to use for
estimating job times.
A means of evaluating the professional analyst/programmer's job and a
means of evaluating his effectiveness is highly desirable but rarely
accomplished. Such means would be helpful predictors in determining
the staff needed for a particular application or a data processing
installation. We have found that records of intangible~, such as the
time for the application analysis and problem definition, flow charting,
coding, debugging, checkout, and finally documentation would have to be
maintained continuously to have a base tor,predicting analyst/programmer
costs and for pe~sonnel evaluation. In predicting costs of computer
programs ·and evaluation, we would like to be' able to have a magic number
representing the proper number of analYsts or programmers that could be
applied to a given situation and for our center as a whole, but we found
this to be tmpractical because we were measuring intangibles by subjective means. We found that attempting to save expenses by minimizing
or restricting the availability of professional personnel caused equipment to be used ineffectively. The more the programmer is annoyed with
accounting for his time and the more detailed the account for nonproductive time, the less apt he will be in cooperating in a program
that keeps up with all of the various functions he performs.

-1-

Programming personnel at OHAU are engaged in numerous types of jobs;
therefore, standards of work evaluation could not effectively reflect
the variety of tasks they encounter. One programmer may be responsible
for coding X number of instructions with relatively small amounts of
logic development, while another programmer may be responsible for extensive logic development with relatively few instructions. Thus, it
becomes difficult to measure the amount of work required on each program, and the total work effort performed by a programmer cannot be
assessed in standards of comparison with another programmer.
At ORAU, we believe that the group leader of either the scientific
section or the commercial section, depending on the particular area,
should look at the problem in advance and then meet with the data processing manager to establish reasonable target dates for each of the
previously-mentioned phases on the basis of the nature of the problem
and on their past experience. The manager or group leader must have a
detailed knowledge of the problem under study because it is his
responsibility to prepare the cost estimate and schedule. He must keep
up with the allocation of funds and judge progress of the application.
After giving several methods of job measurement trial, we have found
that there is no substitute for experienc~ in the area of predicting
costs, measuring work, and evaluating programming personnel. Programmers
respect a supervisor who gives them a job and can tell them what performance is expected. The supervisor is also respected by his staff if
he remembers that good supervision is the least supervision needed to
get the job done.

-2-

o

c

SESSION REPORT
COMMON - Chicago

.:iession Number

TUE BS
-----------------------

Chairman

Joe Talkington

Time

10.30 to 12.00

Speakers

Mr. William Peterson

Session Name

N/c - Languages and
Graphics

Attendance (No.)

-----------------

c
Synopsis of Meeting

The speech was

need for computer support.
and numerical control.

pr~arily

on the APT Language and the

Distinction was made between symbolic control

Questions delt with the relationship of APT to

small computer users.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' _ __._ __ _----..

..

..

o
------_._..-.--

R.EMAR.KS TO:
COMMON and CEPA
APRIL 9, 1968
PICK CONGRESS HOTEL, CHICAGO

Dr • .Tohn Porter
Director of Scientific Development
IBM Corporation
112 East Post R.oad
White Plains, New York

o

c·

My topic today is: "The COMMON Challenge"
I chose this topic for two reasons: The first one is that I like puns. But
the second reason is that what I want to say to you applies, I think, no
matter how you interpret the word COMMON.
Whether you translate COMMON as the largest computer users group in the
world, measured in number of member installations, or whether you use
a dictionary definition; such as: "belonging or pertaining to the community",
as long as you mean the computing community.
Because there is a challenge to the COMMON organization, and there is a
challenge to all of us involved in'data processing and computing, it's a
complex challenge, not a simple one. This complex challenge that I see
consists of three related parts.

o

The first part is to make our systems do what we know they can do - - for
us, for our organizations, and for our society. The second part is to advance
the state of the art to "dream the impossible dream", so to speak, and then
make it happen. And the third part of this complex challenge is to use what
'Wa've learned -- about systems and languages, about machines and organizations,
about human factors and problem solving techniques -- not only within our ,own
organizations but in society at large.
Although the way I look at this challenge is my own - - and may be different
from yours' -- certainly its presence is nothing nevI to members of COMMON.
Your formation of COMMON eight years ago was a forward looking response
to this challenge. Your response to this challenge is what has brought us
together in this meeting and at this luncheon.
Your response to this challenge -- hour by hour and month by month and
year by year - - is what has given your eight full years of accomplishment,
innovation, and leadership -- in your own disciplines and in the data processing
and computing community at large. I daresay your response to this challenge
has meant long days and short weekends - - the invention of algorithms vlhile
you were shaving; or, if you don't shave, while you were powdering your nose -discovering bugs in programs vlhile you were mowing your lawn.
COMMON's eight years as a leading-edge organization -- as a group that m2.kes
things happen -- is an outstanding example of how to do in the organizational
world what Thomas Edison did in the industrial world - - organi2',e for progress.
Isaac Newton is supposed to have said that if he had been able to see farther
than others, it was because he had stood on the shoulders of giants. ~lhat
Ne~vton did as an individual, COMMON has done as an organization ..

-.-.------~'----~~---

page 2

My feeling is that COMMON is on the right track.
My advice is to stay on it.
Present more papers.
Share more experiences.
Contribute more programs
ContiI\ue to prod IBM.
Although VIe don't always move in the direction you push us -- there are many
other vectors that affect the resultant -- we want you to push us. And although
we don't always move as fast as you like, we move. Your challenge is also our
challenge.
Now I'd like to show you that IBM understands at least some of your requirements.
Let me use rny own shop as an example. Our primary concern is any use of
information processing systems by engineers, scientists, and mathematicians.
More specifically, we're interested in the techniques and disciplines which are
commonly employed in the solution of problems in scientific computation. For
example, we have produced a package of subroutines called the scientific
subroutine package which provides the basic techniques of numerical analysis,
statistics, and matrix manipulation. We have produced a series of linear
programming codes -- in fact, one of my colleagues, Harry Muller, is on
this meeting's agenda to present a tutorial on our 1130 LP Code. We have
produced generalized network analysis programs, utilizing critical path and
pert techniques. We have produced the cont. syst. modeling program, which
allows the simulation of systems described by ordinary differential equations.

C

We have produced the general purpose simulation system vlhich allovls the
simulation of discrete processes. Since this group represents the leaders
in scientific computing, )Our inputs to us are quite significant in defining the
requirements for these techniques. Let me add that we will continue to provide
fully-supported application programs for these techniques and their variants.
And for a reason that is very important to both of us. It is clear that the most
important factor which will limit the growth of computing in the next 5 -10 years
is the shortage of skilled application and systems programmers. By providing
tools and techniques which meet your requirements, we can free up this scarce
resource, so that you can apply it in new, high-potential areas -- rather than
squandering it by reinventing the wheel.
NOW, in addition to the production of application programs, my shop is also
working on longer-range projects. This activity is currently under'Nay in
the scientific. centers. Since these centers are fairly neVI, most of you are
prooably unfamiliar with them; and therefore, I'd like to describe them in
some detail.
There are six scientific centers located in Palo Alto, Los Angeles, }Iouston,
Washington, D.C., New York and Cambridge. Each center is conlposed of
about 15-20 professionals plus supporting personnel. Why, you ask, are there
six srnall centers, rather than one large center ?The answer is that we feel
it r s important to work closely with leading institutions around the country where

c

page 3

we have a common interest -- that is, pushing back the frontiers of
computer science. And that brings me back to my topic --'The COMMON
Challenge. What is the challenge facing the scientific centers? We believe
that the computer potential in solving man's problems has only begun to be
realized. In recent years completely new opportunities have opened for the
computer which we are only beginning to explore - - management science,
environmental sciences, medicine, transportation systems, to name only
a few. There is every reason to expect that the role of the computer will
continue to grow, provided the correct environment is provided. Therefore,
the challenge is to take the lead in identifying, monitoring, and developing
these new areas of applications technology.
Let me describe briefly some specific projects now in process. One project
in Palo Alto is concerned with on-line experimentation using an 1800 tied
directly to multiple instruments. One facet of this work is a joint effort with
Stanford University to control and monitor experiments using the two mile
long Stanford linear accelerator.
In Los Angeles, we have sent an 1800 out to sea on an oceanographic research

o

vessel from the Scripps Ocenaographic Institute. It is used for data acquisition
and analysis and makes possible the use of satellite navigation to more precisely
determine the position of the ship when data is being taken.
A Houston project has demonstrated the feasibility of generating holograms
digitally. In addition to the implications for 3 -dimensional displays, we feel
that this technique could be used to improve the resolution of the electron
microscope.
In New York we are working on extensions to linear programming.

Such as
integer programming, mixed integer programming, decomposition, and
non-linear programming. Specific problems being addressed include airline
crew scheduling and freight car scheduling.
Cambridge is concentratL'1g on the development of new systems techniques
to allow more efficient interaction between a user and a computer in a timesharing environment.
This is just a small sampling of projects in the scientific centers. In addition,
they produce internal technical reports; they publish regularly in the open
literature; they hold special seminars on subjects where they have some
expertise; and they are open for customer visits. I encourage you to find
out more about these centers through your branch office and to take advantage
of their special knowledge wherever possible.

o

In summary, then, I see a COMMON and a complex challenge facing all of us--

page 4

and a resultant need for closer cooperation in meeting that challenge. I see
COMMON as a vehicle for coordinating our efforts in this regard. For what it IS
worth, I would like to give you my threefold prescription for continued success
in the future.

0.-'

First, as I've already said, support COMMON. In concrete terrns, consider.
the coming election of officers. Don't wait until you1re asked, voluriteer. If
you1re asked, don't hesitate, accept. When you vote, vote for the individuals
who have the clearest view of COMMON and vlhat it should be.
Second, use COlv1MON as an interface with IBM. The 1966 reorganization of
COMIVfON was designed to make this easier for you to do. Don't overlook
the opportunity.
And third, keep up your inventiveness and creativeness. Society needs your
help.
Thank you very much.

c

c

'Wi

SESSION REPORT
COMMON - Chicago

Session Number
Chairman
Time

TUE B8

----~--~-------------

W. Norton

10.30 to 12.00 AM
-----------------------------------

Speakers

Session Name OS Committee Meeting

Attendance (No.)

-----------------

J. A. Woodworth - Dow Chemical Company

Synopsis of Meeting

In addition to committee business and organiza-

tional planning. a report on SHARE XXX was pre.ented by Mr. Woodworth.

t

:aue

,4, ..aMiU===,Wn: •• .T.4U4;Q,;W,,"WiMiULiUM

_"&wc

&lit

DIVISION:

Systems

PROJECT:

360

COMMITTEE:

O/S

SUBJECT:

Report on SHARE XXX

SPEAKER:

J. A. Woodworth

SESSION:

B9 Tuesday, April 9, 1968

c

em

REPORT ON SHARE XXX
BY

J. A. WOODWORTH

USER 5155

c

DOW CHEMICAL COMPANY
CE&CS DIVISION
HOUSTON, TEXAS 77027
APRIL 9, 1968

o
'#¥t$#.¥4Q.#'llhU· anSEe;::a:.""

.,ffiH·4I¥N¥MIM\If1iJM,

m£ .,:

h.hAtm:;e:.;,n. ."NMAtM====

U!!7!!mrJ!J!!W""iMtMiiii:.I:1

o
Introduction
On Friday, February 23, 1968 at about 4:00 p.m., I received a long distance
telephone call from Wade Norton, the Chairman of the O/S Committee, asking
if I could attend the meeting of SHARE XXX which was starting in Houston
the next Monday morning. Since I happened to be in my bosses office at
the time I received the call, he gave me an okay and so I was able to
attend the meeting. I have attempted to record as much information as
possible about SHARE's organization and, in particular, the OS/360 project.
General Comments
The SHARE XXX meeting lasted five days of which the first two days were
limited to closed project working sessions. Attendance at these sessions
was limited to project and committee members and those who had obtained
the permission of the project leader. Those interested in participating
in committee and project work were instructed to contact project leaders
before coming to the meeting.
Organization of SHARE
Since the current organization of COMMON was patterned after SHARE, there
are, of course, a number of similarities. The main divisions are: Administration Committee, Advanced Planning Division, Applications Division,
Graphics Division, Installation Management Division, and Systems Division.
Projects under the various divisions are:
1.

Administration Committee--distribution and programming standards.

2.

Advance Planning Division--data mapping.

3.

Applications Division--applied management science, design automation,
electrical analysis, general information systems, general file maintenance, list processing, mathematical programming, numerical analysis,
statistical methodology and systems, symbolic mathematical computation,
and systems simulation.

4.

Graphics Division--applications, hardware, and software.

5.

Installation Management Division--university installation management,
and operations management.

6.

Systems Division--ASP, assembler, COBOL, DOS/TOS, Fortran, HASP, OS/360,
PL/I, TSS, Model 44/Model 91.

OS/360 Project
The current working groups on the OS/360 project are: Job management, data
management, telecommunications, storage hierarchy, MFT improvements, hardware considerations, performance evaluation, and system management (i.e.,
job accounting).

c

- 2 -

c)

The first order of business was a review of the resolutions passed at
their December meeting. Some of those discussed which might be of interest
to our committee are:
1.

Ability to allocate and deallocate storage dynamically.

2.

Ability to allocate and deallocate direct access storage during a
job step.

3.

Close and release a data set without terminating the job.

4.

Nesting of catalog procedure calls.

5.

Ability to add devices without going through SYSGEN.

6.

Controlling tape error retries--now does 100.

7.

Option--owner ID, creation dates for PDS.

8.

Condense partitioned data sets more efficiently.

9.

Access PDS from higher level languages.

OS/360 Project--Data Management Task Force

C'

The data management group presented the following resolutions:
DM-Ol

Look into tape error retries--now 100.

DM-02

Recommend automatic catalog maintenance and library control.

DM-03

Allow use of direct access devices by two or more CPU's.

DM-04

Improved method to condense PDS data set.

DM-05

Ability to access PDS from higher level language.

DM-06

Allow reading file protected data from Fortran.

DM-07

Ability to define and use channel to channel feature as an
I/O device.

DM-08

Request more information in PDS directory such as creation date,
etc.

Other items were discussed such as changes in Release No. 14.
Fortran Project

o
a.uu;"

A presentation was made by an IBM representative on data set compatibility
between the following systems: DOS/TOS, TSS, M44, and as. Data sets should
be on tape unlabeled. The as default scratch buffer size is 800 bytes.
To .speed up I/O, use array mode rather than lists or implied do's.

("($1$,:5==:.1:',,,(,

",:I:" ...UJQ,a:mtWU£k,;u,:::;e,tlU.#gu====UJIQ.AA

- 3 -

The Fortran project passed 12 resolutions. Voting was by active members
of project only. Count was kept of the pro's, con's and abstentions.
The resolutions were as follows:
68-1

Allow the typing of EXTERNAL function statements External SQRT
(Rea l-k4) .

68-2

Allow variables as parameters to the define file statement.
These could be passed as arguments to subroutines.

68-3

Output the buffer of the SYSOUT data set of ABEND.

68-4

Set precision of constants by context.

68-5

Fortran setting of condition codes.

68-6

Recommended parallel APAR handling between related Fortran
compilers.

68-7

Eliminate problem of subroutine argument list when the number
of arguments is eight.

68-8

Defeated.

68-9

DO LOOP indexing parameters--have compiler issue warning message
on changing parameters inside of loop.

68-10

Fortran

68-11

DEFINE FILE statement--c1arity manuals to indicate that in overlay structures, the controlling DEFINE FILE must not be overlaid.

68-12

Clarify implications of double length precision extensions to
Fortran for the Model 85.

r/o

o

requested improvements.

These resolutions were then ranked by each committee member according to
three priorities:
1.

Paramount importance.

2.

Soon.

3.

Indue time.

Format of Project Resolutions
Resolution No.

-----------------------------------

Task Force
A.
B.
C.
D.

Requirement
Problem description
Resolution
Notes

Date

c

-

4[;'

L~

-

Project Activity and Progress Report
Project
Project Chairman

Division _____________~______~_____

----------------------

In~tallation

Date Submitted
(The following is preprinted on the form)
Please list the
1.

Scope·and objectives of project.

2.

Recent'project bctivities.

3.

Planned project activities.

L~ •

Manpower needs.

5.

Membership qualifications.

6.

Membership roster.

o

o

following~

J. A. Woodworth
4-3-68:cd

Code

Recommendations for COMMON OS/360 Committee Action
1.

The COMMON OS/360'Committee should maintain a close relationship with
the SHARE OS/360 project. This should probably be done by the Chairman.

2.

Minutes of meetings and records of activities should be exchanged
by the respective chairmen.

3.

Specific items of significance be made available to active OS committee
members or to the whole membership of COMMON depending on merits.

4.

A representative from COMMON attend each SHARE OS/360 project meeting.

5.

Formulate procedures for the documentation of the OS committee's activities
and recommendations.

SESSION REPORT
COMMON - Chicago

Session Number

TUE C2
----------------------

Session Name

Biomedical

Chairman

Dr. James L. Grisell

Time

1.30 to 3.00 PM

Speakers

Mr.. Joan Lukin - University of Kentucky Medical School

Attendance (No.)

50

----~----------

Dr. Emanuel Donchin - Ames Research Laboratory

Lukin - "Computerization in the Clinical Laboratory"
Donchin -

II

Acquisition and· AnalYlfis of EEG ,Evoked Reaponses"

Synopsis of Meeting Mrs. Lukins presented a system for the on-line

analyais of auto analysera.

These are used in perfor.ming clinical

laboratory deter.minatiofts.

Dr. Donchin reviewed hi. work on eveoked

responses with an emphasia on the difficulties of high _peed data
acquisition usina IBM software.

The discussion after the for.mal

presentations showed that many users haye had to find a variety of ways
around the serious limitations of the system software when dOing high
speed data acquisition.

a

1

----~,~~,

.....

~-~'"."'.","

... "',""--.-..---,-..---.---..

--.,---~--""-

..---"--"---"",.",,,,,,-,,,,,-,,,,,,,..-----'"

- - - - - - ' " ----,,~----,,"-----

I
-, e "'; '

COMPUTERIZATION IN THE CLINICAL LABORATORY
by

J. Lukins, M. Ball, W. B. Stewart, N. Hill, and R. O'Desky

c

The purpose of this paper is to explain and illustrate the use
being made of an IBM 1800 Computer by the Cl inical Laboratory of
the University of Kentucky Medical Center.

We shall point out the

need for the computer, explaining the task undertaken, and outlining

o

o

the solution developed.
for the computer.

We shall also touch briefly upon future plans

COMPUTERIZATION IN THE CLINICAL LABORATORY
The clinical laboratory of the

Univer~ity

of Kentucky daily

handles a number of specimens from patients throughout the hospital.
These specimens must be transported to the laboratory and analyzed,
and the results returned to the patients' charts, a sequence of
events which at present introduces the possIbility of a number of
errors of identification, technical inaccuracy, and clerical mistakes.

Let us trace this sequence of events, and point out as we

progress the areas in which error may be introduced.

Because our

efforts to date have been concentrated in the clinical chemistry
area, we will consider only those analyses in this paper.
A patient entering the hospital is given a six-digit hospital number, representing the total number of admissions to date:
if for example, he were the 368th admission, his number would be
0003684, the seventh digit being merely a check digit to assure
the validity of the six-digit number.

A non-removable wrist-band

containing his hospital number is placed. around

hi~

wrist.

His

attending physician, upon examination, writes a request in the
physicians' order book for the required laboratory tests.

A techni-

cian then completes a request slip (in triplieate) for the requested tests (see Figure 1), draws the required samples from the patient in his room, labels the specimen with the same accession number as the request slip, and carries both the request and the sample to the clinical laboratory.

Already error may have been intro-

c

-2duced:

the technician may have placed the wrong label on the specimen.

~':

C

A technologist receives the sample in the clinical chemistry

.;

laboratory, and, matching the accession number of the request slip
with the accession number of the sample, she gives both of them a
new number - a laboratory number - the first specimen and request
being labelled "1", the second "2 11 , etc.

Here, of course, is another

possible source of error - it is possible that she may assign
the wrong request sl ip to a given sample.

Next, the patient's

name and laboratory number are entered in the master log sheet
(see Figure 2) and a notation is made under each test requested.
The sample is then placed in the centrifuge, separating serum from
cells, and the resulting supernate is decanted into a clean tube,
havIng the same laboratory number as the sample tube (another possible

o

source of error), and this tube is placed in a serum rack (see Figure 3).
After all specimens have been received, the technologist who
is performing glucose analysis, for example, records on a separate
log sheet the laboratory numbers of the patients requiring glucose
analysis

~

the order in which they will be run (see Figure 4); the

technologist performing blood urea nitrogen determinations does likewise
for BUN's, etc.

Each technologist then draws off small samples of the

-

patients' sera, and places the samples in small autoanalyzer cups in
the

~

order as they appear on her log sheet.

She then places a

series of standard solutions containing a known amount of the chemical
being measured in front of all the patients' sera (see Figure 5.).
Obviously, this series of transfers of numbers and sera introduces
the possibility of additional errors.

o

-3At this point the autoanalyzer assumes the responsibility for,
analyzing the sample (see Figure 6).

Each standard sample is aspirat-

ed in turn into the autoanalyzer, mixed with reagents, and carried
through the colorimeter.

Now, as light is passed through the result-

ing solution, some of it is absorbed by the'solution:

the greater

the intensity of the color in the solution, the greater the amount
of light absorbed, and, consequently, the smaller the amount of
light that passes through the solution.

A photocell receives the

light that is transmitted, and the resulting voltage is used to
drive the pen on a slowly

~oving

strip chart recorder.

The pattern

produced is shown in figure 7.
The technologist must now wait for t:le entire pattern to be
completed, then remove the strip

chart~

and calculate the patients'

results by comparing the heights of their respective peaks to the
heights of the standard peaks and interpolating to determine the
individual results.

Each answer is written on the individual log

sheet by the technologist who performed the analysis.

Th~se

re-

suIts are transferred by the technologist to the master log sheet,
and, finally, transferred to the original request sheet by another
technologist.

The results are then punched into cards, to be kept

by the laboratory, and the original request slip is placed in the
patient's chart for the physician's information.

After discharge

from the hospital, the entire chart is sent to the Medical Records
Department.

Here, again, is a series of manual transfers of data

allowing for the possibility of numerous clerical mistakes.

In

fact, it was found that it was in this particular series of transfers that the majority of all laboratory errors occurred.

rr-"
~

"''''!l757r !

w

l

-4Therefore, the IBM Computer (see Figure 8) was introduced to
improve the accuracy and precision of the laboratory tests, to provide greater speed of reporting, and especially, to eliminate as
many of the above-mentioned clerical errors as possible.
Here is the way in which the system operates (use figure 9 as a
flow diagram) :
When the technologist has placed the samples on the autoanalyzer
and has established a steady baseline voltage reading on the pen
recorder, she is ready to begin the sampling.

She sends a signal

to the computer via the 1092 keyboard (see Figure 10) telling the

1800 wh.ich test is being performed (test code:

each laboratory

analysis has been assigned as unique six-digit number), on which

o

autoanalyzer it will be running (device number:

each colorimeter

has been assigned a unique two-digit number), and that it should now
initiate analog input reading on that particular device.

The 1800

maintains a table internally which contains all the device numbers
it is currently sensing.

When the computer receives the "start

analog reading" request from the 1092, it adds that device number
to the table and establishes the direction of the peaks.

Every

few milliseconds, the voltage is sensed on each of the devices
in the table.

An analog to digital converter within the 1800

transforms this voltage signal to a numeric value; this value is
then compared to the value last read from that device.
/).X

If the

is within a certain predetermined small range, we knO\v that we

are very near to a peak value, and we save in another table

o

(which we shall call ROAT (see Figure 11)) all of the values
read from this device until the slope begins to change direction;

w[J"?!!y"!I!Y!!1m:fflf'W."Wiii:;-

-5at this point we know that one of the values Just previously read

rf""""
,
~,
I

was the peak value. 1 Whenever a peak is found for any device, this
series of digital values is placed in the file PEAK (see Figure 12).
This process continues until all of the tests have been entered.

At that time, the technologist returns to the 1092 matrix

keyboard, keys in the test code and device number, and signals
the computer to stop analog input on that particular device.

When

analog input has ceased on all of the devices, indicating that all
devices have completed their analyses, the routine COLAN takes
over; taking each series of digital values in the file PEAK in
turn, it finds the peak within the series, and converts it to a
floating point number.

COLAN sets up a new file, which we shall

call COLOT (see Figure 13) into which it places these values, each
entry representing one peak.
But let us backtrack for a moment to the point at which the
sample and the request were given a laboratory number.

We follow-

ed the fate of the serum sample, now let us follow the request
s lip.

The request slip is taken to the' keypunch operator, who
punches a card for each

~

being performed (see Figure 14).

The

cards for each test are then run through the card reader in the
same order as the serum samples are placed on the autoanalyzer.
The program CRLDI places the information contained on the card
in the disk file PTST (see Figure 15), one record per patient test.
At this point, then, we have a "result" file (COLOr), and
we have a "patient" -file (PTST); now the two must be collated;
this is the Job of the program DLABI.

Taking each test result in

the file COLOT and the corresponding patferit record from the file

o

-6-

o

PTST, it calculates the test results by interpolation against the
standard values, 2 prepares a new record containing the patient
information, test code, and test result, and places this record
in a final disk file labelled FFLE (see Figure 16).

When it has

completed this job, and has emptied both the "patient" file PTST
and the "result ll file COLOT, it calls upon the program DSRT.
DSRT prints the test results for each patient, as in Figure 17.
This printed output is then sent to the patient's chart, eliminating the need for any manual data transfer.
In addition to the printed output, another function of DSRT
is to reorganize the file just written by DLABI by gathering together all the data on any given patient, sorting the patients
by hospital number, then writing these patients with their test

c)

results onto magnetic tape.

If, for instance, John Smith had a

BUN test and a blood gluco~e analysis, he will appear twice in
the final disk file FFLE written by DLABI.

Therefore, DSRT must

now merge the two test results together into John Smith's single
tape record.
We must not forget, of course, about the tests which are not
run by autoanalyzers, e.g., magnesium analyses, lipid determinations, etc.
These, too, must be entered into the computer, but in a different
manner:

patient information, test code, and test result are all

keypunched into a card, one card for every test.

The program DLAB

reads these cards and enters the information into the final disk
file FFLE, where it is ready to be used by DSRT, as outlined above.

o

One step remains, now, and that is the maintenance of the
laboraiory files.

As was shown, a daily file is generated and

recorded on tape.

A master file is also maintained, containing all

--7of the laboratory test results of all patients currently in the hospital.
Obviously, to keep this file current, each day's results must be
added to this master tape file, and the data on patients discharged
must be deleted from this file.

The job of daily additions belongs

to the program DLUPD, which merges the daily tape file with the
master tape file, creating a

~

master tape file in proper numeri-

cal sequence by hospital number.

The job of deletions falls to the

program PURGE, which locates the patient records to be deleted,
prints a complete summary of tests performed on those patients dur~ng their entire hospitalization, and punches cards containing

this same information.

These cards can then be used to create

an historical file containing all laboratory data on all patients
discharged from the medical center.
What improvements, then, have been made by the introduction
of the 1800 computer in the clinical lab6ratory.

First, and

probably most important, is the el imination of many technical
and clerical errors.

Before the arrival of the 1800 it was deter-

mined that the majority of all laboratory errors were the result
of numerous data transfer steps, most of which have been eliminated by the computer.

Our results are now more accurate, more pre-

cise, and - far from a small consideration - more legible!

The speed

with which the entire process can be accomplished is another important factor - more technologist time is 'available, and fewer
clerical hours 'are required, an important monetary consideration.
From the physician's standpoint, aside from the obvious improvement of more accurate, legible results,there is also a decided
advantage to the physician to

s~e

a weekly summary of his patients'

()

III

-8laboratory results, and, upon discharg~; ,thei"r total laboratory
picture in a consol idated form, both of which are now possible.
Of course, as with any innovation, there are numerous obstacles still to be overcome, and many areas in which' improvements
can be made.

We hope, for example, that in the future, labora-

tory requests will be punched into cards directly, at the time
the test is ordered, thus eliminating the ma~ual request slip
altogether.

We hope, also, to develop a system of identifying

a serum specimen directly, .rather than relying upon the order
in which the specimens""are\ana'lyzed~\The:computerization of
other types of clinical laboratory equipment, e.g., coulter
counters, densitometers, spectrophotometers, etc., is also in

o

the near future.

All of these objectives willelimin~tetechnl~

cal and clerical error, and, ultimately, provide improved patfent
care.

After these goa 1s have been rea 1 i ze!ci:, we hope to further

broaden our scope to include computerizatidn of hemato-logy procedures such as differentials, actual on-line monitoring of
post-operative patients, and a complete, central'ized hospital
information system to collect and correlate patient

~ata'

in all

areas of the hospital.
All of this requires the cooperation of the physician, the
laboratory personnel, and the hospital administration.
of it, we feel, is outside the realm of ,possibility.

o

But none

,~ ~!

INDEX OF ILLUSTRATIONS

(1)

Request slip

(2)

Master Log sheet

(3)

Serum rack

(4)

Tech-log sheet

(5)

Autoanalyzer carousel

(6)

Technicon Autoanalyzer

(7)

Strip chart pattern

(8)

IBM 1800 Data Aquisition and Control System.

(9)

Flow chart

(10)

1092 Keyboard

(11)

Raw da ta f i 1e (ROAT)

( 12)

Peak fi 1e (PEAK)

(13)

Peak value file (COLOT)

(14 )

A test card (IBM card)

(15)

Patient file (PTST)

( 16)

Final FIle (FFLE)

(17)

Picture of output

o

c

FIr.lIHE 1
REQUEST S LIP

o

c

o

Fl CtH~E 2
rtASTLn

LO~

SllEET

o

LHlISSVIUd

o
NIH1

--- 3S0Jir:: .-~~\ ~;'~-O{--""""~~'-~"'--I-' ~.
_ . _ -- - . . . : . - - - - - - 1 - -

• 0 N I'WU J

c-

.

0

l!';

...,s,

t-c),

)0
;:t-

-

1-----------_+_-

L
U')

N

~.n

:1'"
a::

~

t-I\t---,

~

FI r.urm 3
SERW·' RACK

c)

o

0

0"

0'

0

0.0

0000000

EACH RACK HOLDS 200 SPECI ~iENS

o

Plf,URE 4
INfHVI DUAL LOG SHEET

o

GLUCOSE
DATE ~ ..

II' le.L

TI~m

GLUCOSE

QUALITY CONTROL POOL

SPEC~#

PT.lI

1.

--L....

2.

-~

3.

--i-

4.

...Ji.

9 B. In·

GLUCOSE

SPEC.#:

-16.
-i7.

--

19.

-21.

7,.

-22.

-

23

8.

25.

11"

--

_,w:c

Cllua~ae

27.

...:.

'-,

........, ..

.~

~-:.~/.

~,

26.

Pll."""C'~~

14.

".

-

0

24.

-~

10.

13.

0

-20.

6.

120

GLUCOSE

18.

5.

9.

PToD

-

28.

~~~;:nre

C

PIf,URE 5
AUTOANALYZER SM1PLER PLATE

'!!o.

.~t---U

o

i(

~==s

AUTOANALYZER cup"

1

', •

FIGURE 6

TECHNICON AUTOANALYZER

----~
.__ ._____ •.• _w___•_______

....rlm...r

··'w:

FIr.UHE 7
STRIP CIART RECORDING
t----

-

-

{

-,:;::: ·,.:::c :~:~ ;.~:: ~"_:<'E:':~~~:::,:,:~c:::>: -::~~:: ~

1

___ .' __. -~- ._-=-~~ ~ ~ ~~_~'~~~._-~~_~~'_-.~~~~~J~= .~~_~=-~~ ~~~.! .:' :-: --~~~- ~i=--~-.-:-.-~~i~~~-·~~~~:~ l~~~:---=--~-~.
•

t

-~~--t:=-_~~-~~~-j. --~--: ~~-_!,: -'-~_-·~:-l·~·:.-~:~~~
.+--.-.-.--.
..__ . ,_ ,- .. -~ ;~.~~-~~. :".,~.<:.~~ '::'~ ~.~~~:.~.;: ~. ~ :- ~'. ~ ~~.'_';_:'" ~.~i.-::. t ~ .i.~ .--·:...-~=f;·;~;.;.--:::'.-...::,:~ ...-~.; :,~:"," ....'::::..-~-;_ '. ~~ ~.::\:; c: ~~.~ :. '-;',.;. :£..,.~,
..

'

=~-':
~~-~·_~~.~~:==~-~~~~·C~~~~--·-j·~=_:~~~~~~·~__ - 1. ___.:.:: _____
..:..:.:.... L .....
I
__ .~ __ ~:.::·~=~t~:~-==:=:=-_J~~~
~-_j'...:...:

I

!

I

.

.-.......... -1- .-"

\..

.

,

....... - - : •• _ .... .,. .......... --! .... .

-- - - - - -.I- ..--_~_~:...-_L·

___ ..:--. __i __ .

=-..-_~; :~~-~-~=-: .-~~~~~-. ;=-_~_-=:=: i= .
--~-.---.-----~ .. ------~--.----,--.. -:. -- ----... :.-----. .:.-.:.:.! ---·--:~l-·
"

. .:.-----

,

----

-~.-

:

---. --

--.+ --------,J

---_. ;--~.----:-=~'.-:: ~~.~~-~=-~~~.=-=~~.--~-.

---._------_.... _--------_._-~~~~:_~_=_ ~-~~h=·.~~~.~~_~~_~~·~- =.-l_

------------------- ... - --_._- .. _.. '----,

.

=~~J·.~
...:._=I:=~~-~~~~j~:=~_ i-~--..:-:--.-__-__ ~--

----- --

-J.

I

-----~--.-.--

"1-.-.----...---

.

-1=---- I~=:':':"':"--

••

..

I
_------

..

--

+~~.-.~~ !--

----- ---.(--f- . t',-_L _

':___ i __ ._ .. _____ ~. __

--- - ----_

~-.

+--.~-.~

------------- ..I ---

__ ._.-

._-

- - - - - -------:-----'-.----;------t-- . - - .. I
.
.,
- . - r ' -.. . .
~

~.-

-+.
-,
'--.:-:r

-- ------l---- -7·----

~J=~

---- --_.---"" .. -----

-.----- .. .'_._._._--_ ... - ------.--- ---- ,

j. -. -.-

.--l------.

-~.-.'--

+-_.

~:-r-

--_._---_..... _--._r----·--- -j---'__._--_._ -- --___ .-' ________ ~r_ _ _ _, __ ._..:..:....:..._1 _______ _
.----_.~.-

!

_ . ___ ~ _ ..______ •• ___________ i-:-. _ _. ___.. __ .~. _.. _. ____ _

----------- - . _._---_. __ ._ .... ------- ~ - - -_._-_. -~ --- -.- - -- .

---·------·--------T-·-----~--·---·

.-- - -.-_ .. _-----

-.. -'

.

_._--

\0

.

~-:~ ~---~ =~-:':~-~---.:..- .! ----=:.--~j~-=-.~-=~- :Q ---~.
~

-. -_ ...... - •.. - - . ' - - - ---. - - - - - . - ~---·---- .... •__-f . - - - - -

#\1
~~

- iI
• SI

_

,

~

I

_ _ _ _ _ _ _ _ __.,.;. __ • _ _ •

.--- ----.---- - -_.• --_ .. -.----.- ------,----.-:-:.---, -------- .-•.. --_._-- --------- .. -

-

- - - - - - - - _ . ; - - - - - - --! _. -

'1

--------~ -

-

•. -

--.---

_. _ _ _ _ _ _ _ .1- _ _ _ _ _ _ _ _ . _ : . _ _ _ _ _ . _ _ _ _ _:. _ _ _ _

,

.- - --

. ; - .--

.. i - .. ---

---!. -' - -'-

:_--:::-~::-:'--. r:-~~--::_:·.r=:_::_·-._::-~-=-; =:~.~-::

--.-.----- :---- ----~---.------..;. .. ------------··-1-·-------:- .-.--._ ... ---- --- .. ! --

.

J-

,

-----_._-------_._-----.
.

.

.-1:=:~
1-

..

-------- .-------- ---_._---------

---_._-_._--- -

--~'---------,

•.• - - " -low
•
,
- - - - - - - - _ .•. _ - - - _ . _ - .... - - -.. - .-._._! - - - -

----,_.

.......

·f· -.

-.:.::~- .

____1.:..=.:..:....::- .:.j_

._ ...:..!.:.=.=__ ~_i.':'

--------_!_----_ ... -

-------_ ...... _--_._--:----------_ i.._-----i ... - - - .
-'--'- - .•.- - ..• -.---- ... - ,-"-- .------ ... _-, ..

-

--_ ... --···-------i--------- -.....-. ---- - :•.. -.------ ....
... -.

-

_ _ _ _ _ _ _ l_ _ _ _ _ _

.. ~--.~ -~--~=-=-=__:~=_ _=_~.~.~===~~L=-_-=.-

_ _ _ _ • __ .

_ 0 ' _ _ _ _ _ _ . _ . _ . _ _ _ _ ...... _ _ _

___ L_...:·...:.:.___ i. ___ . ___ ;

r··-----·

- .,..

;

-.._~j_-=~~~.:.~~L~~

_ _ _ _ • _ _ _ i_. _ _ _ _ . _ _ _ .: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

·.I:::'~··
.

,
i

I

i

-- --_.-_-.-_ 1-- -----

'-

.. _._'

-r~'

-_._------

-. - -

I

I

-;--

----- -

~

-1-:-

f

I

.---.. ---- ---------.- .--.-.--------t----

~.~~~. ~.~~=:: -. ·:~~~:.L=~--

_:.·_L

-j-

,

- -. -i -.~~-~~--:----::--.:-- .~:-::-~::--! -::-:--:-:-:-:.

--------. -{--_ .

-.~.=---":":"-

-----.--~ ..

~-.

_L

-;----! --_..

.

--------;·--··----:-----·---i--:-··-----!--·--

-

--.-l--

-!~.

-- _...... -.----~-.-

_.

-.,.-

-:~
._;--

~=!~~~-~

~ ~ ;~-==.L~ -~--.-- t-~.

--_ .•. ;_---_ ..

_. __ __

~------- -------~.--.-

.:. "---; - -'~--=--=,~--~.- :-'---~.!---

c

-~-

----.--~---

_-L._. ___'_'f _ _ _ _ _ _

M_

----~--.--

.- - - - - - - - - - - - - - - - - . - - - _ . _ . _ - - - _ . _ - - - - , - - _.j - - - ' - ' -

-.~-~ --_. -' ~.-- - ~ -- ----- .~-----~:-.~.-.: -:''-:'''_:
I
,
----- ..I- .
... ---_.
, --------_.,
.--.- -----;---- - -.---.----.-- .. --

--- -+=:~==-~ =i~:_~~~_~~-JiL.
___1__ .. _______

~

'-'.

-_¥_-- . . -- -- _..__ .-; -.-.--- ._----; ._._-----_ . ,.-----.
..
.
-------,---

I

:.:- .~.l-~~~ __ ~~=.;~~~~ -~:=t-:.~

. .•

'

- ----- -----_. __ ._.
-.- ---- - ----,---------j ----_._-!._._--- .-.-~-.- - .----.!~.----.
...

.'
,

.-;

- - - r - - · - - - , - -,-'-----.---

----1~.:.~~~j
.-.-.

----------_._--:
.------.~- --.-.--.---; ..
j
- .- -...

r_
• __
_-'-

_ _ _ _ _ _ J. •• _ _ _ _ _ _ _ _ _ _ _ _ _

... _-_ ..

-_ .... - --_.- •.... -

--,--------

i·-·--- -- i ___..__ ~ __.____ ._ --- ---':'--"-.-'--- _.-----\-:-- -----:.- .-....

~

_! _ _ _ _
•

_.-'.---..--.--~:.---.

~

'--'-- ... -.

,.-.

_-

. .'- ·i·--

::~==lq;=-[;i~~--=c=-~::~~-:l~
..j

-·T-~-~

..

----.-- -------

..',

...

... -=--.;:~~ . .-.. --.~!=-~~=--=~~:;;~;~~~.

.-:---.---.-------;-----~:-.;-:-::-:.-::-::~.--:

_2-----~--· '~f='~'" -~~:=i~_=~_~ ~:~=_~-----:~-~-~.~

-.~=~:~.:.-~~~-~ .~--- --~-.-~-~~------~~~~-:=

.... ____ ...__ ~ _~ _ ___ ~ ____ ._. _._._ .__

:7~~~:=,~~~-_=-:.~~~,~~~~F=~,~~=+~~=¢r:>=~t~r~~f:~ti~~_~I~~:=~=~==-==

FI r,UIU.': B
HH1 1800

IBM 1800 Data Acquisition and

C~trol

C()~·~Ptr.4·;:f<

System

I:. •
.;

~

FICUCE 9
FLOL' DI:'\rl~.'\~'

ADMITTING
OFFICE

PATIENT GIVEN A HOSPITAL NUMBER

1

PATIENT'S

REQUESTS WRITTEN FOR REQUIRED TESTS
SAMPLE DRAWN FROM PATIENT

ROOM

CLINICAL

SAMPLE

LABORATORY

+

REQUEST

CENTRIFUGE

!

~

SERUM

t

+

BLOOD GLUCOSE

FOR: MAGNESIUM

BUN

~

~

KEYPUNCH

CELLS( DISCARDED)

+
BLOOD GLUCOSE REQUEST

I

+

BUN REQUEST

AUTOANALYZER

HAND METHOD

!

RESULTS CALCULATED
BY TECHNOLOGIST

~

RESULTS RECORDED
ON REQUEST

!

KEYPUNCH

~

CARD READER

CARD READER

V

1092 KEYBOARD
DEVICE NUMBER
TEST CODE
"STOP"

ANALZ - PEAK PICKING ROUTINE
USES: RAW DATA FILE(RDAT)
PEAK FILE ( PEAK)

1092 KEYBOARD
DEVICE NUMBER
TEST CODE
II
"START

CRLD-I - KEEP FILE OF PATIENTS
AND REQUESTED TESTS.
USES: PATIENT FILE( PTST)

COLAN - CALCULATES REAL VALUES
USES: PEAK FILE (PEAK)
STANDARD FILE(STDF)
REAL DATA FILE(COLOT)

DLAB -I

DLAB-WRITES PATIENT INFORMATION
AND RESULTS ON DISK FILE
USES: FINAL FILE(FFLE)

I~----------------------V

-

I

ASSOCIATES PATIENT WITH HIS RESULTS. WRITES A
RECORD ON DISK FILE.
USES: PATIENT FILE (PTST)
REAL DATA FILE(COLOT)
FINAL FILE (FFLE)

DSRT - GATHERS TOGETHER ALL TESTS ON EACH PATIENT IN FINAL FILE{ FFLE)
PRINTS LABORATORY REPORTS. PRINTS NU. MERIC LISTS OF PATIENTS
AND THEIR TEST RESULTS. WRITES THESE PATIENTS AND RESULTS INTO
A DAILY MASTER TAPE IN NUMERICAL SEQUENCE

1

DLUPD - MERGES DAILY MASTER TAPE INTO GRAND MASTER TAPE

o

~

PURGE -

DELETES PATIENT FROM GRAND MASTER TAPE UPON HIS DISCHARGE.
PRINTS A COMPLETE LISTING OF ALL TESTS RUN ON HIM DURING
HIS HOSPITALIZATION.

-_:
C
-

-

FIGURE 10
1092 KEYBOARD DEVICE

. .

'.~ ....,

.•.. ....
'

.• - .

,.~." '..:'

~

.

.-.

",

.'"

.

@ @
"@"
@\ @\

\

I

@'

@

G" .

\
\

\

@) @;

@l
@' @)
@\ @
@ @
@ Q'\
@~

\

@",

@\ @'
@')" @!

@\ @,
@\ @'
""@1 @,
I,g

"',

-~~~

c

@>

@' G'\ @ >@
@~

"

@

Flr.URE 11
FILE: RIJAT

tI)

t,;

z

......

o
<
..u
~

U.J

t,;.

~

..., _....___, . . , _..........-:r__..""'
__
'~.....IItIrlI...._··-....l"
_ .....""
" ..........
"""_
.._ _.,..,
.. _ _ _ _,.._ _ _ _ _" ' -_ _...
,.

C

:>
~

~
.....
c.;
......

.~

_.. ..._-_.- .......
~

Q
,-,.... ,.

. . . ---'I---.. . . . . ..-...

~

f·

t-.........-i.i

c

(

PI(;UPE 12
FI LL:

PE.I\I\

.
-S
"..

H

~.
C

r~==:-"~-~- _l_~,tL '"iJr~~:~[~:u=[~~/t~l::~1
:.r

~ ~1--illll622L

,/. -

:um:1~~'

____~_~__~._~~._-~~_q~:[l~~~~'

~~:::::

FIr.UP.E 13.

FILE:

COLOT

v:

~

:::
~

;;

·l"'Y·'.~.4'':'-'''''·'''''~·''''·''''""''','''''',''''''h''''''~'''''~''·'''·':;·''''''''''''-·.,...".•"::.-..,......, •••.<:.... ,.,~.......,....,,":"-~..-

=.------ -7> .

...

~----~---~~ ~--~----~-----

_._-------+--_.p...-

10------.......---- ,. .

.

__

. - - '['- ".' _r-·
-,~-- -.-_,-~

-~,----,-.--

-------,

._-

--

-

--~

f.--~-. ~.
._!.~~-__~~
.~
~_/

.~

c

PIGUHE 14
TEST CARD

c·
0::

~

UJ

C

S
...:..

E-<

~

::>

t/)

~

%

-<
f-4

Z
foot
Z

t...

t-4

..J

.....

",.,~

C

Z

cr.:

IJJ

0

Q

-

~
0..

1002854

SMITH JOHN

V)

•

.0
...J
U.

~-,

t:;

0
..J

0

~

aL!J
~

L
~~ ~ ;. 0 0 0 0 0 0 2 0 0 . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

E-<

U

<
tt.
(.lJ

Z

0
C

0

.....

u

~

V)

t-4

~

!;

f-

0

0 0: 0 0 0

8

-"-

<.(

.-,.
"'~

foot

V>
CJ

~

. 0 0 0 0 0 0 . 0 0 . 0 0 0 0 0 0 0 0 0 0 0 0 boo

I 2 l C 5 I 1 • , 10 II t7 13'14 IS II 17 11 " 2021 222324 252611 282930 31 323334 353531 33 J3 40 41 41 4344 4546.' 4S H 50" 525354555651 5a 59 60 ~I 626364 65 65 61 &8 69 70 11 12 13 14 15 76 71 '.73.0

111111 I I 1111111. 111 I 111111111111111111111111 I 1 111111 t 1 111 111 111 I 111 I 1 I 11 I I 11111 I

222J22222 .22222222222222222222222212222

222~22122'2212222222222 :222222222222221

. 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 JJ 3 3 3 j 3 : 3 : 3 3 3 3 3 3 3 3 3 3 3 3 J J 3 3 3

'44444( 444' 44444444444444444444444444444444444444444444444444 '444444444444444444

55555:'555555555555 55555~55555~55S5 55555555~S55S5555555555555555 .55555555555555
6G6666GG66666GG6

66666666&666t66&6

666666666666&6

GGGG66GGGGGG6

'6G6&&66GG&S~6GG

1777711171117111711171111111771177177117111'77117717171 17111.17717171177171117111

o

8888: 8 a 88888

a a 8.

99999999999

999999999999999999999999999999999999999999999999999

88

a 8 8 8888888888888888888888888888 B8 8 8 8 8 8 8 a 8 Be 8 8 8 8 a8 8 8 8 8 8 8 8 8 8 & 8
5999999999999999

1 2 3 • S I , • , 10 II 11 13 ... 15 " 11 13 " 21171 n 1H05 167111 19 JO " '21J3f 35 3S n II 3HO '''7 flU 45 (C H'.'1!l 51 52535' 5,565153 SHJ GI 62 SH' <;5 ,561 £16' 7Q 71 1] I) 11 7575 n "
"'-_ _......:[;;;;;.iT_
...-;;;;;"ii]iJ]_!"
......_ _ _ _ _ _ _ _ _ _ _ _ _ _ _"......"7'r."l<'......._~ _ _ _.......,...,:-..,.~~•.,.."....""'"~.":.~~,......._ _ _ _ __

l~ !\l

FI~URE

IS

FILE:

PTST

o

z
c

.

~

~

Z

<:
Z

0

~

<
Z

:2
E-

E-o
...,.

E-<

E-

c..

t-4

"-

c

tl)

V:.:..l

;.:...l

E-<

E-o

"

.

0 0 () 0_,

..

""
t:J

.....

~

C/:

£

Co.

u

...:I

t:

1'--.

t.:..:
H

.~

c...

.~~

J.Q.QillL- ·..J.U..J:i.Llll·O:Z.~!U - L.6..3 _~_~~ ...LLJ'.JJl.P.2#-:J.,6.- 2A ;;

.~

-.

c
;.:..:l
Q

~

t-4

E-o

en
t-4
c..:;

c...:I
C

2S

(3
;.:J

E-

C
E-o

f--

'-=-

E-o

z0

0

u
<

tI)

t.:J
~

t-4

t:

::J
t-4

C

CI)

t-

H

!3
'-"'-~'"

C)

j

~J,lO •• _ • ~D.6..2~~""-+.J1'. 'O-, :,~, ·l...i\!~~o.;;l0,.:,''''·''''-~''''''~''

V

c

pm·

wrwnTi!?IlW

FIGURE 16
FILE: FrLE

c

o

o

FI~URE

17

PRINTED OUTPUT

_ _ . _ _ .. _

..... r

_ - " _ . ._

•• _

.• _ _ _ _ . . .

_

......

_ _ _. . ._

_

•• _ . . . . . . . . . .

_.~

_

. . __

.~_ _' - .

~

._""~

__ •

_ . __ • __

............._ _ . . . _ _ _ . _ . . . . . . . . ~

. _ . . . ._ _ . . . . . . . . _

.... _ _ ........ :-

_

. . . . " .. . . . _ .... _ _ _

___

.....

,; ___ . _ ,

_ . _ _ _ . . ..- .... _

•• _ _ " ' _ . - . : .

11.6 hRS

Sf·lI T H.. _JCJ H1'I ..
. RUf'!.

(} G o:::i ~.<~

_~._

' .•

i··ii<;/l OO:-iL

o DO :.:. EO. :-1

SL GLUe

0003 c.::)

r'·lAGNES I

U~.1

._~"'._

--4 . - - - -.. - ..... -. ,;..

o

.03/11/6!:')
J /\:-1

f'i ,G/1 00 "':L

.f\!>~H

i"iG/ 1 OOf/,L

BRL

P l\ T H 1"1 L () GIS T

..

...~~-·".r.;..."f"""~~lr__ ~ ..'1-t~~..;:.:..·ra..:-;...~...:~:~··" ...~~:.e~-._ :t'~~~-;.;~".:...~;;:,.,;;.;...;~~-~~~~~~,-:v.......-..._~{..............--·:;rr""":"T.'If't~..,.,..-, ....... t1W'...... ~-~~~ ...-:~~....
·• ....
~_ _ _~ _ _ _

- - " - - . , - - - - ..... -

---.~

..

--.------------~.---.-----

... - - - - - - -_ _ _ _ _ .-_ _ ... _ _ .ar

roo-~

.. _' ....... w _ _ _ _ _ ... _ _ _ _ _ _·::.... _ _ _ _ _ .......... _ ...·"""'''».... .,. .....

........ _.4!'J;_'''" ... ·: • • _

.;....,,_~_

....... _ _

11.6 HRS
r-:iG/100;\1L

it.6'HRS

092: 6:"i L,: ...•. / ~:~~i:KE LL'V>'--SHA F'(O N'

0926S
09265 L!.
L!-

........ ..;, ....... '>,....-,. ............"-o.l .....

20

BUN

~

... /!. _ _ _ _ _

.~

- --"" ._.- -- ....

........ _ - . . . . •. ,..,...., .. .,...-.,.,.... ............._ _ •. ~ _ _..~..· · _......... 'l~I~_(..... ,..... _ _ _ ........ _

c/\pnf_

SL GLUe

r';iG/100t,lL'
i":IG/1 0 or··IL

.......,.....~. . . . . . - . . . - _ . _ _ _ _ . ' " ••1W"..-~.~

__

~~~,

II.A HRS

F8
103

r·;G/I00ilL

03/11j6~:

JAH

...._ _ _ _ __

03/1 1 /

f) Pi.

" ...

i'JRH

c
d'f t.J.,
..•
~.'

FIGURE 17 CO:\TINUEfJ
PRINTED OUTPUT

Otl.? 0

~)

L I 1\1 f) S F Y

fJ (J

/\ P ': /I ~ l\

o I~ ~~ 0 t':l ,:1
(: Ii· r.~

0 (, ;1

. UR I

o ll· 2 () 6 (~
Ol~2

UF~

Oi',.s

C{:·2D(-,n

'tF~

-

O~~.2, ~~~; "

i'jj'..

\., [3C

?+
20-30

-

.

.

iJ3/11/(1P

SUL r=nS!:..L

l-\C I r)

/HPF
/HPF

10-15
8AR~

HYALrN~ CAST
FE~8UDDI~GYEAST

CAS.TS ..

o£,· 2o::..~.::>

~

:~:,

'PH UI'J 1 TS
C U ;" ~ F.: 1ST I X

l' . p~: nT,

UR I

H :-!

G j'.; / 1 00 r·o, L

L YS

GLUe
R~3C

11 •6

15.A

p:~

I

Uf.--~

Ol~2068

\l •• __

I

URI

Ol;.':;:: G6 ~)_

'.

FE)

h Ei': [] c.; L (:H

SEEN'

.

- _ .

;~- i'""'·· r.-',,·.,;,·.}.~,-:~ ; ......,: -~-:..ro~'''''''':r,....~'':''' """,:.,;",,,;~."'r::"'''''-;~:='''''"l'C;O-;'''<>.,r..:~q.-:-;.,_-v-,...... '':'...~.,,,,.,.-._._~ __ .... "......_ _ _ .. __........ ~....::..::.2~J:~C! L_[i (:, 1~~~,_. ____.__.____
:

.

____ .. Q_Q 2 l\ 03
f<:/062 i~ 0 3·
_. __~Q624Q3... · _
062403
06c L!.03
'06~403

. 06~L[.03
062 LL 03

_.Q 6 2

~~

O:j

.

,'-----1

11.6

.. F L~

19
. 302
Pf-: C rf':,f

I\!

CJ F

SPUTU\'

c (] ;\.1 T /\ I

Hr· H

JCL
f.. U R E U S C lJ ,:\ G

P

r-)

S

l<.f::rLI N

s

K;-\f'-lAi···IYC! i··1

S TAP H C ILL If":

E

OXACC ILL Ij\l

P E 1"'! 1 elL L I 1'·1
p. U L Y C ILL I i'i

OXYTETRACYCL

S

CHLOP,l\ j.iPHE ;'J I

EF:;.. . very large amounts of data to be generated and plotted without exceeding disk capacity. These additional
programs and subroutines are discussed in later sections of the
paper.

C)

c

Throughout the paper comments are made as to future mod.ifications and additions to the package that are planned or desirable.
Some of these modifications will requi~e alteration of IBM 1130
systems programs or subroutines.

2

I. INTRODUCTION
Aeronautical Research Associates of Princeton~ Inc., is a
small indepe:1cJent re3earch and consulting company engaged primarily
in government sponsored research in various areas of aeronautical
sciences. To proviae computational facilities, ARAP has had some
form of computer system since 1958. In June }-966, an IBM 1130 computer system (with a 1442 card read/punch, and 1132 line printer,
8K of core and disk) was installed to handle increased computational
requirements. After the system had been operational for almost a
year, company management (i.e., the president) was finally convinced
that an on-line plotter 't'J'ould' be a worthwhile investment even though
it represented a car':..tal expe~be (small companies rarely have much
free capital) . Accordingly, =_n September 1967, a Benson-Lehner
Model 105 digital incremental plotter was added to the system.
One of the argurrients that was used to convince management
was the availability of very extensive, IBM supplied, software
support for such a plotter in the form of the Data Presentation
System (DPS). Unfortunately it quickly became clear that DPS had
a number of drawbacks, in particular:

1)

DPS disk file structure is incompatible with FORTRAN disk I/O.
Thus, a program generating data to be plotted via DPS would either
have to punch cards (to later be read via DPS) or use the DPS disk
I/O routines. The latter solution would have required extensive
modifications to existing programs, would result in reduced core
availability, and, worst of all, would prevent the use of LOCAL/
SOCAL's (an essential facility for most programs we run on the
IBM 1130).
2)
Even a minimal version of DPS requires at least 400 sectors
on a disk cartridge. As we are unable to spare this much space
on our master disk cartridge, extensive cartridge changing would
have been required. The time wasted in changing cartridges would
be prohibitive.

()

3

C:

3)
Use of DPS is not easy. Many of the users are engineers who,
while competent, are unwilling to spend a numter of hours learning
a completel~r r.e~q :"er..i:S"I.J.ge (j~~Rt to produce fairly st!'aightforward
plots.

4)

While considerable effort has been made in DPS to reduce wasted
(i.e., non-productive) computer time, the amount of time DPS requires for a typical plot is excessively large.
5)
The current version of DPS is completely incompatible with
the IBM 1130 Disk Monitor, Version 2. Since the new version offers
a number of desirable features, we plan to start operating with the
new version as our standard version as soon as Modification Level 1
has been installed (as delivered the new version has a large number
of "bugs", mostly minor) •

It was therefore clear that DPS would not provide the necessary
software support for our new plotter. In order to start plotting,
a few users decided to use the IBM supplied plotting routines
designed for use with FORTRAN. These users soon discovered a new
set of problems. When they tried to make plotting a part of their
main program, they found themselves short on core space. In addition, the FORTRAN routines will not operate properly when SOCAL's
are required. Thus, most of these initial users were forced to
either abandon their efforts or output their plottable data on the
disk and then write another main progrrun to do plotting exclusively.
This latter approach caused a considerable amount of duplicated
effort. In addition, the FORTRAN plotting routines require an extensive amount of programming in order to produce an acceptable
graph complete with labels and titles. In fact, most of those
attempting to use the FORTRAN plotting routines required at least
three (and often as many as ten) recompilations before their plot
was acceptable.
Thus it was decided to develop a reasonable general plotting
program designed to operate within a disk file containing data to
be plotted. A number of users were queried as to their desires

4
insofar as program capabilities were concerned. From this discussion
evolved a basic set of requirements. The program described below
was developed around these requirements, sane of which were spec1ficr3.lly oriented to\';ards two very large and important programs
that have between them accounted for more than 50% of the IBM 1130
usage. During development, additional features were added whenever
it was obvious that such features were desirable and easy to accomodate within the basic design framework. Needless to say, a number
of additional modifications are currently contemplated as a result
of extensive experience with the program.
This small, but rather general, plotting program has proved
exceptionally useful over the past three months it has been in use,
despite a rather rigorous format and certain restrictions. As
stated above, the program was developed 'primarily to satisfy the
somewhat specific requirements of two large programs. Nevertheless,
essentially every user has by now made use of the program at least
once and most of them now make a habit of incorporating a plott&ble
output file (i.e., a file in ASPP format) in all new programs.
Because of the availability of the ASPP plotting program, a
number of supporting programs have been developed. One set of such
programs is designed to input (from cards) one-or two-dimensional
tables and to output a file which is plottable,as well usable as
a table file in some ?ther program. If these programs are used
consistently to create all tabular data flles, then the result 1s
that, as a byproduct, all input tables to any program can be plotted
if and when the user desires.
A second set of programs and subroutines arose from the desire
to maintain a single disk cartridge operation. The two large
programs mentioned above are both capable of producing very large
amounts of plottable output during runs which may exceed 50 hours.
In particular, one of these programs produced data at 1800 points
(25 variables per point). A disk file of at least 140 sectors would
have been needed to contain this data and, since the run was broken

c·

5

c)

(
,

'",'",
y

into short segments with a total period of two weeks, this large
file would have had to reside on the disk for at least two weeks,
an intolerable situation with regard to our master disk cartridge.
In addition, since the run took a total of 50 hours of computer
time to produce the data, it was highly desirable to retain the
plottable data on punched cards in case replots were needed at a
later date.
To satisfy these requirements (as well as others) a set of
programs and subroutines was developed to read and punch binary
cards, each card containing a checksum, indicators, up to twentyfive two-word floating point (or integer) variables and card identification. These programs permitted the punching of a plot output file whenever it filled up, combining the decks from each segment,and reading selected varlables onto the disk for plotting.
In the problem described above, 1800 cards were sufficient to
contain all the data and at no time were more than 30 sectors
permanently allocated on the disk (if it had been necessary, even
fewer sectors would have been required).
It is reasonable to expect that in the future, other programs
will be written to support the basic plotting package. We believe
that this open-ended approach will always require much less disk
space than that needed by DPS. Already the system provides a
number of features not available under DPS. As a final remark,
it should be noted that the comp'lete set of subroutines for the
basic plotting program requires less than 33 sectors of disk space.
Even with all of the support progra~ms described above, it is unlikely that the requirements exceed 60 sectors.

o

The following sections describe in somewhat more detail (although insufficient detail for actual.use) each of the programs and
general purpose subroutines incorporated in the overall system as
currently implemented. In addition, coraments are frequently made
in the discussion concerning desirable and/or planned modifications
to the existing modules.

6
II. ASPP - ARAP SPECIAL PLOTTING PROGRAM
This section describes in some detail the features of the
ARAP plotting program. An interested user should read the detailed
reference m.anual for full instructions on use of this program.
In order to enable the potentia.l user to determine whether this
program is at all suitable, the restrictions on the use ot the
program are stated below:
1)
ASPP uses a special version of PAPTZ to pro'vide a FORTRAN
reread faCility (see III.A.); therefore, any FORTRAN program
stored on the same disk as AS~P must not use FORTRAN paper-tape
I/O. This restriction will be removed when we are able to modify
SFIO to incorporate the necessary reread facility within SFIO
itself (using unit 0).
2)
As currently implemented, ASPP can provide only linear (as
opposed to log or log-log or monthly, etc.) plots. This fact has
not yet caused problems, but there are plans to add log scales in
the near future (the primary limitation now is core space). Also
the program is incapable of providing multiple scales, reference
grids, or any other "special effects". Some of these can now be
accomplished via an appropriate data file and some may be added.
to the program, but most will not. The program is designed to be
used by the average engineer without extensive training.
As is the case with DPS, data files to be plotted via ASPP
may contain two-word floating point (real) variables only (i.e.,
extended preCision cannot be used). If necessary, it is quite
easy to write a combination FORTRAN/ASM program to convert a file
containing extended precision numbers to standard precision; we
have not yet needed such a program. In addition, all plot data
values must be of type real (certain integers are, however, used
as indicators). Programs may use one-word integers if some care is
taken in creating the plottable data file.
3)

7
These are the most serious limitations of ASPP; others, less
sign1ficant , will become obvious belovl.
A.

o

Plottable Data File Structure

Since all comunication (of data to be plotted) between the
user's program and ASPP is accomplished via the data file on the
disk, it is important to note the structure of this file. The file
must be defined in the user's program as a two-word-per-record file
with a maximum of 32,000 records in the file (200 sectors). The firsi
record of the file must contain the number of variables (NV) per
"bloCk" in the file. This number must be between 1 and 25 inclusive and is stored as an integer in the first word of the record.
The next NV records in the file must contain the Itnamesll of each
of the variables in a "block ". These Itnames " are used for communicat1onpurposes only so that the user need not specify to ASPP the
position of a desired variable within a block; he merely specifies
the "name" .. Each "narne ll consists of 1-4 characters as read into
areal varia.ble us1ng A4 format (or the DATA statement 1n Version 2
can be used).
Following the file header are a series of data blocks, each
consisting of NV records. The order of the variables in each data
block must be the same as the order of the "names" in the header.
If the first word of the first record in a data block is the integer 1 or the integer 2 (easily distinguishable from a floating point
number), 1t indicates that the record is a control record. The
integer 1 signifies the end of data on the file and must be present
somewhere in the file. The integer 2 is used to indicate a curve
break; i.e., during plotting, the pen is lifted when this record
is sensed and set down again at the next specified point in the
f11e. If the record contains the int~ger 2, the record is skipped
and the next data block is assumed to start with the next record
after the curve-break-indicator record. Note again that integers
should not appear within data blocks and that a data block starting
with any other integer than 1 or 2 is assumed to be valid data; very
clearly undesirable plots will result in either case.

====''',. =4,,",&=1£;;'0 itA:

.; .9hk4&&4fhW,,, ;tP4hh .M ,4 q

: ;

__ ......¥AM.

44#2.4$#i~

8
The file structure described above is assumed by all programs
within the system. All programs check the validity of NV andindicate an error.if it is not between 1 and 25 inclusive. All programs also expect an end-of-data-lndicator record. Because data
files may be of variable length (each program assumes the maximum
of 32,000 words and allows the loader to truncate the size for
smaller files), SDFIO will indicate a FIOl error if the end-of-dataindicator record cannot be found in the proper place (a~ the first
record of a data block). All plotting systems programs are written
in such a way that this record may be the last record in the file.
B.

Plot Specification

Plot specification is accomplished by a somewhat arbitrary
mixture of scale specification cards and· plot specification cards
(i.e., the program reads each card in A4 format, determines whether
the card is a scale or plot specification card, and then 'rereads"
the card using a format appropriate to the card; however, each scale
card for any variable specified on a plot card must have appeared
before the plot card) •

{)

A scale specification card specifies the "name" of the variable
to be scaled (the "name" must agree with one of those in the data
file header), the scale textual label, special scale indication
(whether the scale should be drawn at its normal position or zero
of the opposite scale, and whether a reference line should be drawn
at zero of this scale (with or without tickmarks every inch) parallel to the opposite scale), scale delta (= no. user units/inch)
indication (whether the scale delta is specified on this card or
is to be computed by ASPP from the data or is that specified in
a previous card for some other variable)" scale minimum indication
(same options as for scale delta), length ot this scale in inches,
scale delta or "name fI of variable providing scale delta (unless
automatic scale delta specified), scale minimum data value or
"name" of variable providing scale minimum (unless automatic scale
'·~''

C
,

9

4:;1

minimum specified), and linear transformation parameters (any
variable may be transformed from x to Xl = ax + b where a,b are
specified on this card).
The plot specification card specifies the "names" of the X(abscissa) variable and Y(ordinate) variable, type of plot indication
(point, linear, or uquadratic" smoothing between points), overlay
plot indication (whether this plot is an overlay and whether next
plot is to be an overlay), tagging specification (tag character and
no. of data points between tags), and plot textual title (one or
two lines of text).

o

The input progrrun makes very extensive checks on the validity
of the input specification data, printing an explicit error message
as well as the card image for each error encountered. The program
attempts to find as many errors as possible on each card. If a
specification card is in error, the program ignores it and goes on
to the next. At the end of specification input, the user has the
option of making those plots which w'ere specification-error-free
or of reinputting all specification cards (after corrections have
been made). The input program also provides the user (if he so
desires) with a list of the maximum and minimum values of each
variable in his data file and prints a warning message for any
scale card specifying scaling such that data points will be offscale; however, such an occurrence is not considered an error.

c.

o

ASPP Capabilities and Plot Features

In order to fit the program into core,ASPP is divided into
two links, ASPPI, which reads the specifications cards and outputs
a specifications file and ASPPP, which does all of the actual plotting. While the loading time of ASPP:}: is annoying, the load'ing time
of ASPPP provides the user with just a.bout enough time to ready the
plotter-· and insert the pen. In any case, the two loads are only required onc'e· for a whole series of plots (a typical 8 sector specification file can accomodate specif1c~t~ons for 25 scales and 24 plots)
This mode of operation

10

also allows the user to just reexecute ASPPP if he desires multiple
copies of plots or if there is a mechanical plotter failure during
plotting.
As shculd be obvious from the cescription of specifications
cards above, plots produced by ASPP have a rather rigorous format
which is described below. Nevertheless, a number of features of a
plot can be altered (see D.); nominal values for all variable
elements are given below.
1)
The X{abscissa) scale is drawn from the initial pen position
parallel to the edge of the paper. Scale annotation and label are
drawn to the right of the scale. Tick marks are provided every
inch. One-half inch is needed tor annotation and label.
2)
The Y{ordinate) scale is drawn fro~ the initial pen position
perpendicular to the edge ot the paper. Scale annota.t1on and label
are drawn to the left of the scale (i.e., outside the plotting
area) with the annotation paralleltb the X scale and the label
parallel to the Y scale. Annota.tion and label take up 1-1/4" to
the left of the scale. Tick marks are provided every inch.
The plot title is drawn such that the bottom of the last line
of text is parallel to the X scale arid. 8.5" from the initial pen
position.
3)

At the end of a plot (incluc1ing any overlay cur,,~es) the pen
is pOSitioned 411 beyond the end of the X scale and at the same Y
position as the initial pen position.
4)

The size of the scale annotation characters is .12", the scale
label characters .18"" and the title characters .24". The routines
used provide eye-pleasing variable character Widths. Each text
field (the longest line of the title) is. centered automatically on
the appropriate scale.
5)

Tags are plotted so as not to inte'rfere with the curve (except
that a special cross-hairs tag may bElspec1.f1ed through which the
curve passes).

6)

c

11

()

When using "qua.dratic" interpolation bet\'~~een data paints, the
program actually plots a series of straight line se~~ents approximately .10 u in length.
7)

The pr':>gram auto:natically inhitits any plotting outsj,de the
plot region (the recta..lJ.gle "formed" 1J,} tte X, Y scales). The pen
is lifted before the curve goes off-s~a:e and is set down again
when the curve comes back on-scale.
8)

9)

Points closer than .01" are not plotted.

10) Switches are used to specify Itinunediate fl termination of current
plot and setup for next plot, suppression of plot title, and suppression of sca.le i:'lformation plotting.

o

11) ASPPP uses a modified version of the DPS UP,DOWN and DRAW for
plotting. Versions can be supplied to work with either a .Ollt step
or .005" step plotter. If the latter version is used, line start
and end can only be spec1f'j.ed to the neares·t 1/100", but line seg...
ment plotting 1s done to an accuracy of .005" (:!-.e., the routine
takes advantage of the finer step size to provide a more pleasing
line) •
12) If autoscale delta is specified, ASPPI se:. . ects a delta which
is 1, 2, or 5 times e,n appropriate power of ten.

13)

If' autoscale minimum is specified., ASPPI selects a minimum

which is an integral multiple of the scale delta and which is such
as to cause approximate centering of the curve on the plot region.
D.

o

ASPP BasiC

Paran~ter

Modification

ASPP was deSigned to require the user to specify only those
quantities he would be most lil;:ely to want to vary from plot to
plot. However, wherever possible, other "fixed" paremeters were
treated as variables input tram a basic p~ra.meter file which is
set up by another program in the system. Thus, a number of the
quantities given above can actually be changed if the user desires.

12

The parameters t11at can be easily altered to suit individual·
requirements are: ori~in, rotation, subdivision (tick mark) interval, 8,nd text rotation for X or Y scale; shortest distance allowed
between points (points closer than this are ignored); size of space
allowed for tag; X or Y di;3placement from appropriate scale for
X or Y scale lab8l; rotation of X or Y scale label; rotation of
plot tttle; scale label X- or Y- font SiZ9; plot title X- or Yfont size; tag chara2ter X- or Y- font size.; X or Y scale maximum
length (for checking purposes); Y displacement of plot title from
X scale; Y displacement per line of plot title text; maximum number
of lines allowed in plot title; char3.cter used to denote special
cross-hairs tag; up to twenty autoscale values (currently 1, 2, 5,
19); any character used to denote special action (e.g., P in column
1 currently denotes plot specification card and S scale specification card; these could be changed to U and V if so desired).
One parameter that is fixed by the DPS routine used to draw
scale annotation is the size of the annotation characters; both
x- and Y- font size must be .12". In addition, annotation is provided at intervals of no less than lit regardless of what the subdivision interval happens to be.
E•

Possible ASPP PI'obram Modificat:"ons

Some of the possible luodifications listed below are definitely
planned; others are desirable b'llt would involve extensive programming
and are thus not currently anticipated. The" order of the modifications listed below is of no consequence.

1)

Replace the scale annotation routine (ANOTS from DPS) with
one that provides a fixed number of digits after the decimal point
for each annotation value.
2)

Add the ability to specify a scale as logarithmic.

3)
Provide for text specifications cards (optional) which could
place specified text of specified X- and Y- font size and specified
rotation anywhere within the plot region. Two types would be pro-

C

13

(~:~

vided, one of which would ~ause text to be placed on every plot until a new specificati~n is encountered, the ot:ber which would only
apply to the most recent plot card processed.
Provide for user prog,.L"aIll-generated, plottable, text input,
probably in the form ')f an additional (optimal) input file to ASPP.
A spec~tfication card might be added to select a specific text field
for p2.otting on the most recent plot.
4)

Add two new types of plot, one for linear Y interpolation,
quadratic X interpolation ru1d the other for linear X interpolation,
quadratic Y interpolation. The present system of quadratic interpolation provides some rather peculiar curves for sparse data, especially when one of the variables 1s known to be monotonic (such
as time).
5)

Provide automatic tag update whenever a curve break is encountered in the data file.
6)

It is inevitable that any user of the system would suggest a
number of desirable additions. Howe'ver , it is important to keep
the original design objective in mind, that of providing an easy
to use plotting system requiring small amounts of disk space and
designed primarily for plotting program-generated data for engineering uses. Again, we do believe that the current program satisfies these objectives very well.

o

-----------------------

----..-----.-.------------~---

14
III. GENERAL PURPOSE SUBr"'10UTlNES IN ASPP

tr''';<.,
~~.

Hhere feasible, routines developed for ASP:? were designed to
be of g2neral use. Those that may be useful are described briefly
below.
A.

FORTRAN Reread Facility.

Once the basic specifications for ASPP had been settled, we
found it necessary to provide the capability of rereading the same
card with a different format. Since we do not have paper tape,
this feature was added partly by replacing PAPTZ with our own special
version. Whenever SlOBF is called in a FORTRAN program, it saves
in a special area the current contents of the FORTRAN I/O buffer.
Whenever unit 4 (paper tape) is used in a READ statement, the special PAPTZ transfers the current contents of the special buffer to
the FORTRAN I/O buffer. SFIO proceeds as though a new "card" had
just been read. A WRITE to unit 4 causes no I/O action and thus
is an easy means of suppressing debug output. It can also be used
to write information to the buffer in one format and read itw1th a
different format with no actual I/O taking place.
B.

BUFDR, BUFDW, BUFCL - Buffered Disle I/O

As any IBM 1130 user quickly discovers, FORTRAN disk I/O is
notoriously inefficient. ThUS, this multiple entry point routine
was added.
BUFDR and BUFDW work with a l61-word (real) buffer,
up to one for each file being referenced. BUFDR "readS" a number
of words (2-word variables; will not work with one-word-integers)
from the disk, executing a disk read only if the data required is
not in the specified buffer. BUFDW "writes" a number of words,
executing a disk write only if the record to be written is not
contained in the specified buffer. In addition, BUFDW sets a flag
indicating buffer contents modified so that the buffer will be
written out if a new sector is read from the disk. BUFCL is used to
force output if the specified buffer has been modified.

c

15
These routines \'Jil1 p:."obably be~ollle obsole te once we have re;.2.aced FORTRAN disl~ I/O (SDF!O) with a slightly modified versj.on
,. Jhich -:'rill execute a d.isk ~0ad only if the nec€'38ary information·
1.:3 no"~ contained in t.ne EE>2·:.or in its buffer and wj.ll provide overlap with computation;t\fl!en 'I\('~iting on the disk.

c.

:Modified Version of Dr3 UP,DOWN,DRAW

We have modified this DPS routine by add~ng a new entry point,
SPLTB, which is used to set up a specified length buffer for the
routine. Thereafter,calls to any of the entries, UP, DOWN or DRAW,
cause the command to be inserted in the buffer if tr..e r01.~_tine is
busy. Thus, only if the buffer is full, will the routine wait
until the previous operation is complete. 1~e have found that this
modification can significantly increase plotting speed for certain
applications.

C

In addition, we have discovered a simple way to modify the
routine so as to support a .005" step plotter such as we have.
D.

CHTST - Character Test Routine

Since we decided to use a number of DPS subroutines with
ASPP, and since ASPP uses variable width characters, we were forced
to write a routine to compute the length of a text field. ThUS,
this routine scans a vector of text (as read in using A4 format),
determines if ~~y invalid characters are present, determines if an
end-of-text delimiter is present, determines the number of lines
in the text vector and the length of the longest line in DPS
"X-units II •
Some of these subroutines have found extensive use in other
segments of our plotting system; some·have only been used in ASPP
at this point.

o

,c ......_.....,._, ..................". . . . . _...__.". "

16
IV. TABUL.AR INpiJT/OUTPUT FOR USE WITH ASPP

This section describe~ a number of programs and a subroutine
designed to work with ASPP structured data files. The purpose of
the program is to input tabular data for use with a user's program,
but in such a format that the file is immediately plottable vi,a
ASPP. In addition, the header on the file provides a user with the
means for verifying in his program that the correct file has been
specified on the FILES card.
A.

PLTBI - Plottable Tabular Input

This program provides the' facility to read in data cards
containing up to 14 dependent variables and 1 independent variable.
The program makes up an ASPP-compatible file which may also be
accessed by a user's program. It the first input card (specifying
total number of variable s and variable "names ") is blank" the,.C\\Trent contents of the d.ata file are printed with appropriate page .
headings containing the "names" of the variables.
,;

B.

TDTBI - Two-Dimensional Tabular Input

This program provides the facility to read in data cards eontaining up to 8 dependent variables defined at intersections of
2 independent variables. The file created by the program is not
directly plottable, but 1s useable with PLTDT and SRDTB (below).
If the first input card is blank (specifying number of dependent
variables, number of paints of second independent variable, and
"names" of' all variable s), the current contents ot the file are
printed with appropriate page headings.

c.

PLTDT - Plottable Two-Dimensional Tabular Data

This program reads an input tile produced by TDT!I and produce$
an output file that is plottable via ASPP. The plottable tile
contains a number ot segments separated by a curve-break-11'ld1ca,tor

c

17

o

record, one segment for eB.:::h value of the first indep endent variable.
Each segment specifies a r.umber of curves versus the second independent variable, one for each dependent variable. Thus~ ASPP will
automatically produce for ea.ch plot a family of curves, one curve
for each value of the first independent variable in the original
file. It is up to the user to label the curves on the plot with
the appropriate values of the first independent variable.
D.

()

SRDTB - Search Disit Tabular Data File

This subroutine is designed to locate a specific data block
within an ASPP-compatible data file (or a file produced by TDTBI).
The first variable of each data block is assumed to be the independent variable. The subroutine will search forwards or backwards
from the current position as necessary and will call a specified
error subroutine with a specified integer error number as the
parameter 1f it cannot bracket the input value with two data blocks
contained in the data file (i.e., between the header and the endof-data indicator record). A data file used with SRDTB cannot contain curve-break-indicator records. Output of the subroutine 1s the
two data blocks bracketing the input value and a quantity that can
be used in a linear interpolation scheme.
Eventually a routine will be written that can be part of the
disk SOCAL overlay which will do the actual searching (at high speed
since no overlay will take place during search; floating-point comparison will be built into this routine). SRDTB will then call.
this new routine and will compute the quantity to use in linear
interpolation. It will, 1naddition, decide if search is necessary (to prevent unnecessary SOCAL overlay if input value is
bracketed by current data blocks).

18

v. BINARY CAHD

1/0 PROGRAMS AND OTHER SPECIAL

PROGRP~S

FOR USE WITH ASPP

As mentioned in the introduction, certain programs produce
extensive quantities of plottable data while a run may require an
extended period of time. Where the necessary data file has been
deemed too large to reside on our master disk cartridge, these
programs were ,modified to fill up a much smaller file, print a
message to that effect, reset the record pointer to pointer at the
first data block, and exit to the resident monitor after saving
enough information in some other data file for later restart purposes. The contents of the plottable file are then punched using
PFTBC, and the program restarted. When the run is complete, the
binary card decks produced by PFTBC are combined into one deck
which is fed into BCTPF. BCTPF puts selected variables from the
master deck on the disk in a format suitable for plotting. Since
the plots are made il1"lnediately, the data file can be considerably
larger (the file is only temporary; it is destroyed as soon as plots
are complete). This procedure has proved. highly satisfactory for
those users which require it, allowing them to run on the master
cartridge intermixed. with other user jobs. PFTBC and BCTPF, among
other programs, are described briefly below.
A.

PFTBC - Plot File to Binary Cards

This program uses FIMGR to read in the first data card con·
taining from 0 to 8 characters of gang-punched deck identification.
It then proceeds to punch the contents of an ASPP compatible file
on cards using SBINP. Up to twenty-five Variables are punched on
each card along with a checksum, a binary card index, an indicator
as to number of variables on card, an EBCDIC card index, and a deck
identification character string. More than one data block may be
punched on each card with the one proviso that a data blockroay
not be split across cards. Card punching continues at maximum 1442

G

19

4(:\

Card Read/Punch speed until the end-of-data indicator record is
punched. The progrrun then exits to the reonitor.
B.

BCTPF - Binary Card to Plot File

This program reads in three data cards using FIMGR. The first
card specifies those variables which are to be checked for monotonicity from data block to data block, the second, those variables
which are to be listed on the 1132 line printer, and the third,
those variables which are to be stored on an ASPP-compatible and
plottable file. The program then uses FBINR to read in binary card
decks as punched by PFTBC. The program will accept multiple decks
provided. that the headers on e very deck are identical. The first
blank header card terminates input and, if the very first header
card is blank, BCTPF uses the output ·file as input (i.e., it will
list and/or contract an ASPP-compatible file). The program checks
each card for proper card index, but will permit cards to be left
out if user so specifies via data switches. This feature is useful
for removing "bad points" before plotting.
C.

EDTPF - Edit Plot File

This program edits (alters) specified records of an ASPP-compatible disk file. The record can be located either by record
index (this is printed by BCTPF if file is listed) or by a specified
variable being tlclosest" to a specified value (i.e., contentaddressable file in some sense). Once a record is located, any or
all of the variables in the block can be changed to new values.
If any variables are changed, the contents of the data block before
and aftereditlng are listed on the line printer. This program
provides even more facility than BCTPF for editing data prior to
plotting.

o

20

D.

AVGPF - Average Plot File

This program computes the "time rr a'lerage of spe.cified variables
in an ASPP-compatible file. The first specified variable becomes
the independent (rrtime") variable and the remainder of the variables
are averaged over .specified intervals in the independent variable
by integrating (using trapezoidal integration) each dependent
variable over the interval and then dividing by the interval size.
The interval may either be specified. (the actual interval, however,
extends from one data point to another) or may be computed by the
program as the interval between two minimum points of the first
dependent variable. Output is. in the form of lire printer output,
punched card output (optional), and an ASPP-compatible (plottable)
file. This program is very useful for smoothing highly oscillatory
program-generated data.
E.

c

Binary Card 1/0 Subroutines

All of the binary card I/O subroutines are callable from a
FORTRAN program which does not use FORTRAN card I/O (or FORTRAN
Typewriter/Keyboard I/O in Version 1 of Disk Monitor Systenl). The
basic card format is the same for all; the first two words (l6-bit
words) on the card comprise a check sum, the next two 16-bit integers communicated from or to the userls program; the next 50 contain up to 25 t\,lo-word variables (real or two-word-integer).
Columns 73-80 are available for card identification. Each of the
routines has a parameter specifying whether overlapped 1/0 is
desired. The salient features of the various routines are:
1)
XBINP - LBINP - XBINP serves merely to LIBF to LBINP so that
LBINP may be part of the I/O subroutine SOCAL overlay (overlap
~ not be specified if this is the case).
LBINP is an entirely
self-contained binary card punch routine. It thus cannot be used
within the same program as any of the routines below. It also does
not check cards to be punched for blanks in all columns. However,
it is by far the shortest (including card I/O requirements) of any
of the binary card punch routines.

c

c'

rrr:m

'S

=

n

,

21

2)
FBINP - This subroutine is identical to XBINP - LBINP except
that it uses CARDl to read/punch each card. Each card 1s checked
for blanks prior to being punched; if nonblank, an error wait is
executed followed by a retry on the read.
SBINP - This subroutine is similar to FBINP except that it
punches cols. 73-80 of each card with user provided deck information
and card index.
3)

FBINR - This routine 1s the binary card read counterpart of
FBINP. It has one additional parameter which indicates the result
of the comparison of the computed checksum with the checksum on
the card.
4)

F.

SEQBC - Sequence Binary Cards.

This program essentially performs the functions of SBINP on
a deck punched by LBINP or FBINP - namely, it adds deck information and card index to each card in cols. 73-80.

o

G.

FIMGR - FORTRAN Card Image Read

This subroutine was designed for use with programs that use
FBINR or SBINP. It reads a specified number of columns.. of a card
and transfers them to a two-word-integer vector with n2 translation.
Thus, the result is a set of integer words which contain card colmnn images. The progrrun provides deck identification input for
programs using SBINP and switch input for programs using FBINP,
SBINP or FBINR (e.g., BCTPF).

o

SESSION REPORT

c

COMMON - Chicago

Se3sion Number
Chairman

rUE F1
-----------------------

360 DOS
---------------------

A. Ragsdale

Time ------~~~~~~~~~---------8.00 to 10,00 PM
Speakers

Session Name

Attendance (NO.)

63

----~-----------

A. Ragsdale - General Food. Ltd.
Mr. W. Sole - Polymer Corp. ,Ltd.

Mr. B. White - IBM

o
Synopsis of Meeting

This session consisted of a Panel discussion and

tutorial on multiprogramming facilities as they are available under
DOS.

The discussion ranged fram SYSGEN requirements to

and operation.

Application of Spooling and Multiprogramming were dis-

cussed at great length.

o

~plementation

SESSION REPORT

:t""'\

~-v

COMMON - Chicago

Session Number

WED Al
----------------------

Chairman

Fred A. Hatfield

Time

8.30 to 10,00 AM

------~~~~~~~~----------

Speakers

Session Name 360

Commercial Users

Attendance (No.)

20
----------------

Mr. Hatfield plus floor discussion

The meeting consisted.of two parts. The first was
supposed to be a continuation of the full 360 project to consider two
resolutions which were presented by Wade Norton. Resolution I 1 was a
request to IBM to make the SORT/MERGE control cards of os Arid DOS
compatable with each other or to specifically publish that they were
not meant to be. Resolution Passed. Resolution I 2 was a request to
IBM that format 6 labels of OS be accepted by DOS even though ignored.
This resolution was referred to the DOS committee since partitionea
data sets are not even known to DOS.
Part 2 of the meeting was discussion of COS for the most part. Fred
Hatfield told of his company's work in expanding the 1405 being emulated
to addresses greater than 99999, currently-going to 124999 on five 2311
packs. Jean Louis (1724) told of work done to run multiple 1401 jobs
concurrently. Al Cunningham (1628) told of change. to permit printing of
BALTA registers on one line. Fred Hatfield also reported on a job
recording scheme taken from EL-TAS, Lib I 360 D 00.04.009.
--

Synopsis of Meeting

c

SESSION REPORT

o

COMMON - Chicago

Session Number
Chairman

WED A2

----~--==-------------

Walter Arntson

Introduction to IBM's

prQlram Information Department

S,30
----------------------------------

Time

Speakers

Session Name

Attendance (No.)

60
-----------------

Mr. Dan Leeson, IBM

c
Synopsis of Meeting

The functions of the IBM ,rogram Information

Department were described.

The resources available to IBM customers

were explained and certain significant points relative to the utilization of Type 1 and Type II programs.
half hour talk.
time required

An hours discussion followed the

Users complained of missing cards in program deck.,
to secure programs, why a complete deck could not be sent

upon a reVision of a program rather than the necessary cards, .tc.

o
J

Good Morning Ladies and Gentlemen:

o

It'is a great pleasure for me to have the opportunity to
speak once again at COMMON.
The subject of my talk th is morning will be on the Progra m
Information Departm.ent wh ich is located in Hawthorne, New York.
(SL I DE #1)

Most specifically, I·would like to talk to the new users among you
who have not had an opportun ity to draw upon the services of th is

,

facility at any great length. Perhaps sorne of th is material will be
old hat to many of you, 'but for the purposes of establ ish ing good
rapport with the newcomers, I thought that th is kind of talk would
be satisfactory. At the conclusion of th is discussion, please feel
free to bring up any questions or comments wh ich you may have .

..

.',~~-~. '~~:":-_~:::~~:~.' .'-':=~:~=:_~. ~::~~~~::=,~",,:~:'<~~.:.~:.':~",'> -~~==~:=. . :~':::~';.: . . ;~'~-=_:::.:L:o:~,:.:2::i:::. :=:=~,:~::=::~" =::::~:''''''"'"'. =.~~~.:~ ~.:. ~
.

.

,

-

c
- ----_.

-_._._------

For the newer members of COMMON, the questions
(~:

relative to the Program I nformation Department that are probably
going th rough you r minds are:
1.

What is it?

2.

How do I discern what its contents are and what is
applicable to me?

. 3.
4.

How'do I obtain programs?
What do I do with them when I obtain them?

,
Basically, my talk will center around these points.

o

The first poi nt I wou Id Iike to address is what is PI O?
The Program Information Department of the IBM Corporation
is the official center of program distribution activity for the IBM
Domestic Corporation. Th ere are equ ivalents of PI Dfor our World
Trade customers. For instance, there is the European Program library
in Paris, the Asian Program library in Tokyo, the Canadian Program
library in Toronto, the South American Program library in Rio de
Janeiro and the South

Pac~fic

Program library in Sydney.

Programs received from the IBM development centers
throughout the world enter into the distribution complex of the

c

Corporation at the Program Information Department. It is th ere th at
the material is determined to be complete and reproducible, and it is
also there to which orders for programs should be sent.
The material that PI Ddistributes essentially falls into two
categories. They are Type IIII programs and Type IIII IV programs.
Type I11I programs are developed by the IBM Corporation and have a range
of support associated with them about wh ich I am going to s'peak at some
length toward the latter part of rny talk.

c

II'W""iHil''tIt:t!·M@@e''tMtlltbl:M'HtI.u-'·'!!!rrp'

Type III/IV programs are contributions made to th is
distr ibut iOrl center by both ! BM employees and cu stomers of I Brvt
I n the case of Type 1111 IV programs we act as a distribution agent
for these items and have no cognizance relative to the functionability
of these prograrns. There are several types of standards that Type III/IV
programs adhere to. As a matter of fact, COMMON was a party to
the development of Type IV Standards, and the Type III )tanda rds
bear considerable sim ilarity to those of the user groups. PI D does
I

act as agent for enforcement of these Standards, however.

e

ll',

I

Thus, I hope my first question of. what is PI D has been
appropriately answered. I n its simplest terms, PI D is a b.uilding
containing progr ams wh ich you may order.

~A.. ~
""-..

. ~ ......,.,-.. •..._." _.
•••••

_~

o

• • __ .•

~ _ _ , .....

_

~ ~ .. , •. _: ,..'.,.-1y"..,....---...... -7"11'~ .... - •• ~ _ _ _
~,

,~

' . . . . . . , ••. ~_ ...... _ .... : - - : . . - ...... _ ........~ .........;.. ....

"':-....

~.."..,,-:o..':.------.- -

~ ......

,_ •_ _ _ ........ J.<.... ••

-.. ..... ~ .. 4._~~'!"'O-'1"'"".....~-.~...,.....~_.• :~~"!""""" ... _ .... "-"~':'~~'..,........,.??~'~~'":""~"':ff .....,.

_~-- ~~.~1r~'''''''''''''!"''~'':o-.,...r .. ~",;,,;-,'''-.-.-- __ "_~""''''-;'"''. ~.'_' ~

, ...... ~

...... ~.... ~.
. _,~ .. _ .............,~ _ _._....,....;::~ ... ;j;~!--:~~.:.-::.._.~:-"""'_: ..... ,._~...:...•..~-...:.;.;... .. _ ...:~_.....:.::~_~.. J..-..~ .•,~ ......................~... .:~_

~_ ........ .....-.... ... ,..:,:.~+_;

",~_

__

• __ •• , ,

._ .• _ •.•• _ _ ._"

"

.,.

~.,..

.'--._ .• --. •.•••

It is very important for you to know what the specific
resources of PI Dare, wh ich ones apply to you, and how th is
intell igence can be used to serve you.
Published several times a year are documents called the
Cata Iog of Prog ranl s ~
(SLIDE#2)

These Catalogs are published by system type; that is, there is a
Catalog of Programs for the 5/360, a Catalog of Programs for the

,
1130, 1620, etc. With in each Catalog is a discussion of the programs
applicable to that system type. In general, you require the Catalog

c'

for only the system type of concern to you.
One of the most important items in the Catalog is the KW IC
Index.
(SLIDE#3)

Here you w'ill find whether or not a program is available based upon
a keyword.

c

c

For instance, if you were interested in a program having to
do with electrical power, note that either "power" or ~'electrical power"
would be used as a keyword.
(SL I OE #4)

The entry in the Catalog of Programs reads "Load Flow Performance
Calculations of Electrical Power. II Th is particular program is for an

.

.

1130, whose configuration we will determine in a moment, and. is
described on page 22.
I

Turning to page 22

Cl

(SLIDE#5)

we find that the full title is
(SL I DE #6)
"Load Flow Performance Calculations on an Electrical Power
System ". Th is program number is 16.4.004, and the author and th e
availabil ity date are also given with in the abstract of the program.
Th is particular program, as you can see, is a Type III program, and
the configuration of the specific 1130 is given with in the abstract.

o

Having this information provides you with t'le intell igence to decide
relative to its desirability.

Th~s,

through the array of Catalogs, you are able to discern

,

the contents of PI D. Th rough the specific Catalog in question, the
Keyword- in-Context I ndex enables you to find a specific program by
functional capability and the abstract of the program with associated
information may then be located.
Catalogs of Programs for all systems are available from your
local I BM representative. Once you are registered for a specific
Catalog,
maintenance to it willI be sh ipped to you periodically enabling
.
you to know how the contents of PI D are altered as ,per your require-

c

ments. Also from time to time the Catalog will be completely reissued.

I

i

c

'"M!!rt'W"'''''''1'M'rm'''!'''

Once you are sure as to the nature, number, name, etc. of
the, program \Nh ich YOLJ wish to order, you will find that you can place
an order on several types of order forms.

(Sll DE #7)
The first of these is generally used for Type I1II programs
only. The second, or tan colored card, should be employed for Type

IIIIIV programs. The last one wh ich is a rather large order form
should be employed only when ordering 5/360 operating systems. By
th is I do not mean OS/360 but rather any operating system with a
collection of orderable items wh ich is runnable on the compatible

o

5/360 family. Specifically that includes OS, DOS, TOS and BOS.

There are also certain cards especially designed for user
group members, and from time to time, you will have an opportunity
to employ these cards.

(5ll DE #8)
The result of using an incorrect order form could conceivably
be the rejection of the order so it is appropriate that you know wh ich
form for wh ich program type. Upon completion of the order form for

c

Type ,1/11 programs, the material should be 'given" to your locaf IBM
representative \Nho will authorize sh ipment of material to you and
forward the order forms to us.t1
A4ii&Mi&JJiiWUY4ii4M,; ML\("M",

,m #il%f\4

"

..

--------""-'"~~-~---~~-~.~- ~~---~---

Please be cognizant of the nature of the distribution media

for the prQgrams that you wish because in some cases,. it might be
necessary for you to forward to us a reel of magnetic tape, a 2315
disk cartridge or a 1316 disk pack.
(SL I DE #9)
If the Catalog of Programs indicates that the program is available in
cards or paper tape or Distribution Tape Reel (DTR), these will be
forwarded to you with the appropriate data contained on them.
(SLI DE #10)
You are not obliged to take any action relative to these distribution media.
Once the order has arrived in P"ID, our~p'olicy is to have the
". ~""

material on the way to you within ten working days. Every attempt is
made to guarantee the integrity of the data that is being sh ipped to you.
I n the event that you are concerned about the status of an order, you
will find that the m03*~ rapid response can be obtained by communicating
directly with your I BM representative.

C;

Now I come to a portion of my tal k wh ich sou nds al most

C

obvious in its nai vete; that is, what do you do with a program when
you obtain· it? There is, of course, the immediate reaction -- use it,
of course! But I wish. to comment about those th ings wh ich will
permit you to use the program in a much more effective fashion,
and I wish to contain my comments exclusively to Type I and Type II
programs.
When you receive such a program from PI 0, the first
question that should be on your mind is what constitutes the totality
of th is program, or more specifically, what is lIitll? A Type I1II program
is a lot more than a deck of cards. ·It is an aggregation of documents
and mach ine readable mater.ial, each of wh ich has a spe~ial ized fu nction
and
all of which are designed to permit maximum
efficiency in the
.
.
in stallation and ru nn ing of th e particu lar programm ing system in
question. All of these items are described in a single document wh ich
is al so part of the package you

r~ceive~

I n my experience, th is document

is generally th rown away shortly after receipt of the program.

C',)

J

Th is document is termed the Program Material List.
(SLIDEH11)
In

~y

o

view, such a document is the most important item wh ich you

have received because with it the contents of the product are described,
the volume of the material you have received and the currency of each
item is specified. With it you will be able to keep your product current.
Please note on the program material list wh ich I h ave shown here that
this particular product, which is the 1130 Card Fortran Compile"r,
consists of five items. One of th·ese is a manual whose number is

C26-3629-1.
The last digit, that is the -I, indicates the currency of th is particular
manual. Two of the items are decks of cards, the first of wh ich is the
Fortran Cornpiler itself at 933 cards, and the second is a sample Fortran
program at 101 cards. There are also two items of informal documentation,
each of wh ich has an identification key and each of wh ich is important
in the scheme of th is program. Please note that the top of th is document
describes a Fortran Compiler at a specific currency number; that is
Version I, Modification Level 1.

c

m··'·ZMllrr_fflW r.r:="WTT1!!r:::!I!rnr!f?wtrt'''·w
i

i!T'M"TI!7XP!!!Ii '"rr55!1l!li.=·nw'I,=,

'P!!7"

!'P'·,='.'.iii.l

You will have such a program at that currency level only when
,

you have all five of these items, each of wh ich is at a specific level. If
you had ordered th is program when it was at Version 1 Modification
level 0 and subsequently had received Modification Levelland had
applied it properly, your Fortran Compiler would t1en be at 933 cards.
On the other hand, if you ordered th is program at Version 1 Modification
levell, you receive in effect Modification Level 0 Compiler with Modification Levell appl ied wh ich is ,by defin ition

9~3

cards. As subsequent

modifications are received by you and the mach ine readable material
applied to the deck, the quantity of cards will alter and so should your
material list. The alteration to the material list fs'itself described in a
document accompanying the specific modification.
I nstructions are sent with each modification wh ich describe
how the addition of that modification affects your current package;
therefore, visualize yourself at some point in the future, let us say
Version 1 Modification Level 3, and an error appears. The first question
that is generally asked by the Field Engineer or Systems Engineer

0

1

servicing your account is "What is the currencY'of your product?"
The statement "I am at Version 1 Modification Level 3" is not with in

I

itself sufficient. Rather what is your deck supposed to look like if you
are at that modification? What other publications should there be with

o

that modification level and what is the currency of each of those items?

It is an appropriate set of answers to th is type of question wh ich enable
you to determ ine whether or not you really have the product.
Please note that you will receive maintenance not only to the
mach ine readable material contained in the product but to every item
contained in the product. Should a subsequ~nt operator's guide be
published at a -2 level, you will receive it automatically.

~hould

any

of the informal documents be altered, you w'ill either receive refreshed

0

copies or instructions on the updating of the copies in your possession.
Not,only are new manuals .sent to you when they are printed but should
change pages, called Technical Newsletters (TNLs), be issued, you will
rece ive th em aIso.
Th us, getting back to my original comment of what do you do
with the paclD

This structural form internally provides q.ulte rapid searching
(not as fast as binary, but two passes would ce needed to produce
a binary table) to determine whether the same ID string has already
been input. It also permits efficiency with v6.riable length ID
strings (variable no. of elements). Only as mB.ny blocks are used
as there are nonblank ID name elements (except if XA, XA XB are
both valio ID strings, then the program would force XA (blank),
XA XB).

This scheme also permits sorting "on the fly" as input cards
are read. Since a file string attached to an ID string is linked
in reverse sort order, then, if the input deck is sorted by file
name in normal order, no searching 'lJ·ill be necessary to add the
new file name to ,the file name list. Since the deck produced by

16
LETUD is in lexicographical order (and can be easily kept that way
by appropriate filing of new cards), this procedure minimizes sort
time. In fact, for an ordered (by file name) input deck, input
proceeds at card-read speed (300 cards/minute).
Once input is complete it is a simple matter using a pushdown
list to trace through the link structure and print/punch output in
sorted order (the links in each file name string do have to be
reversed, but it is desirable to scan the list to get the total
length of all files prior to output anyw"ay - this does not seem to
slow down output in any way).
The current version of the program seems to provide all desired objectives with the possible exception of the ability to retain only those files created before (after) a certain date or only
those files longer (Shorter) than some specified length. For typical directory decks (with the exception of linking time) it operates
at least at 1442, 1132 speeds.
C.

Program Operation

1)

Neither link uses disk I/O so that column 19 should be blank.

2)
The first card following the XEQ card is the parameter card
and specifies which options are desired.
Column
1

Contents
Blank - if the program should ignore all control
ID strings (see belOW)
Nonblank - if the program should process only those
ID strings which start with control strings.

2

Blank - see column 3
Nonblank - no printed output

3

Blank - print all files
Nonblank - print only ID strings and totals

4

Blank - punch ID string cards
Nonb1 ank - no punched card output

C;i

17
The next ten columns correspond to each of the five possible
ID's, a two column set for each ID. The first column of a set
specifies the lONest hierarchal level (highest-numbered) ID element
sorted upon; i.e., if column 2*N + 3 is nonblank, but columns
2*1 + 3 (I=l, N-l) are blank, then IDls N, N+l, etc., are ignored
and thus not part of the sort.
The second column of a set specifies when page ejects occur;
i.e., a page eject will occur whenever IDn takes on a new value
(name) if columns 2*1 + 4 (I=l,N) are blank.
Following the parameter card is a set of control ID string
cards specifying strings either to be ignored (column 1 of parameter card blank) or to be processed (column I nonblank). It is
important to noiethat, if, for example:> XA YA and XA YB are valid
ID strings, then the control string XA will apply to both XA YA and
XA YB (i.e., both will be either ignored or processed). However,
XA YA applies only to XA YA and not XA YB (but would, of course,
apply to XA YA ZA, etc.). The format for these cards is the same
as that for files name cards (see below) e.xcept that columns 1-29
are ignored and should be blank. An EOF card (any card containing
a 7-9 punch in column 1) terminates the set of control ID string
cards (the set may be empty, but the EOF card must be present).
3)

o

Following the EOF card is the master directory deck containing
cards of the following format:
4)

Columns

o

Contents

1-14

Same as LETUD output format (columns 9 and 15
must contain a nonnumeric character and file
length must have leading zeros punched).

20-27

File "creation date" as MM/DD/YY (Where
M=Mon.th, D=Day, and Y=Year), MM must be
betvleen 1 and 1.2, DD between land 31, and
YY greater than 65. Leading zeros may be

18
omitted (numbers must be right-justified).t but
not replaced by blanks; e.g., 1/12/68,
1/01/66, 1/1/69 are valid, but 1/_1/69 is
not. The colwnn following the last digit
of the year must be nonnumeric. The results
are unknown if this field is left-blank (except that it will not affect any other field).

30-34
L~0-44

50-54
60-64
70-74

First ID name (left-justified preferably)
Second rr rr
"
"
"
II
rr
Third "
"
"
II
rr
Fourth rr rr
"
Fifth " "
"
"
"

Note: It is permissible to have all ID name fields blank.
Following the master directory deck must be another EOF card
signifying end of input (if punched output is specified, blank
cards should follow the EOF card).
5)
After SPMDD has read all input cards (through the second EOF
card), it links to PRMDD to perform all output functions. Output
is a string of ID names with the total dislt word count at the right
of the line followed by a list of files (read from left to right),
five files (with full identifying information) per line. As the
ID string line is printed, an ID string card is punched in the
same format a~ (and usea.ble as) a control ID string card.

Note: Through judicious use of control ID strings it is possible
to process practically any ma.ster directory deck. Any time, for
example, a files card contains an ID string (which starts as one
of the control ID strings) and the ignore "switch" is set, the card
is skipped and no storage is wasted. If·no file names are desired,
then only one file block per unique ID string is needed (to contain
total length which is accumulated as cards are read).

C

19
Progrannned waits will occur if the program runs out of table
space in SP!VIDD (program start will cause exit to resident monitor)
or if card about to be punched in PRMDD is nonb1ank (program start
will cause the card to be reread in a check for blanks before it
is punched).

o

20

IV. CONCLUSIONS
We have found OUT Disk File Maintenance System for the IBM
1130 to be extremely useful. It has enabled us to uncover some
very interesting facts:
1)

SSP (Scientific Subroutine Package) requires approximately
60~000 words on the disk (nearly 200 sectors) or about 12.5% of
the entire disk. We do not intend to put SSP on our monitor,
version 2, master disk since less than 10% of SSP has been used to
date. The user can put on what he needs.
2)
By judicious deletion of unnecessary (for large original 1130
installation) files from the monitor, version 2, system 1ibrary~
the user can recover over 16,000 words of disk space (a saving of
40% over system as delivered).
3)
We uncovered one user using almost 60,000 words of desperately
needed disk space (hov-r8ver -' we were unable to convince him that
our needs \V'ere greater than his) •

c

SYSTEMS AND PROGRAMMING
MANAGEMENT*
Laurence H. Baker
The success of any computer installation depends.
upon many factors. Some of the more important ones
are:
A.

The objectives which the data processing effort is designed to fulfill.

B.

Its place within the organization structure.

C.

The organization of the systems and programming effort.

D.

Top management involvement in the computer activity.

E.

The mix of applications processed.

The key to success depends upon how well the
systems and programming activities are managed. If
these resources are planned and used properly there
will not be maj or problems in meeting the obj ectives of
the data processing effort.
I

OBJECTIVES
Each objective of the computer activity must be
studied and analyzed carefully relative to the resources
required to accomplish it. If each obj ective can be
analyzed and planned realistically I all other factors
which can influence the success of the computing activity have been properly adjusted in the organization.
A variable mix of applications in different periods
of the year can pose added problems requiring competent
individuals and knowledgeable individuals in more than
one area of application.

•

* Contribution to panel discussion on Systems and Programming Management at COMMON Users Group Meeting April 10 , 1968.

- 2 -

ORGANIZATION STRUCTURE
The place of the systems and programming effort
in the organization can have a large measure of influence on its future. If they are established at the
corporate level such that systems work can be carried
ou t a s a staff function there mayor may not be cooperation. Probably this depends upon the involvement of top management in the review and encouragement of computer applications.
I

I

A useful alternative approach to the problem is to
establish one or more key systems and computer liason
personnel within each division. If these are key positions and report to the general manager or president of
each division, they can playa very important role in
the successful development of computer applications.
A suggested organization chart is shown in Figure 1.
ORGANIZATION OF SYSTEMS AND PROGRAMMING
EFFORT
This must be organized so each individual understands lines of responsibility policies their job and
opportunities for self-improvement and advancement.
A tool which can be used to achieve this end is a manual
for Systems and Programming Personnel which each individual is given the day he joins the systems and programming staff.
I

I

The essential contents of such a manual are listed
below:
A.
B.
C.
D.
E.
F.
G.

Policy
Standards and Forms
Publications and Instruction
Courses Available
Utility Program
Routine Support
Program Library
User Program Documentation

c

SYSTEMS AND PROGRAMMING PROJECT MANAGEMENT

c
1.

II.

Importance of controlling the operation whether it is a new installation,
an upgrading of existing equipment, or the addition of new applications.
A.

The larger the undertaking, the more important the controlling
and the scheduling of activities becomes.

B.

The goals should be clearly defined, the specifications should
be well-documented, arid should be rigidly adhered to throughout the entire span of the project.

A method of project control is essential to the successful completion on schedule - of the effort.
A.

Manual methods lend themselves to small projects of a minimum number of inter-related activities over a relatively short
period of time.

B.

Computer-oriented techniques are invaluable for analyzing and
controlling complex projects that normally would tax manual
approaches.

C

~
,/

III.

o

Scientific Management techniques for project management/control are
not new although as time goes by more people are becoming aware of
their availability and potential. The more complex the endeavor I and
the more difficult it may appear to implement such a technique - the
more desperate may be its need!
A.

Project FIRM, written to run on the 1401 or the S/360 Model 30
or Model 40 in compatibility I and PERT-CPM for the 1130, are
two Simple and yet very effective programs for controlling project
schedules. These are techniques that are simple to use and easy
to learn.

B.

More sophisticated programs are Project Control System/360 which
runs under DOS/360 and Project Control System/1130 which runs
under the Monitor. They are designed to handle more complex networks and the elements of resource allocation and cost factors are
included.

C.

Project Management System/360, an extension of NASA PERT/Cost,
runs under the OS/360 and has been developed for extremely complex projects.

SYSTEMS AND PROGRAMMING PROJECT MANAGEMENT
-

IV.

2 -

However the project is approached however it is deemed wise to
control its many facets - none should ever be started without a
plan. The more comprehensive and thought-over the plan the
greater the chance for a successful completion -- on schedule.
Management will respect our professionalism and be more amenable
to our needs (additional manpower I overtime I etc.) if a welldeveloped and orderly schedule is used.
I

I

V.

Expertise developed in the application of these Management
Science techniques to the control of the Data Processing projects;
can be readily applied to other programs within the corporation -whether it be building construction, assembly line development,
or engineering laboratory project control ~

c

REFERENCES
1. Management Handbook for the Estimation of
Computer Programming Costs
E. A. Nelson
System Development Corporation March 1967
Clearinghouse for Federal Scientific and
Technical Information
2.

Toward Better Programming Management
M. L. Rubin
Journal of Data Management
Vol. 5 (12)
December 1967

3.

A Technique for Improving the Management of
a Computer Installation
R. L. Patrick
DPMA (Quarterly

4.

July 1965)

IBM DP Techniques
Organizing the DP Installation (C20-1622-0)
Mgmnt. of the Punched Card DP Dept. (C20-1611-0)
DP STDS (S360)
IBM United Kingdom

5.

Programmer Selection and Evaluation
A. COMMON Proceedings Dec 1967
B. COMMON Proceedings Sept 1967
C. IEEE Transactions on Human Factors in
Electronics
Vol. HFE-8 (1)
March 1967
I

An Explanatory Investigation of Programmer
Performance Under On-Line and Off-Line
Conditions
E. E. Grant & H. Sackman

o

- 2 -

6.

EDP: Its Controls and Economics
J. V. Miccio
Journal of Data Management

June 1967

7. Management by Crises
J. A. Campise
Journal of Data Management

April 1967

I

h

/

PRESIDENT

Gen I M gr. Di v. A

Systems Liason Div. A

GeniI Mgr.

Computing Svcs

I

I--

-

-

-

~

-(> ~- -

-

-

~

-

--

-

-.

-.

-

Operations
I

B

Systems Liason - Div. B

Systems and
Programming

Div.

~

P .11"1 ('I 1. [) i

::./:

Beryl

Cordill~ ,

3 C US;)

ion 2) C ~:; :::! ion '!:: t.

Orlan(!o Utili t . iCfi

j -

/\

1

COr:tT;l.L~iSi(ill.

The implementation of any project should devote a considerable effort to the definition of the problem and to the system
design. It has been my experience that more effort should be
expended in this area than in the actual writing of the program
and its implementation. Considerable time should be spent
studying the interplay of activity and the flow of records
involved in the application.
It is important to document this
phase and to review it in detail with the affected personnel
in the other divisions of the company. This review should
establish that the activity analysis accurately reflects the
operations now being conducted and should be approved not only
by the involved operating personnel but the next higher level
of management.
All of the activities and events which must take place
to accomplish a conversion should be enumerated, scheduled,
and checked off as they are accomplished.
It is most important
to arrange these activities in.the proper order and establish
a reasonable period of time of their completion.
Comparisons
of actual performance to the scheduled are very helpful to the
project manager in focusing attention on the problem areas.
The thoroughness of the preparation of this schedule will
determine the ease with which the whole project can be managed
and brought to a successful implementation. A conversion
schedule or bar chart is the very least that is required for
a simple application. At the other end of the scale, some
form of critical path method, using the computer to evaluate
the attitude or progress at any given point, is the most effective tool to manage any complex project.
When management is faced with a new application in a
fully converted shop, it is even more important to follow a
strict schedule since attention can be focused primarily on
the new application. Management must also worry about system
maintenance, the modification of operating programs, and other
changes which involve the programming staff. To provide depth
and flexibility, it is important that maintenance of the operating system be rotated among several staff members. Care
must be taken to assure that adequate documentation of the
utility and other IBM-supplied programs is provided. The use
of a check-off sheet to keep track of the progress of the
development of a new application is a very practical approach.
Similar to a conversion schedule in scope, this sheet presents
a listing of the activities that must take place from the
general system design all the way through the establishment
of operator instructions after the program has been thoroughly
tested.

o

Page 2

c

The management of a data processing installation must be
planned and organized to delegate some of the responsibility
to the appropriate staff members since no manager can do the
entire job himself.
The schedules and reports which are prepared by the staff are tools to be used in evaluating the
position of the programming staff and the individual performance of the programmers.
If this approach is taken and the
staff has an understanding of why this is being done, projects
and applications can be converted successfully and on time .

•
==

===QZi.Q;',jiUi4f4M

,,¥,; ..4p,

.n

__ . ...,tt:

I!

c

II • •

SESSION REPORT
COMMON - Chicago

Session Number

WED A4
----------------------

Chairman

Dan Koster

Time

8.30 to 10.00 AM

Session Name 1130 LP/MOSS Users

Experiences
Attendance (No.)

Speakers G. Schoditsch 13438

----------------

Dr. Scott Hathorn

Monsanto Co.

J. G. Boswell Co.

1700 S. Second St.

Corcoran, California

St. Louis, Missouri

C
,

',,'I

Synopsis of Meeting Dr. Hathorn spoke on two programs he has for

generation of the cost row and constraints for his enterprise resource
allocation model in a farming environment.

The programs are to be

released through PlD.
Mr. Schoditsch spoke on
columns.

opt~um

The write-up follows.

packing. for gas liquid chromatography

Mr. Muller of lBMfis.ued a plea for

feedback on Version 1 of LP/MOSS and suggestions for Version 2.
wants to know what we are interested.

o

He

c'

~

c"
"

USING LINEAR PROGRAMMING TO
DETERMINE OPTIMUM GLC
PACKING MIXTURES

0',·'
,

To be presented at:

G.F. Schoditsch

COMMON Meeting
Chicago, Ill.

MONSANTO Company
St. Louis, Mo.

April 8-10, 1968

March 7, 1968

i

_ _ _ _ _ _ _J

Using Linear Programming To Determine
Optimum GLC Packing Mixtures
G.F. Schoditsch, MONSANTO Co., St. Louis, Mo.
ABSTRACT
Gas-Liquid Chromatograpy is a commonly used analytical tool in the
chemical industry. GLC may be used for both qualitative and quantatative analyses (what is present and how much of each component
is present in a sample). An important element in the effective
use of GLC is the proper choice of packing or mixture of packings.
Linear Programming has been applied to process of selecting the
proper mixture of packings.
INTRODUCTION
In GLC, a vaporized sample is injected into a stream of carrier
gas (usually helium) and adsorbed onto a packing. The packing is
one or a mixture of high boiling components deposited on an inert
substrate. As the sample/carrier stre~~passes over the packing,
each of the components of the sample~is 'adsorbed' onto the packing. As the sample/carrier stream becomes depleted of sample,
the components of the sample 'desorb' from the packing. An instrument measuring the physical-chemical properties of the eluted
components draws a graph (see Figure 1) that may be interpreted
to determine the composition of the sample.

100

50

O~

________________________________________

-J

Time
Figure 1

Typical GLC Chromatogram

Inspection of figure one shows that the output from the .GLC instrument is a curve' with several peaks. Each peak is associated with
one component of the sample. The relative area under each peak is
a measure of the amount of each component present. For a given
packing'material, the distance from a known reference point to each
peak can be used to identify the component. As you can r~a~lily
understand, ~fthe peaks are too close together, not only does component identification become difficult, but calculation of the area
under a peak is almost impossible. To improve the separation of peaks

c

(2)

C~,
(resolution), a mixture of packings is employed, since different
packing materials give different resolution for different sample
components. Figure 2 shows the relative retention times for a
given sample using three different packing materials.
PACKING NUMBER
Component
1
2

3
4
5
6
7
8
9
10
Figure 2

1

2

3

1.00
1.95
2.20
4.90
5.10
8.10
7.40
9.20
20.60
24.50

1.00
1.79
1.93
4.20
6.10
6.39
9.94
8.73
24.85
28.15

1.00
2.41
4.23
3.84
3.62
7.04
6.82
8.48
11.61
24.88

Relative Retention Times

If difference between retention times for each of the components
is tabulated ( see Figure 3), these differences may be thought of
as the effect that the packing produces when separating the material. The assumption of the LP approach to packing selection is
that when several packings are combined, the net effect of each
packing in the mixture is linearly additive. The object is then
to find that combination of packings that will give the best resolution of peaks.
PACKING NUMBER
Difference No.
1
2
3
4
5
6
7
8
9
Figure 3

o

1

2

3

.95
.35
2.70
.20
3.00
-.70
1.80
11.60
3.90

.79
.14
2.27
1.90
.29
3.55
-1.21
16.12
3.30

1.41
1.82
-.39
-.22
3.62
-.22
1.66
3.13
13.27

Differences in Relative Retention Times

Other approaches to this problem l have been to assume a quasitheoretical approach to the actual action within the packing
column and calculate the expected separations for key components
over the entire range of mixture of packings, usually in increments of about 5%. This method is usually limited to mixtures
of two or three packings. This approach also makes several assump-

SW""",,;SQJ&J4WU'; iPiAfi4* ·H ""' tiT44 %41,4. ¥

. p#i44t . 444

44$4#2I~t.

(3)

tions regarding the ideality of the sample mixtures. The linear
programming approach uses a minumum of actual data from the actual
sample to predict the optimum separation.
THE LINEAR PROGRAMMING APPROACH
Using the assumption of linear interaction between the packings,
the following set of equations can be developed from the difference
data of Figure 3:
Dl= 0. 95X l + 0. 79X 2
02= 0. 35X l + 0. 14X 2
D3= 2.70Xl + 2.27X2
.20Xl + 1.90X2
04=
05= 3.00Xl + 0.29X2
06= -O.70Xl + 3.55X2
1.2lX2
D7= 1.80Xl D8= 11.60Xl + 16.12X2
09= 3.90Xl + 3.30X2
1.0=
Xl
X2
+

+
+

1.41X3
1. 82X 3
0.39X3
0.22X3
+ 3.62X3
O.22X3
+ 1.66X3
+ 3.13X3
+ 13.27X3
X3
+

The last equation simply states that the sum of the fractions of
each packing must equal 1.0.
If equal proportions of each of the three packings are assumed,
(that is Xl = 1/3, X2 = 1/3, X3 = 1/3) the following set of differences are predicted:
Dl
D2
D3
D4
D5
D6
D7
D8
09

=
=
=
=
=
=
=
=
=

C

1.05
0.77
1.53
0.49
2.30
0.88
0.75
10.28
6.82

Inspection readily shows that 08 and D9 will be significantly larger
than the other seven no matter what mixture is employed. These
differences will be neglected.
Inspection also shows that 04 is the smallest difference of retention time. The object then is to maximize D4 with all other differences subjected to restraints of being equal to or greater than
0.5, 0.6, etc until either D4 becomes equal to or smaller than any
of the other differences and the requested solution becomes infeaible.

c

(4)

C.'.'

.\

Following this procedure, the results shown in Figure 4 were obtained using the LP-MOSS package on our 1130 computer. The runs
were made with a lower limit on all differences (except 4) equal
to 0.6, 0.7, and 0.8. The program indicated that no solution
could be obtained with a lower bound of 0.8, or in terms of the
real system, no mixture of real packings would give a relative
retention time difference of at least 0.8 for each component.
Examining the results when the limits were 0.6 and 0.7 led us to
estimate that the optimum should occur (that is, the 'maximum'
minumum difference would occur) when the lower limit was set to
0.688. Results of this run verified this estimate.
VALUE. OF RESTRAINT USED
DifferenC'2 No ..
1
2

3
4

c\

5

6

7

0.6

'0.7

.991
.600
1.836
.765
2.087
1.058
.600

1.026
.700
1.657
.677
2.224
.934
.700

.386
.388
.225

.359
.352
.289

0.8

Solut.ion
Infeasible

0.688
1.022
.688
1.678
.687
2.208
.949
.688

Pl-\CKING
1
2
3

Figure 4

.363
.357
.280

Tabulated Results Of Computer Runs To Determine
Optimum Packing Mixture

DISCUSSION AND COMMENTS

o

A packing mixture for the predicted optimum separation was prepared.
The results 'of the actual mixture approximated those predicted by
the computer (see Figure 5). Although one separation was not achieved, the method gave good general predictions. Unfortunately,
the actual differences were not large enough to give the desired
resolution. Other 'tricks of the trade' needed to be applied to
achieve a satisfactory resolution. Unfortunately also, the origin-al data were not generated using sample and operating conditions
near enough to actual sample compositions and operating conditions.
In any case, the predicted optimum is close to the actual optimum,
and may be used as the starting point for further experimental
study.

---.

· .. ,." ... -..... ...•- ..... ~...~... ~. -.. ~--~, ...~-..--...
,

,,,

... _... __ ........

'.

""""

(5)
~
'~w;/

Figure 5

COMPONENT

PREDICTED

ACTUAL

1
2
3
4
5
6
7
8
9
10

1.0
2.0
2.7
4.4
5.1
7.3
8.2
8.9
20.0
26.3

1.0
2.1
2.2
4.9
4.9
7.9
8.4
9.6
22.3
25.7

Comparison of Actual and Predicted Relative
Retention Times

The procedure shown here is applicable to any number of components, and any number of packing materials. All that is needed is
relative re~ention times for a sample containing all the component for each of the packing materials. The original data should
be generated using a sample with composi·tion near that of the
samples that will be routinely analyzed by the instrument.
Data for relative retention times is also given in Kovat's indices.
Using the data from these tables a scheme may be worked out to
generate relative retention times for a mixture without having to
actually run the sample. This and several other alternates are
being examined as ways of improving the method.
ACKNOWLEDGEMENT
Grateful acknowledgement is here-with given to Mr. Fred Stewart and
Mr. John Hinchen of the Monsanto Co. Mr. Stewart supplied the orginal data for the problem and verified the results. Mr. Hinchen
helped immeasureably in preparing the problem for solution using
linear programming.
REFERENCES
1.

"Computer Optimization of Mixed Liquid Phasis for Gas Chromatography", ANALYTICAL CHEMISTRY, . Vol.
36, No.2, February
1964, pp. 260-262.

c
cl

SESSION REPORT
COMMON - Chicago

Session Number

WED A6

--~~~~------------

Chairman

D. Dunsmore

Time

8,30 to 10,00 AM

----~~~~~~~~~----------

Speakers

Session Name

1130

--~~--------------

Attendance (No.)

----------------

(1) Don Gardner - General Foods

(2) Marshall Hechter - IBM, Chicago

c')
Synopsis of Meeting

(1) Gardner - "Multiple lelresslon Program"

(2) Heehter - "1130 Assembler PrograDllliag Aid."

o

Multiple Regression Program
MRP/ll30

Purpose:
The MRP/1130 performs standard mUltiple regression computations
on a set of data consisting of a maximum of 60 variables and
9999 observations with residuals and predictions computations
optional to the user.

(This program was patterned after the

Multiple Regression Program for the 1620, 1.6.043 )
Machine Requirements:
An 8K 1130 with a 2315 Disk, 1442 Card Reader, and 1132 Printer.
Program Description:
MRP/l130 is coded completely in FORTRAN and consists of six
mainline programs and seventeen subroutines for the multiple
regression computations: and three mainline and eleven additional subroutines for residuals and predictions making a
grand total of nine mainline programs and twenty-eight subroutines.
Output:
The standard output of MRP/1130 consists of the following:
1.

Definition of variables

2.

Average, variance, and standard deviation for each variable.

3.

Pairwise correlation coefficients.

4.

Regression information
a.

the multiple correlation coefficient of each. X-variable

with other X-variables.

(V c.

c

-2-

C'·'

\

.

b.

the b-coefficient for each X-variable

c.

the standard deviation of each b-coefficient

d. the T-value for each X-variable (b/Sb)
e.

the constant term, the mUltiple F-value, the degrees
of freedom corresponding to numerator and denominator
of F-value, the mUltiple correlation coefficient for
the X-variables in the regression with the Y--variable,
and the residual error.

The output of the Residuals and Predictions section of the
program (if desired)

c'

is the following:

1.

Definition of variables (optional here)

2.

A statement of the regression equation (a listing of the variable
number and the b-coefficient for each X variable in the model
plus the constant term)

3.

For each observation, the following are listed:
a.

the observed Y-value

b.

the predicted Y-value

c.

the residual value (the difference between a and b)

d.

the standard error of the prediction

e.

the normal deviation of the residual

4 . A scatter plot of the residuals plotted against the observations

o

5.

A scatter plot of the residuals plotted against the predictions

-3-

Input Deck Arrangement
The input deck is arranged as follows:
Galling Cards

(II

XEQ

etc.)

MRP Header Card
MRP Variable Definition Cards
MRP Data Cards
MRP Trailer Card
Header Card
The format of the header card is as follows:
Cols

Description

1-4

Number of observations

5-6

Number of input variables/observation*

8

*

0

Regression Analysis

1

Correlation Analysis (all input variables)

2

Correlation Analysis (selected variables)

The definition of 'input variable' is most important:

an

input variable is any value punched in the data cards which
mayor may not be included in the regression equation, .i.e.,
one may have more variables on the data cards than one needs.
The total number of input variables is· punched in cols. 5 ... 6)
Variable Definition Cards
These cards are used to define the X-variables (independent
variables) and Y-variables (dep~ndent variables) which are·
needed for the regression analysis(es).

-4-

c\
These cards are either one of two basic formats:
1.

Type 1 - used to define a variable directly

2.

Type 2 - used to define a variable from previously
defined variables.

Both X- and Y-variables may be defined directly or as a function
of other previously defined variable(s}.

Some times a variable

is defined and used only to generate another variable.

This

presents no problem since you can indicate to the program that
the original variable is to be ignored and not used as part of
the regression equation.

o

The variables defined directly can be coded or scaled by any
amount or transformed by one of four available transformations
(if transformations are important to the user, a total of nine
(9) can be included for use.)

They are

Square Root
Log (base 10)
Exponential
Reciprocal
A variable can be defined both as an X~variable and a Y-variable
simultaneously.

With the proper use of the variable deletion

procedures, one can use a variable both ways.

The important

consideration i,s that the data need to be read only once under
such circumstances.

Proper handling of the trailer cards

giv~

the required results.

_===aUlikiCMi«ktMMffit'U:a,WitkitlifGMNWi.\MM¥ "

-5-

Data Cards
The program uses the subroutine DATAR to read the data in free
format, that is, data may be anywhere on a card between columns
1-72 (the 72 may be changed to any limit) and any nuInber~f data
cards may be used to represent an observation.

This is parti-

cularly useful in regression work wp.en one wants to merge two
data decks together and the formats of each are different .;.,'no
problem when using DATAR.

The only other requirement is each

piece of data must be separated from adjoining pieces of data
by at least one blank column.
Trailer Card
Each regression analysis requires a trailer card to specify
which Y-variable to use in the regression equation (one may
specify more than one Y-varictble on the yariable definition
cards, but of course only one at a time can be used).

The

trailer card is also used to specify which, if any, x-variables
to delete before the inversion process.

This

one to define more X-variables than are needed

featui~

fora

allows
given

regression equation which can be useful' in the following circumstances:
1.

For a given dependent variable (y) one would like to study
various sU1:isets ofx-variable's'e~ti:~'l: ,to, :or less than t.he;'
total nutllber of X--variables.
.

2.

.

.,

..

. .

One has t\\JO or more d~pende£l'tVar~aliles and the l;e9'!essiO~,

-6-

(:'

equation for each involves a different set of X-variables.
All X·

and Y-variables for a problem like this can (and should)

be defined at one time so the data do not have to be read
more than once. )\n extreme example of this kind is when you
have two problems: regress Xl -X ' say, on Yl and regress
2S
X26-XSO on Y2.

X26-XSO can be eliminated for an analysis

of Yl' and Xl -X 25 can be eliminated for an analysis of Y2
by the use of trailer cards.
3.

One has specified that automatic deletion of variables take
place.

If many X-variables are in the original equation,

then after many successive deletions roundoff error can

o

start the creep into the calculations.
This presents no problem since you can start over with just
a trailer card eliminating those variables you do not want
and obtain a 'clean' regression analysis.

This happens because

the unwanted variables are deleted before inversion.
The Use of the Disk
The following information is stored in the one permanent data
file used by the program:

o

1.

total number of observations

2.

total number of variables (both X-and Y-variables)

3.

total number of definition cards

4.

index of Y-variable in equation just computed

5.

residual variance

-7-

6.

constant term

7.

vector of subscripts for X-variables in regression

8.

vector of averages and standard deviations for all
X-and Y-variables

9.

correlation matrix

10.

inverse of correlation matrix

11.

vector of b-coefficients for each X-variable in
regression.

This file can be dumped on cards (149 cards) if more work has
to be done (i.e., other analyses to be performed at a later time)
with the particular set of variables.

This feature is useful, again,

so that the data only have to be read once.
usefulness is the following situation:

An example of its

One has two Y-variables to

be analyzed, but only time on the computer to analyze one.
data are read and the one analysis performed.

The

Then the file is

dumped on cards and re-entered onto the disk at a later time so that
the second analysis can be done.
Residuals and Predictions
A residuals and prediction analysis is usually performed after
a regression equation has been chosen.-

Sometimes all the

original variab,les are in the equation and other times, a subset.
In any case whenever a regression analysis has just been completed,. a residuals analysis is available under sense switch

/
control.

All that is needed is a residuals and predictions header

-8-

card added in front of the complete data deck used in the
regression analysis.
Highlights of MRP/1130
1.

FORTRAN Coded

- The nine mainline and twenty-eight subroutines are all coded in FORTRAN.

2.

One Data File

- the data file has been defined with the
following statement:
DEFINE FILE 1(3960,2,U,IVl)
All variables, singly and in vectors, integer
as well as real, are stored in this file.
This is particularly convenient because of the
lni.J-:'

need to use only/\ *DUMPDATA card when dumping
the file on cards.

More importantly,

it allows for maximum transfer of vectors
of data on and off the disk to and from
core.

Disk to core transfer for a vector

of 1000 real variables is 1.2 sec.
3.

Model Definition - The regression equation or model is very
easy to:

(1) define in terms of the original

data and (2)" define in terms of other variables.

o

In addition the X-variable deletion

procedures allow maximum control of model
definition.

· -9-

4.

DATAR

DATAR is the format-free input subroutine
which retrieves K pieces of data, converts

c

them to floating point, and places them
in the vector X

when the stat:ement CALL

DATAR{K,X) is executed.

This routine can

be used in any program where format-free
read capability is wanted.
5.

MXINV

- MXINV is the matrix inversion subroutine
which has the following properties:
a.

uses the'bordering' technique of
inversion which is useful in a regression
environment since variables are added oneat-a-time and a new inverse computed
until all variables are in (lxl,2x2,3x3,
..• ,NxN).

If at any stage the inverse

becomes' singular, the latest variable
(which caused the singularity) will be
ignored and computations will resume
~

if that variable never existed.

The index of each variable ignored in
this manner is printed out.
b~

operates upon an upper-triangular matrix
in vector form using the SSP subroutine LOC.

c.

places the inverse on top of the input

c

c

-10-

matrix, thus minimizing the amount of"
core storage needed for matrix inversion.
d. Sample inversion times are listed below:
Size of Matrix

10
20
30
40
50
60

o

Time

3
20
63
2 min
4 min
7 min

sec
sec
sec
27 sec
40 sec
58 sec

•••.••• C. _ _ ..........

,

,,,,,,,,",,,,,,,.",,,"""_~""'" _ _ _ ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' " ' ' ' ' ' ' ' ' ' ' ' ' ' ' '

-11-

Practice Problem

The practice problem shown on the following pages is in
four parts -- four separate analyses on a single set of data.,
The general form of the desired regression equation is shown
below:

where the Wi are the input values for each observation, tha,b.

/,<.:~

are the regression coefficients to be estimated from the data,
the b O is the co~stant term to be estimated from the data, and:>,:
Y is the response variable.

(In the practice problem we have :·i:':

two Y-variables, each of which will be used in the above

re~l~$iOn

equation) .
To reduce the above equation to a more familiar form,

Y=bO+~biXi'
I.~

,

the following substitution is made:

I

I

X2

=

W3

X3

=

log (W4)

X4

=

(W /1000)W 7
2

I

, i
j

and

A description of the four analyses performed

on
\~

the set

...•:

of data is shown below:
Analysis

Description
..,

1

Read header card i X-and Y...:definition
. cards, the datai and the trailer card
and perform the indicatedre9t'ession

.

'.

Y

.1

.'

'.'

analys is oIA (Au tom a tic deletion" l?f the

least significant variable'was done in
,this analysis.)

c

c
2

Read trailer card only and perform an
analysis on Yl with full equation.

Then,

perform residuals and predictions analysis
on same.

3

Read trailer card only and perform an
analysis on Y2 with full equation.

4

c

o

Read trailer card only and delete X2 and
X4 .

Thmdo regression analysis with

reduced equation.

c'

Dft-rA

----.--..-

~

(' .!.

'7 0 /

f"\

J 7 1 ':/0

..!..

:;1?-()'-f

. c: (:,,/ \.J ()

-::

0 0 r:

7

).

n7

3

:;

7 t;

.'

•

'I1J.9G

~

1.~:

• 'j
7 '7 • i+

c)
"

..

~ t+

,

,

,?

L.

C

"
l

.i.. :Of

L.

.L

C' O~o:J

L.

0

?

(~

7

'-! ~) 6 L~
1 1 ~~: 6 ~;
1. .' .- (
J ') S ::.." r--,--;
1L
!.

~,

,

r

I

•

-

~.

1.-:.

C'""
I

h

... ')

~

r:'

t:.

,-

~

71

.,

c:,

,

1

)

\.;
.,

..

.'
'j

.-

4-

?

,
"/ ol
'i

~-...

.,

(."\

'-.

'-

,-

::;

10."

2

1.

,./

i.,)

,~

-

~

, 1

,',,!

(;.'

-:
L.

Lt·

??J.l

J

~"~~: (::

...,
I.

(~:.

L

.J

,.:.

'::.1

3U(:Z

...,
J

--:
!..L ..'

3

u""...-tr

01020 l.:.

1

t

1 ~
1 :; t :. :::
2~
? COG ?
-rrv~ C"."....J -

7(~alt

(j~

h
t:.

"

,. 1

07

~t,;':.3·

1 1+
6

(-

-

?Ji(--,7

.~,

.'

, ,. 0

~

I ....

;.

i

1

fO ..

L, ,'.
'

.'.

,'\

':,...;

0,2

o

'i

.~

"

"7 -::, tJ C
'7 ? • S

-;

.....
v

1 61
I 6- h, 7 ..
,

.. r,

,;

;.-

6•C

'.

-

I

.t L~ :,)

=)

J

I: ~

")

1

:)

/.

;::

...
1

?

,.j

L:,. t.~ '~

;3

~), ,J r.

S

1.

25
7L
J. ?

,--~~

--

•. ~-.--~.--''',".''''.'''''''-.~~~~-------

c ~~ F I i\~ 1 T ION OF

/

o

VAFd f.,BLES

'i

I'"

\....

\'

1

X

~

~

X

j

I,

(

=
=
=

Z
Z
Z
"7

L

1\

v

4
5

X

6

X
~

(,

=

=
=

Z
y
Y

1 _. l!'~PuT 2 I
2 = I NP!JT 3
LOG OF I >jPU T 4
3 =
4 = Ii\JPuT
7
5 = Z 1 ~: Z 4
3UU8.JUu4
1 = I,\PUT 6
2 = INPuT
1

-

AVEf······, 48 •• 3945
--26.3945
-78.0000
308.7599
-380',.; 7539
950.0UOl
542.4766
407.5234
1488.0002
1088.7775
399.2227
295 .0000
';"274 •. 9453
·569 .. 945tt

S.E. ( y)
257.7266
175 .8559
199.5121
144. 104U

NOf-'

i',lUlT

AI'iALYSIS Cf Y

T
0.50
1.73
-0.28
.... 1.14

sr.(U)

d (JtF
1 • L 7 3 {~

.~

2 0 3 lA-4

F

OFl

DF2

RSQH

1 • 1S

4

12

() • t. -{ }

[~ES

2

I JUi\L

1-/:).822'+7

o

X
1
'J

..J

i~

S Q:-~ ;<

0.8271
0.6271

c0 t~ S T j.\ ;..! T
14S't8.00ulO

o

B

(OEF

189.5935
-7397.2422
;,'tUlT F'

0.71

SE(b)
54.336G
j::;' :3 2 • 16:; if-

DFl
2 .

GF2
14

l-\ S l~ i"'.
0.554

T
3. it e

A ~ ,j,L\ L YS I ~ J F Y

-2.21
" LSI [) U II, L
l015bS.~g4~d

1

~~

Cj

/1- ,

6/

/~".rA..//

~e .#'~
#~cA~

ACCUMULATOR

o fJ,ra t ions
LD

The operand may be either a number or a
label representing a core address within 128
words ·of this instruction. Th is is the address
of the data to be operated on.

The operand may be either a number within the limits ± 128
or a label representing a core address with in the first 128
positions of core. The sum of this number or address and
the contents of the spec if:ed index regi ster is the address
of the data to be operated on.

LON::;

The operand may be either a number or label
representing an address anywhere in core·.
This is the address of the data to be operated
on.

The operand may be either a number or a label representing
an address anywhere in core. Add to this address the contents of the specified index register. The sum is the addres~
of the data to be opE~tated on.

INDIRECT

The operand may be either a number or a
label representing an address anywhere in
core. This core location contains another
address. This second address is the address
of the data to be operated on ..

X

The operand may be either a number with in
the limits ±128 or a label representing a
core address within the first 128 positions
of core. The sum of th is number or address
and the address of the next instruction is the
address of the data to be operated on.

AD
S

Oa

M'
0

AND

•

OR

........

EOR
LDS*
STS**

\",

o

XR

STD

.

C4.,~~

SHORT

STO

SO

/-7~r~

OPERATIONS'

No X'R

LDD

A

*~

, The operand may be either a number. or a label representing
an address anywhere in core. Add to th is address, the contents of the specified index register. The sum is the address
of a core location which contains the address of the data to
be operated on.
Same as SHORT·X R.

.-.

"

.

"

.*

Short for~at onl y .

**

As a short instruction, store status stores the status of the carry and overflow indicators in the two low order bits of the word being
operated on. As a long instruction store status writes or clerns storage profect bits.

. ~·C

~

(~~)

o

c

LOAD

Operation

LOX

01

INDEX

n

REGISTER

OPERATIONS

No X R
SHORT

The operand may be either a number within
the limits ± 128 or a label representing on
address with in the first 128 positions of core.
This address or number is the address of the
next instruction that will be executed.

XR
The operand may be either a number within the limits
label representing on address within the first
128 positions of core. The specified index register is
loaded with this number or address.

± 128 or a

LONG

The operand may be either a number or a
label representing an address anywhere in
core. This address or number is the address.
. of the next instruction that will be executed .

The operand may be either a number or a label representing an address anywhere in core. The specified index
.register is loaded with this number or address •

lNDI.RECT

. The operand ~ay be either a number ora
label representing an address anywhere in
core. The contents of this address is the
address of the next instruction that wi II be
executed.

The operand may be either a number or a label representing an address anywhere in core. The specified index
register is loaded with the contents of this address.

.iJ,

X

Same as SHORT No X R.

....

Same as SHORT X R.

STORE

Ul
~-

OPERATIONS
X R

No X R

Operations

STX

INDEX REGISTER

SHORT

The operand may be either a number or a
label representing a core address with in
128 words of this instruction _ The address
of the next instruction is stored at this
address _

The operand may be either a number or a label representing a
core address within 128 words of this instruction._ The speci- .
fied index register is stored at this address_

LONG

The operand may be either a number or a
label representing a core address anywhere
in core. The address of the next instruction is stored at th is address.

The operand may be either a number or a label representing a
core address anywhere i!1 core,_ The specified index register
is stored at this address_

INDIRECT

The operand may be either a number or a
label representing a core address anywhere
in core. This core location contains an
address of another core location. The
address of the next instruction is stored at
this second address.

Same as no X R but the contents of the specified index
register is stored instead of the JAR. The operand may be
either a number or a label representing a core address anywhere in core. This core location contains the address of .
another core location. The specified index register is stored
at th is second core location.

x

The operand may be a number within the
limits ± 128 or a label representing a core
address within the first 128 positions of
core. The sum of this number or address
and the addre$s of the next instruction is
the address of a core location where the
address of the next instruction will be
stored.

Same as SHORT X R.

til.

vl

~

F-,

~/

.~

()

o
MODIFY
Operation

MDX

INDEX

REGISTER

No X R

OPERATIONS
XR

SHORT

The operand may be either a number or a
label representing a core address within 128
words of this instruction. Th is number or
address is the address of the next instruction
that will be executed. (Unconditional
branch)

The operand may be either a number within the limits ± 128
or a label representing a core address with in the first· 128
positions of core. The specified index register is modified
by th is number or address. *

LONG

Requ ires two operands. The first operand
may be either a number or a label representing a core address anywhere in core.
The second operand must be a number
within the limits ± 128. The second operand is added to the data in the core address specified by the first operand. This
is the only add to core operation in the
instruction set. *

The operand may be either a number or a label representing
a core address anywhere in core. The specified index'
register is modified by this number or address.

INDIRECT

Do not use.

The operand may be either a number or a label representjng
a core addre~s anywhere i~ core. The specified index
register is modified by the contents of this core address. *

x

The operand may be either a number within
the limits ± 128 or a label representing a
core address within the first 128 positions
of core. The sum of this number or address
and the address of the next insf.ruction is
the address 'of the next instruction that will
be executed. (Unconditiona I branch)

Same as SHORT X R.

.

01

0.

*

~

~

(j

If the contents of the core ad~ress or index register specified goes to zero or changes sign as a result of the modification, you skip
one word in core.

d,"~

BRANCH

OR

SKIP

OPERATIONS

(Checking Accumulator Condition)

sse

U1
I'.)

/\

n

XR

No X R

Operation
SHORT

Requires only one operand
consisting of the condition
or conditions being te~ted.
Any combination of the
symbols C,O,Z,-,+ or E
(not separated by commas)
may be used.

C,O If a carry or an overflow
condition is present you execute
the n~xt instruction; if not, you
skip one core word.
Z,-,+,E If any of the conditions spec ified in the operand
are present you skip one word.
If none of the conditions specifi ed are present, you execute
the next instruction.

Do not use.

LONG

One Operand
If only one operand is
given, the instruction is
an unconditional branch
to a location anywhere in
core.

The operand" may be either a
number or a label representing
an address anywhere in core.
The branch is to the address
specified by the number or the
label.

The operand ~ay be either a nunlber of a
label representing an address anywhere in
core. The branch is to an address equal to
the sum of the number or address and the
con~ents of the specified index register.

Two Operands
When two operands are
given, the instruction is
a conditional branch. The
second operand spec ifi es
the conditron or conditions
to be tested. The first
operand may be a number
or label and specifies the
branch address·.·

C,O If a carry or an overflow
condition is present, branch to
the address specified by the first
operand. If not, execute the
next instruction" Z, -, +, E If
any of the conditions specified
in the second operand are present, execute the next instruction. If none of the conditions
specified are present, you branch
to i-he address specified by the
first operand.

Same as with No X R except th~ branch
address is equal ·fo the sum of the address
specified by the first operand and the
contents of the specified index register.

()

()

n

c

o
BRANCH

OR

SKIP

OPERATIONS

(Checking Accumulator Condition)
Operation
BSC

No X R
INDIRECT

Ol

W

.....

x

XR

One Operand
If only one operand is given,
the instruction is an unconditional branch to a lucation
anywhere in core.

The operanrl may be either a number or a label representing an
address anywhere in core. Th is
address contains a second core
address. Th is second ad9ress is
the branch address.

The operand may be either a number or a label
representing an address anywhere in core. The
sum of the address specifieJ by the operand and
the contents of the specified index register is a
second core address. The contents of this
second address is the branch address.

Two Operands
When two operands are
given, the instruction is
a conditional branch. The
second operand specifies
the condition or conditions
to be tested. The first o?erand may be a number or lab~l
representing an address anywhere in core.

C,O If a carry or overflow
condi tion is present, branch.
ihe branch address is the contents of the address specified
by the first operand. If not,
execute the next instruction.
Z,-,+,E
If any of the conditions specified in the second
operand are present, execute
the next instruction. If none
of the conditions specified are
present, branch. The branch
address is the contents of the
address specified by the first
operand.

Same ~as No X R except for the branch address.
The sum of the address specified by the first
operand and the contents of the spec ified
index register is a second core address. The
contents of this second address is the branch
address.

: Same as SHORT NO X R.

....

Same as SHORT X R.

~

BRANCH" AND

../

STORE

OPERATIONS

(INSTRUCTION ADDRESS REGISTER)
Operation

SSJ

No X R

X R

SHORT

Requires only one operand.
The short instruction is an
unconditional branch.

The operand may be either a number or a label representing a core
address within 128 words of this
instruction. The andress of the"
next instruction is stored at th is
address. The next instruction that
is executed is at the word following this address,

The operand may bt either a number within the
limits ±. 128 or a label representing' a co"re address
within the first 128 positions of core, The sum of
this address and the contents of the specified
index register is a second core address, The address
of the next instruction is stored at this second
address. The next instruction that is executed is" at
the word following this address.

LONG

One Operand
If only one operand is given,
the instruction is on unconditional branch" to a location
anywhere in core.

The operand may be either a number or a label representing a core
address anywhere in core. The
address of the next instruction is
stored at th is address. The next
instruction that is executed is at
the word following this address.

The operand may be either a number or a label
representing a core address anywhere in core. The
sum of this address and the contents of the specified
index register is a second core address. The address
of the instruction is stored at th is second address. .
The next instruction that is "executed is at the word
following this addre"ss.

C,O If a corry Oi on overflow
condition is present, the address
of the next instruction is stored
at the address specified by the
first operand. T he next i nstruction that is· executed is at the
word following this address. If
no carry or overflow, the next
instruction is executed,

Same as No XR excepl for the branch address. !f
the branch is executed, the sum pf address spec ified
by the first operand and the contents of the specified
index reg ister is a second core address. The address
of the next instruction is stored at this second address,
The next instruction that is executed is at the word
following this second address,

Vl

"
""~

Two Operands
When two operands are
given, the instruction is a
co~ditional branch. The
second operand spec if; es the
condition or conditions to be
tested. The first operand
may be a number or label
representing an address anywhere in core (branch
address) .

~

"I

I

()

C)

•

c
BR.A,NCH

AND

STORE

n
'-'--_ ..-.

OPERATIONS

(INSTRUCT ION ADDRESS REGIST ER)
Operation

BSI

No X R

<..n
(X)

Z,-,+,E If any of the conditions
specified in the second operand
are present, rhe next instruction
is executed. If none of the conditions specified are present, the
address of the next instruction is
stored at the address specified by
the first operand. The next
instruction that is executed is at
the word following this address.

LONG

INDIRECT

XR

One Operand
If only one operand is
given, the instruction is
an unconditional branch
to a location anywhere
in core.
.

The operand may be either a number or a label representing an
address anywhere in core. This
address conta ins a second address .
The address of the next instruction is stored at this second 'address. The next instruction that
is executed is at the word following this second address.

The operand may be either a number or a label
representing an address anywhere in core. The
sum of the address specified by the operand and
the contents of the specified index register is a
second core cddress. Th is 'second core address
contains a third address. The address of the next
instruction is stored at this third address. The
next instruction that is executed is at the word
following this third address.

C,O If a carry or overflow
condition is present, the branch
is executed. The address specified by the first operand contains
a second address. The address of
the next instruction is. stored at
this second address.
The next instruction executed is
at the word following this second
address. If no carry or overflow,
the next instruction is executed.

Same as No X R except for the branch address.
The sum of the address specified by the first
operand and the contents of the specified index
register is a second core address. This second
core address contains a third address. The address
of the next instruction is stored at this third
address.

________________ • ____________________ ________________ --------1---------------------------------~

Two Operands
When two operands are
given, the instruction is
a conditional branch. The
second operand spec ifies
the condition or conditions
to be tested. The first
operand Inay be a number or
label representing an address
anywhere in core.

BRANCH

AND

STORE

OPE,RATIOsNS

(INSTRUCTION ADDRESS REGISTER)
Operation

BSI

z, -, +I E if any of the conditions
specified in the second operand
are present I the next instruction is
executed. If none of theconditions specified are present, the
branch is executed. The address
specified by the first operand contains a second address. The address of the next instruction is
stored at th is second address. The
next instruction that is executed
is at the word following this
second address .

INDIRECT

Ol
~.

.

~

x

~

XR

No X R

Requires only one operand.
The instruction is an uncon- .
ditional branch.

The next instruction that is executed is at the
word following this third address.

•

The operand may be either a num- I Same as SHORT X R
ber within the limits ± 128 or a
label representi n9 a core address
within the first 128 positions of
core. The sum of this number or
address and the address of the
next instruction is a second addre~s . The address of the next
instruction is stored at th is second
. address. The next instruction that
is executed is at the word following
this second address.

()

....

;"1 •

()

o

n

~
'_ J

IBM

IBM 1130 Assernbler
Coding Form

,~

Form X26-.5994-0
Printed in U.S.A.

DISt ASSEh\Bl FR INsm,OCTIONS

Date ______________________

Programmed by __________________________~-----------------------------------

Page No. _ _ _ of _ _ __

Program

Label
21

25

•

•

,

I

,

,

1

,

1

I

k

,

I

•

lBI

,

• •

B,~,

I

I

I

I

~

I

I

I

I

.w

,

,

I

I

1'0.)

,

f---'.

i

IB,N,
IS,p,
[B~,

II

IBIO.

I

1

1

I

I

I

I

I

t

I

I

I

I

I

I

I

I

I

•

I

I

I.rlf1P' ,

I

,

L

I

,

I

,

,

D

,

I

,

I

I

I

I

I

I

I

,

I

I ,

I

I

I

I

I

I

,

,

I

,

"

,BI~CIHI

I

I

I

I

I

I

I]

1\=1 11~,C.ICI

,r?l,RCIHI 1"1 I t=1 1J~1f'.ICI
,gl!~ICt~1 ,1,F, .A,ec,
I

I

I

I

,

I

I

I

I

I

I,

I

I

I

I

,1.tp,lh

I

,A,D.!)' ,t,~>:

I

I

I

I

I

I

I

1

I

1

I

I

I

1

1

I

I

I

I

1

I

I

1

I

1

III

1

I

I

I

~

I

I

!

I

I

I

I

,

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

•

J

I

I

11

I

I

I

I

I J

I

I

I

J

I

I

I

I

1

I

I

I

I

I

I

I

,

I

I

I

I

I

I

~l

a

I
i

i

I

I

I

I

J

•

,

I

,

I

I

I

~

1

i

~

1

1

,

I

I

I

I

II

I

I

"

I

I

I lSI ;!{'~R··Q i I ~_ I
1151 F\',S&!A,T,' ,V,E~
I

I

I IS1 p,o,~! I t1:f ,V,E"
I

I

•

•

I

I

I

•

I

I

1.

1

1.1

i

iii

I

I

I

I

1.1

I

,

I

J

I

I

L1.

•

I

,

I

I

I

I

I

••

I

I

I

1

I

1

11.

I

1

II

I

,

a

,~~.D I ,(\i~,'-.O,t?i II.~I .C~\~l I
I

I;

I
I

I

lili1J1

.111=1 fOi'J,c;~~.L.. ln'!iVI ,j!~\~,DI,C.A,T.Q(;! ,ls ~Qr\~,
I
I
16'~IClrL 11J::: lACA:I.L I LSI lC,J).P) I I , i I • ,
I
I
,
I
I
,
I
I--L...J
I
I
I
I
I
I 1'1
I
I I
I
I I
I
I
I
I I
I
I I

,

J

I

1

I

,

J

f

I

I

I

J

I

!

I

I

I

I

I

I

I

1

,

I

L

:Q.o.RE,~

,

,

I

I

•

aD,D

1

I

I

i

I

,

I

J

,

,

I

I

,B,R,C,~~, ,11~' IC'!i~jl~I~\}~

I

1

,

I

IBRlr"'~1

I

~_

I"

I

I

I

I

! I

,

,

,

~_

I

,

I

I

I

1

I

I

I

I

•

I
I

I

1

~""}S··
"'::Zl

1

,

C,).\J(, RlV.

11

I

I

80

,S&~laR.tL UtN,C10iNIOJI ;TIl ,Q~'l~,L J3IRA,~JC,H,

I

O.\I,i::,RIi=,

I

75

I

I

I

I

I

I

D

I

Identification

70

"U,~.f!CO &\.~,D.I ,T. ~ tOI~"lt~lt_1 1?,!t;?IC!~"'ll ~t~lt\tY!l'il.HIEI ~E'I

I

,

I

•

II

I

I

I
I

•

PillS
I

I)CC!..141
I

•

~£,R.D, I
~!l~~ I I

,

I

I

•

I

IM,D!M

, , ,
,

•

,
,

I

BIOln
,

65
I

A;~,AJ ,I\"'!

L

, ,

I

I

I

I

, ,

60

,
.. S,tG I. PI ,T,t=. ,ACe I l r;,1 ,Pt:>lSlJ ;r.1 ,"/.F=:
I
~{'XS
I
T!
1\1
,E:
10,0
IN
"A
-T
-h-L , 15~J IPi ,ILl=t 14-~C. { ' . 11 1& ,".
·1 I L' 1
, I i "~'
-'0i~1 ~~.i
I

I

55

50

.:-.

SilGP,

lB.

I

Operands & Remarks
45

40

35

33

IS,~P.

_1

I

32

30

27

•

•

I

- F T

Operation

I

,

I

,E,~t_,W,A,i\tGJ?:,

,T:~ :1 :.o~:'1:T: I :O:i\~

~D·oC
:_:_:~~:i~:

: : : I-I
I

E

I

I

C

I

,

I

I

I

!fo~,!\l D E'}~IT.

I

I

E

I

I

I

I

I

I

J

I

I

I

I

I

I

I

I

I

I

i

I

I

I

!

1

III

J

III

I

I

I

I

I

I

•

I

I

I

I

I

I

,

I

I

I

I

I

I

I

I

1'1

I

& I

I

I

I

I

I

I

I

I

i

!

I

I

,

J

J

I

I

I

!

I

I

I

I

I

I

I

I

If'

,

!

I

I

I

I

I

I

I
I

I

I

::: :: ::

i>\.CC,

g

f

I

I

•

•

I

I

I'

Jill

I

I

I

I

I

I

I

I

I

1

I

I

I

I

I

~

I

I

I

i

I

,

I

!

I

•

IJl~lJ

1

J

I

I

I

,

I

I J

I

I

_I

.1.

1.

.L

I

,

I

I

I

I

I

i

I

I

I

1

I

I

I

1

1

1

J

•

I

t

I

I

J

I

I

J

1

I

I

I

I

.1

I

I

11

1

J

i

i

'

I

I

I

I

I

I

I

I

I

I

I

181

J

1

I

I

I

I

J

j

I J

I

J

11

11

I

J

J

J

I

I

I

I

I

I

I

I

•

I

If'

I

I

I

f

I

I

I

I

I

I

I

,

,

Iii

I

IJ

1

I

I

I

I

I

ILl

1

1

ii'

I

f1.

1

I
i

.L

il

J

~

J

I
I
i

I

I

I

I

I

I

J

1

I

I

V-6

I

I

I

I

I

I

I

I

SHIFT INSTRUCTIONS

Short Form Only

I
i

ND XR

XR

The operand is a numberthat becomes
the s hltt count. If a s hitt count of
Zero is encountered, the Ins truction Is
treated as a NOP. The rightmost 6 bits
of the dis placement are us ed to control
the length of the shift.

The XR tagged provides the s hi"t
count. The rightmost 6 bits Of the
tagged register controls the length
of the shift.

-.----4---.-,.....----..----..-----.--.. ---.-.--- _._-_._- -. - ---.--.. -'.-.-.-.-.-. -... ---...-.------ '" -- . . _. -.. . __._.
The Accumulator Is shifted left the number
of bit positions indicated by either the
displacement (Tag = 00) or an index
register. Low order (rightmost) bits of the
accumulator are set to zero.
I
._----,-_. ...
-'--'--j ---------_._-------_.

SLA

1

.

i

__ _-_

The Accumulator Is shifted right the number
of bit positions indicated by either the displacement (tag = 00) or an index regis ter •
High order (leftmost) bits are filled with the
value of the sign bit (bit pos Ition 0) •

8RA

........

. .... .....

--r'· .-.- -.- -_._ .---_._. _ ._ . __. _.._ ---'-'-"'-'- -'.- . __._- - - _._---. f

"-

--------- ........ -,,-----

SLT

..

The Accumulator and extension are shifted left
as one 32 bit register (See SLA).

_____. __ .___.. _,.,. '-'--'''--'-' ~ ...--. .----l---.. .- - -.. -----.-. -.. - - - - - - -"--- ._ _...... -

SRT

The Accumulator and extension are shifted
right 8S one 32 bit register. See SRA.

I'

- . ---..-.-----

-.-~.- ....

(!)

,

-~

..

-"--.'.. --- _._---- -" - - -

----- ....--- -

---------. -----,

..

()

(-)

•

c

c
smFT
~TO

Short Form Only

IFSTRUr.TIC1'T~

X•l

XR

~--

Tag )1ts or 00 cause
this instruction to 1)e
e e r uted as a SLA.

SLC1\

7

The "A-Utn 1.1J;)tor is shi'ted to th~ 18';t th~
number of positions indicated by the tagged
i Index register.
The six low order (rightmost)
bits of the indicated register are used to
: determine the shift ~ount. This r"'ount is
( decremented by 1 for each bit position shifted.
I

I

I

I
SLC

Thel\.ccumulator and extension are shl rted le't
as one 32 bit register. See SLCA instrur;tion.

Tag bits of 00 caus e
this instructIon to be
executed as a SLT.
I

.

- - - -.•- - - - - - - - . --------r---- - - - - . - - - - . - - - - -

RTE

'''-

~

-- -----

I

.- ... -_._-.. . -.. . . -.-.

-.--.---.-.. 'r- .--. . .

XCH

. . - -'-

,
I

I

.. _

_____._. __

~_

.. ___ ..

~

.----

The shift count Is In the
i The rotate count Is found In the indicated
operand field. The low
: irdex register.
i order bits of the extens ion
i! are shifted Into the high
iI order bits of the accumulator.
Cons ider the accumulator and
I
extension to be a continuous
I 32-blt register forming a loop.!
.-.--~
I Exchanges the contents of the i
.n.ccumulator and extension • .N9.
OPERAND Is s pacified. This !
ins truction acts as a RTE 16 l~
,
ins tructlon •
i .______ ._._ _ ._ _ _•_ _
.• __ • _. _ _ _ .• ___
•.. I1......... ______ •• _.• _ _ _ _ _ _ -=._ _ _ _ _ _ _ _ _ _-_ _ _ ._. ____ _
~.

.._--- .__.__ .._--._-

.E.9. ~ OPERATIONS
Operations

No X R

KL

SHORT

The operand may be either a number
or a label representing a core address
within 128 words of this instruction.
This is the address of the first word
,
of the IOCe. *
I

The operand may be either a number ·Nithln the
limits ~ 128 or a label representing a rore address
within the first 128 positions of ~ore. The sum
of this number or address and the contents 0·" the
speCified Index register Is the address of the
first word of the IOCe. *

The operand may be either a number
or label representing an address anywhere in core. This Is the addres s
of the firs t word of the IOCe. *

The operand may be either a number or a

+--_....-.--------.

1

I

LONG

I
I

I
I

..

_--._--

INDIRECT

~-

I
-t

The operand m~y be either a number
or a label representing an address
anywhere In core. This core location
contains another address. This
second 'address is the address of the
firs t word of the IOee. *

representing a core address

----_ .

l~l:>el

repres enting an addres s anywhere In core • Add
to this address the contents of the spe':"'t-fled Index
register. The sum is the address Of therirst
word of the IOee. *
---- ... --._---_.-.--_. ... ....._-- - ....
... -_...
The operand may be either a number or a label
representing an address anywhere in rore. Add
to this addres s, the contents Of the speci"f leri
index register. The sum Is the address Of a ("'ore
location which contains the address Of the rlrst
word of the IOee, *

__ __

-----------------_._-----

x. _. '--.__.__ ._-- --r -~:~-l~-p-~~~flm-ml-~!-.~e1;~th:: -:- l-~~~;---

II

----

' _ _ h· ...

~ _ _ _ .. _....

____

.--.

~--. _ _ . . . _ . _ _ _ . _ _ - _ _ _ . _.. _ . _ _ _ _ _ _ _ - . _ _

--

_ _ _ ..... _ _

Same as SHORT X R.

within

the firs t 128 pas itions of core. The
t sum of this number or address and the
i addres s of the next ins truction Is the I
~address of the first word of the IOCe. *1

.__....._._. __ ._. _____
!

*

_~

_ _..L'_ _ _ _ _ _ _ _ _ _ ,

The IOCe refers to the. Input 0 utput Control Command.
boundary.

~

The first word of the IOee must be at an even

~

()

SAV12 OC
0
DC
6
DC
CONI
/8181
DC
/90tj~:
DC
/72C2
.. _-----. __._--------------_ ..
._---_._------------- --.----BSS
3
aTYl
DC
0
SAVE2 DC
a
BSS
E:.
0
START DC
/ooou
DC
/140LI
- - - -_._---_ .. _--._------------ -------_._
.. _--------------READ
DC
CR8IN
DC
.. -- .... _.. -_ .... - - .• --_._- ----_.-._._- ...
-_.. -._-- --- - - /1200
-- ._--_.__ ------ ---- - ---.- _..
-- .
CRDIN bSS
80
SENsa DC
/0000
_._. _________

_

-

•• - - . - - - -

--

- - - - - - -

.------

. _ - - _ . _ - - _ ••-

-.- •••

--

--_._-_.

____

A

__

..

.. _--

..

-~--'-'

-.

- -----.-..-..-----.--- .. --.-------. --.......---.--.-.... -.. -..-- . . -- . ------.--.--.. ----..------oc--·····--·-·---·- .. ;'-17-0-1---"--'--'--"--"SENS4

DC

/aoo~')

-.- --' ---------------------------------·-----T5c----i17-o2-- .---------.---.---.------..-ADO
DC
LEVQ
-.------.----- .----. ----.- ---------- ·---·------·----1\[5-4- ---tfC--- -----L-E\i-4'
. ADCRD DC

'. --------------.------ ---------.. -.----- -.-... -- ---".--.--

[lTj~i5---LD·----L----

STO
LuX

CRt) I hi
fe'- ---. --.-

L SAV12
L l' LEva

STX

Ll 8
·'LE··V4- -----.----.. ---- -.-.-----.-... --.-.. . --- -.-.-'.

STX
XIO

Ll

_..-------... -----.-.. -------.------.... -- . --- --... ----...-----.. -.. ----------··-----'[0")("-·· '--C.-I--

c

BACK

12
START

MDx
*-1
·-·------LC T S '-r-CE)------C RO- IN
sse L
EOJ. [,--- L

--.---.--. - ... -.--- ...

------.--~-~----.---

.. -

--.------- .. --------> -

113F"------t5cL)"-CN--------··-------·-.----------- ----.- -.

DC

CRDIN

LldF

DCb I t,J
C RD I r~~-&-6~--

------s·f-O-·--------QTYl·----------- --_.- ----------.-- . --.. -

------~DT.:

A

QTY1

.... ------- --.. ----.---..-.-.--.------ - ... -. -------Cf8"F-----·--b-rNOC---- - - - . -..-----.-.----.-.-.. ---. "-..---.. -.--- - - ' - - .-.---- ..- .. - . -.. - - - . -.. - - - . - - - - - - - . - . - - - - - . - - - -.-._- .. _- -->--- . - - - - - - - - - . - - - - - - .

DC
CRDIN&12
Y-6F---'---' -..

~

H-OL~)R-'----------'-------'-

DC
DC
DC

CRD I ~!rJ 1 2
CON1&3

.-... ----.. -.,

/0000

--.-- -- ...--..-- .---------.--------..----.--.----- --------··---------·----bc--·----·-{;---- --..-.---.-.--------.-----.---- ----. -.. l,.D

L

SAV12

-.-.--.----..---.-----.------- ·--·--:;--·-···-------·--------STO---C---·l 2

------

WRTYO
DC
/2000
10
DC
---_.-._--_._._._-_._._-_._------ . - ' - - - - - - - - - - - - - - - - - - - CON 1-- 1
LIBF

12

11

9

o

8

-7·---- -----------.------- ..--------------------------.-.----.------------....-----.-----.----------.-.---.--------..--.-----.--....----6
5
4

--------------

--3- -------.----..--.---.--.----..-.------ -.--..-.---....
2

.. ---------~-

TEST

~vRT

L I UF

DC
.---.----------------- ---- -..

.•.

YO

/OCOG
-_._------------_ _---_ --- -- "------------..

/'v'IOX

...

---~----.--

..

TEST

LUX
Ll LEV4
-- -.-.. -- -.---.. - - - - - - - ----·----·-----------STX-U---·-12----------.----.-.-. ._-----_.. _------

t3se
LEVO

L

De

-~--*

S_--------TX -" -----L2--"._-S/\VE2
- - .. _. - -----.
XIO
St::NSU

_ ...

I0
L
RE l'\O
------x..------.---.-.---------

MDX

LDx
Bose
LEV4

L
I2

--- ._-.-_._-.. ---. ----.----.-..----------------------.--- s T"6--L
Bose L_
EOJ

.

SI\VE2
LEVO

*--x-

DC
X 10
LD

REr\D~&l

5EI'I5:A
--"RADCPC)
E A0

LeT ST

EXIT
END

LO,L\O

________ ~ ___ .~ .r._.._ _._ _ _ _ _ ._ _ _ _ .. _ _ _ ._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ :-----.-~------

-- _.-._._-----_._-------

i

I

·_----------1
_ _ _ r __ " ".__

_ _ _ ~ _ _ _ _ _ _ _ _ _ _ _ _ _ •• _ _ _ _ _ _ _ _ _ _ . _ •.• _ _ _ _ _

••

_. _ _ _ _ _ .• _ .

____________

•.•.• _ . _ _ _ _ _ _ _ . _ _ _ _ • • _ . _ _ . _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ . _ _ _ _ _ _ - - - ' _ _ _ _ _ _ _ _ _ _ _ . _ _ .. _ _ " _ _ _ _ . _ _ _ . _ _ _ _ _

.•

I

11
10

._---------------

9

8
1
...•

_-----_.
J

._-------_ _--_ ---------_._-----_.. _--_._------....

....

.. --~---

)J
r,

..- - . - - - - . - - . - .

•

n
HE. XA DEC I MAL

ID

1)

~

DIS: 1'L. A-Ce rr1 c' N T
-------·---O~--f---l-1-----2--1-3~1--.---4----~---5-

----

I

r-;I

.

I

-

I

'

-

,'..

--~-- . --~1~--·-~-; 1-_~~28-----'-1-~- - .. ~-~- --;1
o

0

·1

,0

3

4

5

f· 32 I

33

I

34

I

35

I
I

._____ ?___ I___ ...~~~ . . I.----4.?J.. 1 ?Q____~l___

. --- A -------8

-------6----I---7--·--r----·-8~--·.---9-

--~

____~O.!

61

7
- ; 2 ----; 3

36

-:, 71

3R

52_

53 _____ 5£,

i 8
I ---24

9
25

-..:--

I
-.---.- -_. -. -. _. - 10
26

11
27

12
2 Ii

7

1_~__1_~__

I . 65

11

J:l}

66

67

..

I

1-: __ 5 5__ ~56

57

.68

__1..!_~__ J}.? __ !.~_6-'_}_1..7_ _1181119

_ _g_._.1-128 _-12 4
-126 -125 -124 -123 -12?_ -121_

___9_-'-::112.1 :-J}J;

I:-_U_OJ.J_O_~ =_!.0_

8_ :-1_0}

=10('.. -::)05

___-'~I~-6--'..::-"2-...:-9!+...L-=-93--~:-:2-2_=-9}- __=_90t.... 89

~I

_:20

' 13
29

E

-32 ,-31

F_ ...:-J:6--'--=-}

-7'lJ

-30

-77

-29

58

59

I ..

60

-27 ...: 26 1

---- -

L

l5
31

o.

'.

15

74

-9

I

~
~

II

f
~\

I
1;

61

76

77

0_-91_1~~] _____~9 3

106

I

107 I 108 I

621

109

78

79

94

95

~~,t~ .

~

-:-}.J_?_

II

I 110 I III
127

,I

:AL3_

-:.11.~_

-:-104 -1 03 -:-102 -1 1 -1 00

- 99

- 9 Ii _ - 9 711

-84

-83

-62

-88

-P.7

-2_~ --=-l:_~_.

'\r~

6:3·

i 121 ._122 123 i 1241 125 I 126 I

-1?'_9__ -1~~_ :-l~_?_=}_.lJ._

~J-::-_~<+- __:~_~L:-12 ~ --=_lgJ ____'::9J_

"t

lit·

-A6

-85

-76

I -28.

[I

1'+
30

"

-7~i -74 ~..::"'--_-:-JL~~-70___:?911 . .-_68! __ -:-6.7
:::..6},_~=_6_L_=_6.9__~....:~9 _L-5_fj_I_~ 57 _-5 6 - 55 . - 5 4 - 5 3 I - 5 21 - 51
!)_1...:--"_8__ [_=-_4_",-- --=-_':_6__~~5_ -.::.'+'+-1:....~-4?-1'--:--42- 1-::41 _-_40 .:.39_ _:- 38 -3 7 I -3 6 1- 3 5
-RQ..! -79

- - -F-

E

~L_4.?_ __'±}___Lt_~I-lt-.5-- _~..!::_6___.~_7. I

40

691 70 I 71 72 73
.._c~--5-. -A~;I--;; -. -:-; ~-i-8-~ . -~-5 1--~6·-A 7_'--88~,~ 9 _
96
-6 --~'!"'__
.__Cl,:~_ ~-'?,d l.9_Q_L~O} J):.o2 103 1041 105 I
64

D

.-. ~--- ..- - - - ------ --- '--

'

39

-. c 1

i

4

~ U , P£

V A t.. ~ c.,,~

---.----1--------1------.1------1---\-----..------ . -.. ,-.._--.- --- .....2

c..t) f\.) VG-Y2., S 1'010

E- Co.. I MIA- L

-23... --.:22 .. -2}

-_8_ _ __7_ ... ::- 6

.... 0_6_ .

-4

-bl

'I

.::(~51

:- 5 0

I -,.91

.... 3 4.

- 33

1_-:-}O_I--=-~_9_ -=!_B..

L_-51 .

I

_:1_7

I :-3 __=_2__ -111

~

~

~

t
~

~,

f
~
~

\;

l

"

I

E

I B 1\1 1130 OPEFATION CODE TABLE
MACHINE CODE SE0.UENCE
08
09

OA
OB
OC
00
DE
OF
100
107

108
lOC
110
117
118
llC

100

XI)

STS
STS
STS
STS
STS
STS
STS
STS
WAIT

40
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F

BSI
BSI
BSI
13SI
BSI
BSI
aSI
BSI
asc
BSC
SSC
BSC
BSC
BSC
BSC
BSC

SRT

60
61
62
63
64

RTE

65

LOX
LOX
LOX
LOX
LOX
LOX

){10

XIO
XIO

1
2

3
L
L1
1.2

L3

SJ..,h

SLCA

SLT
SLC
1
1
1
I
2
2
2

SLA

137
13d
13C

SLCli
SLT
SLC
5L]I.
SLCA
Sn.T
SLC
SLA
SLCA
SLT
SLC

140

SL1~

L

147
148

L

168
16C

SLeil
SLT
SLC
SL1':.
SLCA
SLT
SLC
SLA
SI,CA
SLT
SLC

170
177
178
17C

L3
SLCA L3
8LT L3
SLC .u.j

180
1[;8
18C
130

SRi-\

120

127
128

12C
130

14C
150

157
158
15C
160
167

190
198
19C
11:,0
lli.C
IP.C

1FO
le8
lBC
lCO
Ic8
ICC

SRA
SRT
RTE
SRA

108
10C
lEO
lEa
lEC
IFO
IFG
IFC
20
28
29
2A
2B
2C
20
2E
2F
30

XIO
XIO
XIO
XIO

SRT
RTE
SRA
SRT
RTE

3
3
3

L
L

L1
L1
Ll
Ll
L2
L2
L2
1.2

L2~

L2
L3
L3

L3

LOS

2

3

r·.
'~

Ll
Ll
Ll
L2

1
2
3
L
L1
L2
L3
CONO I'rI ON CODES
08=+
1 09=+0
2 OA=+C
3 OB=+CO
L OC=+E
L1 OO=+EO
L2 OE=+EC
L3 OF=+ECO
OO=NOP
lX=2X=Z
1 01=0
3X=~::.
2 02=C
3 03=CO
L 04=E
L1 05=EO
L2 06=EC
L3 07=ECO

C

SLZ:~

T

..,

XCH
SRA
SRT

1

66

1

67

R'£E

.J.

..

SRA
SRri'
RTE
8RA
SRT
RTE
SRA

2

2

L

RTE

L

71

I1DX

6B
6C

3

L

70

68
69
6A

2

SRT

LOX
LOX
STX
STX
S'l'}{
STX
STX
STX
STX
STX
MDX

3

60

3

6E
6F

17

1
2

3
L

L1
L2
L3
1
2

3
L
Ll
L2
L3
1

(~

£
~.

!i -

J

'"

0
IBlJi 1130 OPERATiON CODE TABLE
MACHINE CODE SEQUENCE

12

MDX

2

Cl

73

MDX

3

C2

74
75
76

MDX

L

MDX

Ll

C3
C4

77
80

81
82
83

84
8S
86
87
88

C6
C7

LD

A
A
A
A
A
A

A
A

1
2
3
L

C8
C9

1

2

Dl

STC

3

D2

Ll

03
D4

STO
STO

tl
t2

L3

AD

S

L

95

Ll

DB
DC

L2

DD

AO
Al
A2

S
S
S
SO
SD
SD
SO
SO
SO
SO
SD
M
M
M

A3

M

SF
90
91

92

96
97
98

99
9A

98
9C
9D
9E
9F

L

1

2
3
L
Ll

t2
L3

tDO
LOO
LDO
LOO
LOO

CA
CB
CC
CO
CE
CF
DO

94

88
80
8E

"

CS

L3

93

B~

8D

0

L2

MOX

AD
AD
AD
AD
AD
AD
AD
S
S
S
S

89

;C:

MOX

to
tD
LO
LO
LO
to

1
2

3

t

LOO Ll
LOO

too

L2
L3

STO

1
2
3

STO

L

DS
D6
D7

STO
STO

t1

STO

L3

1
2

08

3

DA

STO
STO
STO

2

t2
L3

09

sto

L2

1

3
L
L1

L3

DE

1

OF
EO

STO
STD
STD
STD
AND

El

AND

1

E~

L2

AND
AND
AND
AND

2

E3·
E4
E5

L5

£6

AND

L2

AND

L3

1

£7
£8

2
3

£9
EA

OR
OR

2
3

L
Ll

L2'
L3

3
L

L1

OR
1

2

.~

_ _ _J

;<~

~.. ~(:

A4
AS

M
M

L
Ll

A()

1\11
M
D
D

L~

A.1

AS
A9
AA

AS
AC
AD

AE
AF
CO

0
0
0
0
D
0

to

L3
1
2
3

L

Ll
L2
L3

EB

OR
OR
OR

L

OR

EF

L2

OR

t3

PO

EOR
EOR
EOR
£OR
EaR
EOR

Ll

£OR
EOR

L2
L3

Ee
ED
EE

FI
F2
F3

F4
F5
F6
F7

3

Ll

1
2
3

L

c

IBlVI 1130 OPERATION CODE TABLE
Page 1

SYNtBOLIC SEQUENCE
('~,:
;/

80

A

81
82
83
84
85
86
87
88
89
8A
8B
8e
8D
8E
8F
EO

A
A
A
A
A
A
A

E1

E2
E3
E4

()

E5
E6
E7

L1
L2

L3
1

2
3
L
Ll
L2
L3
1

2
3

L
Ll
L2
L3

F5
F6
F7
CO
Cl
C2
C3
C4
C5
C6
C7
C8
C9
CA
CB
CC
CD
CE
CF

20
60

AA

D
D

AB

D

61
62
63
CONDITION CODES 64
QQ=NOP
lX=- 65
1 01=0
2X=Z 66
202=C
3X=Z 67
303=CO
AO
L 04=E
Al
Ll 05=EO
A2
L2 06=EC
A3
L3 07=ECO
ft,4
08=+
A5
1 09=+0
A6
2 OA=+e
A7
3 OB=+OO
70
L CC=+E
71
Ll OO=+EO
72
L2 OE=+EC
73
L3 OF=+ECO
74
75
76
1
77
2
E8
3
E9

AC

0

L

AD

E1\

D

11

EB

48
49
4A
4B

4C
4D
4E
4F
40
41
42
43

44
45

46
47

A8
A9

G

AD
AD
AD
AD
AD
AD
AD
AD
AND
AND
AND
AND
AND
AND
AND
AND

1
2
3
L

BSC
SSC
BSC
BSC

sse
Bse
SSC
SSC
SSI

BS1
SSt
BSt
BSI
BS1
BSI
SSt
D

ECR
EOR

EOR
LD
LD
LD
LD
LD
LD
LD
LD
LDD
LDD
LDD
LDD
LDD
LDD
LDD
LDD
LDS
LDX
LDX
LDX
LDX
LDX
LDX
LDX
LDX

Ll
L2
L3
1

2
3
L
Ll
L2
L3
1

2
3
L
L1
L2
L3
1

2
3
L
Ll

L2
L3

IVi
NI

1

M
M

2
3

Ivr
rv;
1VJ

M

L
Ll
L2
L3

IV1DX
lViDX
MDX
MDX

I
2

3

N1DX

L

MDX

11

IVtDX
Iv!DX

L2
L3

OR
OR

1

OR
OR

2

3

......., - -..._,,1... __. -

•

"

•••

,

' .. M' • • •

• , ••• ,' ,. t'"

-:t ••..

~,t

'tr'I··

..

':.,;~';'" =.';';;,;,~:~~Jt:.~.~.-.o:;~.:.~~~'~"" " k " "

- .. ~, •

..• ::; -_. -"~"_'~'"""'"--I..J.._~._....~ ...

tBf\/J 1130 OPERA'l'ION CODE TABLE

SYlvIBOLlC SEQUENCE

90
91

92
93
94
95

S
S
S
S

9A

S
S
S
S
SD
SO
SD

9B

SO

9C
9D

SD
SO

SE

SO

9F

110

SO
SLA
SLA

120
130

SLA
SLA

140
150

SLA

96
97

98
99 .

100

SLA

160
170

SLA

107

SLCA
SLCA
SLCA
SLCA
SLCA
SLCA
SLCA
SLCA
SLe
SLe
SLC
SLO
SLe
SLe
SLC
SLe
8LT
8LT
ST. .T
8LT

117
127

137
147
157
167
177
IOC

lIe
12C
13C
14C
15C
16C

17C
108

118

128

138
148
158

168
178
180
190

lAO
IBO

1

SLA

SLT
SLr!
SLT
SLT

2

Iro

3

188
198

L

L1

lAB

L2

188
I C8

L3
1

2

8RA
8RA

108
lE8
!F8

L

08
09

U

OA

L2
L3

DB

3

1

2

3
L
Ll
L2
L3
1
2
3
L

11

L2
L3
. 11
2
3
L
Ll

L3

STn

1
2

STO
STO
STD
STS
STS
STS
STS
STS
STS
STS
BTS
STX
STX

2A

L

SRT
STO

DS

28
2C
2D
2E
2F
68
69
6A
68

2
3

L2

STO
STD

L2

1

Ll

SRT

03
D4

D6
D7
28

60

Ll

SRA
BRA
SRT
SRT
SRT
SRT
SRT
SRT

D2

DC
DD
DE
DF
DO
Dl

29

L3

8RA

STD
srD
STO
STO
STO
STD
STO
STO
STD

Ll

L2

L3

L

3
L

Ll
L2

L3
1
2

3
L

Ll
12

1
2
3

L
U
L2

L3
1

STX

2
3

STX

L
Ll
L2
L3

srrx

6E

STX

6F
30
180
08

STX
WAlT
XCH

09

OA

XlO

Q'13
0'0

XIO

do

XlO

L

1

Ll

2

O~

XIO
XIO

L2

3

.9r

XI0

L3

L2
L3

~

C\

L3

STX

6D

~,

~I

1
2
3

XI0
XlO

BRA

BRA

100
lEO

Page 2

1
2
3

C,'

AE
AF
FO
FI
F2
F3
F4
IDe
lEG

ire

D

L2

D

L3

EOR

EOR
EOR

EOR
EOR
RTE
RTE
RTE

1
2
3
L
L1
L2

L3

19C
lAC

OR
OR
OR
GR
RTE
RTE
RTE

llBC

RTE

ICC
lCO

RTE
8RA

EC
ED
EE

EF

lac

L
Ll

L2
L3

1
2

3
L
L

('~."!
iV

.~_ _ _ _ _ _ _ _ _ _ ,J

c

SESSION REPORT
COMMON - Chicago

Session Number
Chairman

WED A8
----------------------

Session Name 1620 Project

H. B. Kerr

Time____~8~13~O~t~o~1LO~.O~O~______~----

Attendance (No.) ____4~O~_________

Speakers __________~P=a~t_=Em==i=n~_____________________________________________

Scott Butler

Synopsis of Meeting

Attendance dropped off since it was .the last day.

Papers were good with a small amount of discussion.
was held following the last paper.
New Chairman was elected.

•

A business session

Present Co-Chairman resigned.

Plans were made for Philadelphia.

!

f,l "\

..

---~-~---~.-,-.-,

----

..

---

C'\

t';

COMMITTEE:

1620 PROJECT

SUBJECT:

Running FORTRAN II - 0
In background mode with
spooling and check-point

SPEAKER:

PATRICK P. EMIN
University of New Brunswick
Fredericton, New Brunswick
Phone: 506 - 475-9471

TIME:

Wednesday, April 10, 1968
9:15 A. M.
Session A8

NO. OF PAGES(TEXT):

23

c

RUNNING FORTRAN II-D IN BACKGROUND MODE
WITH
SPOOLING AND CHECK-POINT

Prepared for presentation at
.
the COMMON Meeting, Chicago, Illinois,
April, a-10, 1968

by

Patrick P. Emin

UNIVERSITY OF NEW BRUNSWICK
COMPUTING CENTRE

Fredericton, N. B.

o

April 4, 1968

!

ABSTRACT
A description is given of modifications made to the
MONITOR II system and·some additional programming which permits
the formation of a disk job queue, made up of Fortran II-D
programs.
By the use of a sub-monitor, job-to-job transition
can be controlled and switched alternately b"etween card reader
and disk. Provision is also made for spooling of I/O on disk,
deferred printing or punching, and check-pointing of executing
programs.

c'

.~

(

j

CONTENTS

"",/

Subject

.....·.
·. .. .. ..
·
.
· . . .· .. · .. .. . . .
·..
·
.
.
·
.
.
.
·· .. .. · .
· .· .. ..
· .· .. ..

GENERAL. • • • • • • • • •
BACKGROUND . • • • • •
Subroutine DSTASH • •
S UBMON • • • • • • • • • • • •
Subroutine DPRINT • • • • • • • • . • • •
Overnight Production Line • • • .
• •
Subroutine MISER • • • • • . • • . • • •
SPOOL • • • • • • • • • •
Subroutine SPOOL • • • .
• •
Check-point-Restart. •
. ••••
Subroutine CHKPT..
.••••
Program RESTRT..
• ••
Summary. • • • • • . • • . .

o

Appendices
Appendix A - Overnight Production Line
Programming Instructions
Appendix B - Overnight Production Line
Operating Instructions
Appendix C - The DISQUE Sub-monitor

o

1
2
2

3
3

4
5
7
7
7
8
8
8

RUNNING FORTRAN II-D IN BACKGROUND MODE
WITH SPOOLING AND CHECK-POINT

1.

GENERAL

1.1
In a busy 1620 operating environment, programs with
running times exceeding a few minutes usually cannot be completed during batch-processing express runs with heavy
throughput. As a result, time-consuming programs are often
returned to the user unfinished and usually with 'accompanying
instructions concerning personal scheduling of additional
time.
1.2
Consequently" a nethod hqs been devised by which,
with the addition of a new control card, and one or two simple
CALL satatements, FORTRAN II-D programs may be arranged to
perform the following.
1.2.1

Executing programs may be automatically or manually
interrupted, and automatically placed in a queue
(waiting list) on 1311 magnetic disk storage for
future resumption by a sub ... monit'or.

1.2.2

Pro~rams may suppress and postpone punched card
and/or printed, line output, and store such output
on 1311 magnetic disk. This permits the 1443
line printer and the 1622 card punch to be shut
down and left unattended for the duration of a
program e.g., overnight, and on completion, all
output may be obtained in one continuous sequence

1.2.3

Card input data associated with a program may be
read "in toto", in one continuous sequence at
the beginning of the program. The card images
are stored on 1311 magnetic disk, and thereafter
may be read as required, either free-style or by
FORMAT, each card as often as desired, and in any
order. Thus, the 1622 card reader may also be
shut down during program execution.

1.2.4

Any combination of 1.2.1, 1.2.2 and 1.2.3 is
possible. All three together will, for our
purposes, be referred to as "spoo11ng".

- 2 -

, ('It\
/

1.2.5

2.

Long running programs may be check-pointed by
the programmer to guard against the possibility
of machine or other malfunction. The status of
the program as at check-point time is preserved
on 1311 magnetic disk.

BACKGROUND

2.1
By including the FORTRAN II-D control card "':::BACKGROUND" at the head of a .source deck, the 1620 operator is
provided with the facility for interrupting an executing
program and having it stored automatically in one of the
permanent storage areas on 1311 magnetic disk (6 at present).
This is accomplished by turning sense switch 4 ON, consequently,
like sense switch 1, this switch should not be used by the
programmer. Use of the control card *BACKGROUND increases
the length of the users object program by 8-13 percent, and
causes loading of library subroutine number 22 at run time
(length = 112 cores).

o

2.2
Subroutine DSTASH -- When the FORTRAN statement
"CALL DSTASH" is encountered in a program the program is
automatically interrupted and placed in one of the permanent
storage areas on disk. If no permanent space is available,
provision is made for the o1?erator to resume the program or
to store it in a temporary lpot-luck) area. It is NOT necessary to include the ':::BACKGROUND control card, but as a result,
the program may be stored and resumed ONCE only, unless the
statement CALL DSTASH can be reached from within any program
loop when sense· switch 4 is found to be ON. DSTASH uses
library subroutine number 22 but itself takes up only 42
memory locations, therefore it is usually more economical than
':::BACKGROUND in respect to memory space allocation.
2.3
Program DSAVE1. This program is called into play
by the sub-monitor via library subroutine 22, with >:::BACKGROUND
whevever sense switch 4 is ON, or, by subroutines DSTASH or
SPOOL when called by the programmer. It requires no memory
space allocation by the programmer, since it overlays the
contents of memory when in use. It provides the main facility
for interrupting, storing and resuming programs in BACKGROUND,
maintains the sub-monitor switches, indicators and records,
and generally can be considered as the heart of the sub-monitor.
1.

o

No. 7.0.078 in the 1620 program library.

- 3 DSAVE can also be activated manually by the 1620.
operator through the use of library subroutine 19 (LDSAVE).
However, its use in this manner is undesirable except for
temporary program interruptions, since the stored program is
not considered to be in proper BACKGROUND~ and cannot participate fully in the Disk Job Queue (DISQUE) or Overnight
Production Line (OPL).
.
2.4
SUBMON -- When the UNB Operating System disk packs
are mounted, the 1620 is under control of the IBM MONITOR II
system and the UNB sub-monitor (SUBMON). SUBMON is a subsupervisor within the MONITOR II Supervisor which controls
job-to-job transition between the card reader stack and the
DISQUE. When no jobs are pending in the card reader, program
DSAVE is called in to begin processing of programs stored in
BACKGROUND. DSAVE extends the supervisory action of SUBMON
by co-ordinating the functions of ~:::BACKGROUND, DSTASH, DPRINT,
MISER and SPOOL via a communications record on 1311 disk known
as DATERA, which retains a running account of disk space
allocation, SUBMON status, mode of operation and job-accounting
information (current job number, date and user name).

3.

Subroutine DPRINT

3.1

When the statement nCALL DPRINT" is executed in a
FORTRAN II-D program, the normal operation of the FORTRAN
arithmetic and input70utput r,outines is modified in order to
effect the following:

3.1.1

When sense switch 1 is ON (the normal setting)
all print/punch output remains normal, being
channeled to the appropriate output device.

3.1.2

If sense switch 1 is found to be OFF all print/
punch output is channeled to the 1311 magnetic
disk where it is stored in consecutive records
beginning with the first available disk sector
as indicated in DATERA.

3.1.3

When sense switch 1 is turned ON again, the next
PRINT or PUNCH statement eauses stored output(if
any) to be channeled to the appropriate output
devices in one continuous sequence up to and
including the current record (s).

'Z

- 4 When "CALL EXITft is executed, the 1620 will be
interlocked with the 1443 printer or 1622 card
punch in order to output all stored records UNLESS
the program originated from the DISQUE, in which
case it will return to the waiting list in
BACKGROUND until the qu~ue has completed one
cycle.
3.2
Once DPRINT has been activated, all FORTRAN execution
error messages go to the console typewriter.
This subroutine is most effective when used during
1443 printer repair and maintenance periods, and in the
BACKGROUND mode for overnight scheduling. Subroutine DPRINT
occupies 14 memory cores and requires the use of library
subroutine 20 (length = 1930 memory cores).
3.3
DPRINT in BACKGROUND. A program which uses DPRINT
and also has included an *BACKGROUND control card may be
placed in ,the DISQUE at any time by' the 1620 operator, or by
the programmer with CALL DSTASH. The program will then be
ready to participate in the Overnight Production Line. Such
programs must run in the normal mode (sense switch 1 ON) prior
to admission into BACKGROUND, or, at least have no output
already stored on disk.
4.Uvernight Production Line (OPL)
4.1
It is quite possible to submit a FORTRAN II-D program
for diagnostic testing in a batch-processing express run,
already prepared for overnight scheduling. However, the
programmer must ensure that hiS/her program is already
thoroughly tested and debugged, or at least will be tested
during the limited diagnostic run it will be given in the
batch.. This is necessary, of course, to obviate CHECK-STOPS
or,other tthang-upsft which may occur during overn;j;ghtproduction.
(A program trace and interrupt routine is available from the
authoroti:request).
4.',2,:.,>,~~t;¥etluires three separate passes for the sub-monitor

to completea.program in the OPL •

.4.2.1 'Eassl- the Assembly phase.

The program is comexecuted in the normal mode.
The·remay be initial output for testing and
monitoring purposes. CALL DPRINT is reached early
,in the program; during batch-processing runs this
'~ll bccur within the limited time permitted.
The'
1620'operator will turn sense switch 4 ~ONto interruptthe program and transfer it to BACKGROUND,
'or, the programmer may use CALL DSTASH, whichever
occtlrsfirst.
pil~d,assembledand

- 5 -

4.2.2

Pass 2
begins
senses
or the

- the Production phase. The sub-monitor
selecting jobs from the DISQUE when it
the last card thru the 1622 card reader,
1620 operator may activate SUSMON. Each
~rogram in the queue executes to
completion
\with sense switch 1 OFF, 1443 printer and 1622
card punch OFm. All print/punch output is
channeled to the 1311 disk where it is stacked
sequentially for each program. As a program
reaches completion, it returns to the DISQUE
in BACKGROUND. When the queue has cycled once,
all programs will be ready for output release
and the printer or punch will be selected and
interlocked with the 1620.
Pass 3 - the Output phase. When the 1620 is
interlocked with a peripheral I/O device it requires
human intervention, therefore pass 3 must await
the arrival of an operator (usually the morning
after). Once the required device(s) has been
activated, the stored output for each program of
the queue in turn will be released uninterrupted
in one continuous sequence.

4.3
Programming instructions for the Overnight Production
Line appear in Appendix A. Operating instructions may be
found in Appendix B.

5.

Subroutine MISER

5.1

Consider the following:
5.1.1

A program whose frequency and/or extent of data
input is dependent on program execution, i.e.,
logical decisions resulting therefrom, may impose
upon the 1622 card reader for the duration of the
program.

5.1.2

It might sometimes be desirable or expedient to
re-read one or more cards, or an entire data s~t,
perhaps even under dif£ering formats, wlihout having
to re-stack them in the ca~d reader hopper.

5.2
Both of these obstacles may be overcome by the use of
subroutine MISER. Card images . can be stored on 1311 magnetic
disk in the same order in which the cards appear in the reader,
or even in a different order, according to the wishes of the
programmer. The programmer has complete control over the
location of the card-image records within the boundaries of
the available disk space; it is merely necessary for him to
keep an index of the records (physical or logical) within the
program. The easiest method of course is to use sequential
records beginning with number one.
)
I~

c

- 6 -

C\
"I

5.J

In its simplest form, MISER functions as follows:

5.3.1

A card is read into the program, either free-style l
or under format, e. g.,
READ, X, Y, Z, M, N

5.3.2

This is followed by a call to MISER with the positive value of the desired record number as argument,
e. g.,
CALL MISER (1)

c

5.3.3

The card contents are stored on disk in record
number one (1). The values read from the card
for variables X, Y, Z, M, N mayor may not be
used and have no effect upon the operation of
MISER or the storage of ' the card image.

5.3.4

The same card contents may be retrieved and reread many times, either immediately or at any
time during the program, under any style, and
only as much data extracted from it as desired.
This is accomplished by first placing a call to
MISER, with the negative value of the record
number as argument, followed by the required
READ statement, e. g.,
CALL MISER (-1)
READ, J
Note that any value from a card may be chosen at
'will and read into any variable, irrespective of
mode, at different readings. In the last example,
J will assume the value formerly associated with
X on the first READ; the remainder of the card is
ignored at this time.

5.4
Although the general method outlined above for using
this subroutine provides the nrogrammer with a prolific means
of exercising control over his input data, a more powerful·
concept exists with the reading and storing of entire data
sets in one fell swoop at the beginning of a program. The card
images are then available on a permanent basis, either individually or collectively, for the duration of the program (also

4C)

continued ••••••••
1.

No. 01.02.019 in the 1620 Program Library.

- 7 LINK programs and succeeding ones in the job stream).

5.5

MISER in BACKGROUND. It is acceptable to use MISER
in the BACKGROUND mode" however" like DPRINT, it must be under
control of the sub-monitor and the program must enter the
DISQUE for the Overnight Production Line. At~resent, only
one program per queue can be scheduled in this manner,and of
course it mU$t also use DPRINT. At this point then" we will
introduce the concept of "spooling" under the sub-monitor.

6.

Simultaneous Peripheral Operations On-line (SPOOL)

6.1
Spool may be familiar to users of larger and faster
computing systems (such as ,the IBM system/360).
Insofar as the 1620 is concerned" the concept could,
only be applied to the initial reading of cards and their storage on 1311 disk during the 1622 clutch cycle, concurrent with
CPU processing. However this, together with the similar ·queueing of output and its subsequent channeling to a selected:
device should help communicate to the ~ovice some idea of the
capabi i ity of the IBM System /360.
6.2
Subroutine SPOOL. When MISER and DPRINT are both
required in a program for overnight scheduling, the statement
"CALL SPOOL" will replace the previous call to DPRINT at the
beginning of the program. Using SPOOL causes DPRINT and MISER
to be loaded with the program initializes them for the submonitor during pass 1 of the OPL, queues all input data, onto
disk" and then kicks the program into BACKGROUND on the DISQUE.
It is not necessary to include an ):~BACKGROUND control card.
Further details on the use of SPOOL in the OPlL appear
in Appendices A and B.

Z.

Check-point and Re-start

7.1
Another facility which will be familiar to users of
the IBM system/360 is that of check-pointing a program during
execution and subsequently re-strating it from one of the checkpoints. The purpose of such a device is·to store a program.
complete with its status as it appears when the check-point
is reached during program execution. The disk storage area
used is transient, and will always yield a version of the program
as it existed d:uring the most recent check-pointing. Should
Continued •••••••••

C,'

"

- 8 the 1620 malfunction, or should it be necessary to cease processing suddenl~~,or should it be desirable to follow alternate
processing paths in a long-running program then the re-start
procedure will resume the version of the program last stored
at the check-point.
7.2
Subroutine CHKPT. Whenever the statement "CALL CHKPT"
is executed in a program an image of the entrie 1620 memory
is stored in the common check-point save area on 1311 disk.
If sense switch 4 is found to be ON, the program in memory
will be terminated on an end-of-job condition, otherwise processing will be resumed with the next statement following
in the program.

7.3
Program RESTRT. This is a disk-stored program which,
when executed, will re-start the processing of whatever· program
happens to be residing in the common check-point save area.
As an example, a programmer may'. decide that, instead
of executing a time consuming program several times, h~ can
place a CALL CHKPT at a strategic point in the program which
perhaps requires considerable time to reach. This point may
constitute a decision such as selection of additional input.
Then, whenever the program is restarted, it may ta~e different
logical paths depending on the input it receives. Re-start
is also available as a one-card utility loader.

8.

Summary

8.1

Running FORTRAN II-D under control of the sub-monitor
provides the facility for manual or automatic interrupt of
executing programs, and storage on 1311 magnetic disk by
DSAVE through the use of ':==BACKGROUND or CALL DSTASH. Such
programs form a Disk Job Queue (DISQUE) and await their turn
at continuation in cyclic order, per~aps many times before
completion.
8.2
By placing the statement "CALL DRPINT" at the head
of a FORTRAN II-D program, provision is made for bypassing
immediate use of the 1443 printer or 1622 card punch and
queueing of output on 1311 disk packs. Output may" be channeled
to the appropriate devices on completion of the program.

o

-. 9 .-

8.3

Time-consuming programs in BACKGROUND which make use
of subroutine DPRINT, qualify for the Overnight Production Line
(OPL) and are better-equip~ed for completion within a reasonable
period of time.

o
1:t...J."

8.~

Input data may also be queued on 1311 disk by the use
of subroutine MISER. The same data may be read by the program
many times and in any style, format or mode desired, without
the use of the 1622 card reader.

8.5

A program may undergo "spooling" of input and output
in the DISQUE Overnight Production Line. By calling upon subroutine SPOOL, the program utilizes subroutine DPRINT, subroutine
MISER, library subroutine 22 (BACKGROUND) and program DSAVE in
order to effect the necessary stages of queueing for successful
completion of the program.

8.6
A program may preserve its state at a check-point
within the program by executing the statement CALL CHKPT.
Computer memory in stored intact in the common check-point
save area on 1311 disk, and the program may be re-started from
that point by executing the program "RESTRT" or by using the
one-card re-start utility loader.

i

'1

;f"",

14."~.v

Appendix A - Overnight Production Line (OPL)
Programming Instructions
GENERAL
For the user who has no particular programing problem,
or no severe memory space limitation, these general instructions should suffice.
1.
Programs should be checked out thoroughly, and completely
debugged before being submitted to the OPL. A program whtch
check-stops or otherwise "hangs up" will hold up the remaining
programs in the queue.
Include the control card "):~BACKGROUND" at the head of the
source deck with other FORTRAN II-D control cards.

2.

Example 1
"JOB
#FORX

surname

):~BACKGROUND

*LIST PRINTER
etc.

3.
Code the statement "CALL DPRINT" early in the program,
at least within the first 5 minutes of execution. If possible,
place at the beginning of the program.

4.
Arrange to have all input data read at the beginning of
the program, and at least within the first 5 minutes of execution.
5.
Insure that the statement "CALL EXIT" is the last executed
statement of the program (although not necessarily the last
source card before the END statement). CALL EXIT must be
reached.
Examp~.e

CONTROL
CARDS

2

#t0B

O

':'LI~~X PRINTER

surname

)::( SUMXY -SUMX:;:~SUMY }/SQRT (
1 (FN':(SXSQ-SUMX>:~SUMX) ,:~ (FN>:::SYSQ - S UMY':::SUMY) )
HSQ = R' >::: R

14

PRINT 14~FN, R, RSQ
FORMAT (13HbbSAMPEbSI2E=I5, 5X2HR==F12.8,
l5XlOHR-SQUARED=F12.8)
CALL EXIT
END

3. Use of subroutine SPOOL causes what is known as "priority
schedu1ingtt of the program in the DISQUE. It will be first
to be processed during pass 2 of the OPL.

4.

Additional memory space required
subroutine SPOOL
subroutine MISER
library subroutine 20
library subroutine 22
Total

=
=
=
=

532 cores
1128 It
1930 n
112 tt

=

3702 cores

C:

Appendix B - Overnight Production Line (OPL)
Operating Instructions
GENERAL
The OPL is processed through three separate passes. The
first pass may be carried out for each program separately, at
different times during the dqy, normally by one of the Computing
Centre staff. This must be under strict control to ensure that
the program doing the largest "spooling" is added to the DISQUE
first. The staff is also responsible for setting up the OPL
data decks if any.
Pass 2 may be initiated by any operator, normally the
last computer user at night 'preceding the scheduled OPL.
Pass 3 is controlled by the first morning operator and
requires approximately 30 minutes to release a full disk of
output.
In general, should any malfunction occur during OPL in
hardware or software (machine or programs), when in doubt,
type in a branch to the MONITOR supervisor (490079R/S). More
explicit information is supplied in the instructions for each
pass.
Passl - Computing Centre Operators
General
1.
Compile the program in the normal manner l and permit it
to execute for a reasonable time. If ~:::BACKGRuUND is used,
allow at least 5 minutes.
2.
If the program does not execute an automatic interrupt
(via subroutine DSTASH), turn sense switch 4 ON. When the
message "~::BACKGROUND" types out turn swi tch 4 OFF again, unless
the last card has been read thru the 1622 reader and you do
not wish to activate the sub-monitor( see Appendix C).

FULL DISQUE

If there is no room available in the DISQUE, then carry
out one -of the three following alternatives:

3.

o

a.Turn <:switch 3 ON, press start and type in a sector
, address to put the program in a pot-luch area. It
maybepbssible to finish the program presently.
Continued •••••••••••

- 2 (f---'\

b.

Turn switch 2 ON, press start and resume the program
if time is currently available.

c.

Press start to abort the job, and give it priority
in the next OPL. This can be done by placing a
ftCALL SPOOL" at the head of the source.

"'

../

Spooling

4.
If the program is ftspoolingftJ follow the instructions
given on the console typewriter. The input data for the
program must be removed immediately from the 1622 reader, or
well marked (by placing a coloured tag in front of the last
card in the stacker). This Will go to form part of the OPL
job deck and will be the first data to enter the reader during
pass 2.
5.

Remember that the program using the largest disk space
for SPOOL must be run first (this will be the program having
the most input data), therefore it must be the last such
.
program to enter the DISQUE.
Program Hang-up

6.
Should a program check stop or otherwise hang-up, dispose
of it in the usual manner by using the UNCLE post-mortem
debugging facility.

c

- -3--

C:

Pass 2 - Night Operators
GENERAL
1.
Ensure that the ",CLOBBER" disk, pack no. 09999 is mounted
on 1311 disk drive O.
2.

Turn all sense switches OFF.

3.
Place the OPL job deck in the card reader and execute.
The deck consists of the following:
tFJOB
OPL
(comments and instructions)
i=:J=PAUS
t=+=XEQ OPL
~}

(data optional)

c~,

If a "DSAVE countdown" occurs, allow it to continue thru
to the selection of the first program in the DISQUE. Do not turn
on switch 4.
4.
After execution has begun, press STOP on the 1443 printer
and 1622 card punch, advance the printer paper to a new page
by pressing CARRIAGE RESTORE, and place a warning card over the
printer switches stating that the printer must remain OFF unless
attended.

5.
Attach the OPL instruction sheet to the 1620 log, turn
roomlights out and lock the door when leaving
Program or System Hang-up
6.
Should a system error occur while DSAVE is restoring a
program to memory, the computer will come to a HALT (48 in the
OPERATION REGISTER) within 2 seconds of the message: "nSAVE
i name RESUMED". Press CHECK RESET and START to re-try. After
9 tries, CLEAR MEMORY, remove any data cards remaining in the
1622 reader for the aborted program, and LOAD the MONITOR "cold
start" card followed by the OPL job and any data remaining for
the other programs in the DISQUE.
7.
If a user program fails (check-stop) after it is resumed,
remove its unused data, if any, from the card reader, replace
any other remaining data and press READER START. place the
1620 in MANUAL, press INSERT and type in: "4900796R/sn to-reactivate the sub-monitor.

- ,4-Pass 3 - Morning Operator

c

GENERAL
1.
At the completion of its scheduled time, the OPL should
be finished with pass 2, and the 1620 interlocked with the
printer or punch. The queued programs will have cycled thru
execution once each, and the first one returned to memory for
output release e' Otherwise, GO TO STEP 8.
2.
Turn sense switch ION. Ensure that the 1443 printer
is prepared on a fresh page of paper, and the 1622 card punch
is prepared with blank cards in the hopper. Press PRINTER
START and/or PUNCH START.

3.

Attend the output devices until completion of the OPL which
requires a maximum of 30 minutes. If you must leave the room,
STOP the 1620 or the output'devices. (In completion, place the
output and card deck in the "JOBS COMPLETED" box.
Program Hang-up During Pass 2 (overnight)
4.
Should the 1620 be check-stopped or otherwise hung-up
because of program malfunction during pass 2, it may be toti
late to continue with the remainder of the OPL. In this case;
a.

Complete the preparations as in (2) and (3) above

b.

Turn sense switch 4 ON

c.

Press RELEASE-INSTANT STOP(SCE)-RESET-INSERT

d.

Type in: "4900796R/S", then turn switch 4 OFF
when instructed.

This effectively switches processing from the DISQUE to
the card reader.

5.
Execute pass 3 manually for each program in the DISQUE
which had been resumed during pass 2, as indicated by the typewriter messages. This is done by reading in the following for
each program:
F=t=JOB
t.=t=XEQ DSAVE
(blank card)
(blank card)

OPL

When the message "ENTER AREA NO." appears on the console typewriter, type in the digit corresponding to i of the message
"DSAVE i • name RESUMED" which had appeared on the typewriter
during pass 2 of the OPL. This will release the stored output
for that program.

c

l'"

c

- -5 Program Hang-up During Pass 3
6.
If a program check-stop or other hang-up occurs after
pass 3 has begun, merely RELEASE-INSTANT STOP-RESET-INSERT
and type in "4900796R/S" to continue processing.
Running Overtime in Pass 2
7.
If it becomes necessary to interrupt on OPL which is
running overtime in pass 2, do so as follows:
a.

Turn sense wwitch ION. If no output occurs within
a reasonable time, turn sense switch 4 ON. to'.l·'eturn
the program to BACKGROUND.

b.

Prepare the, output device (s) and make them READY
as in steps (2) and (3) above.

c.

If there is output, turn sense switch 4 ON. The
program will return to BACKGROUND when output is
complete.

d.

Resume each of the programs in turn as indicated
on the typewriter paper during pass 2, by manually
activating DSAVE as outlined in STEP 5 above.
(except the one which ran overtime)

1311 Disk Overflow

8.
If the OPL is still in pass 2, i.e., the queue is still
undergoing its first sycle, and yet the 1620 is interlocked
with the printer or punch, this indicates that all the available disk space has been filled with program output, and the
sub-monitor is attempting to accommodate more. Proceed as
follows: (Otherwise, GO TO STEP 7)

a.

Prepare the printer and/or punch, make them
READY as in steps (2) and (3) above, turn sense
switch 4 ON and allow output to continue until
the program returns to BACKGROUND, or for a
maximum time computed as follows:
Time (minutes)

o

=

30/no~

of programs already
resumed.

b.

If the time allowed is exceeded, press STOP (SIE)
on the oonsole then,

c.

Press INSERT and type in "4900796R/S"

d.

Resume each of the programs in turn which were
processed during pass 2, by executing DSAVE as
in STEP 5. (except the program already done above).

Appendix C - The Disk Job Queue Sub Monitor

1.

c

GENERAL

The MONITOR II Supervisor Job Card Read Routine has
been modified in order to perform the following additional
functions:
a.

When END OF JOB is reached, console switch 4 is
examined. If ON, a new JOB is accepted from the
1622 reader. If OFF, the LAST CARD indicator is
examined. (This indicator goes ON when data from
the last card has been transferred to memory. It
is turned OFF by interrogation.)

b.

If LAST CARD indicator is ON, the sub-monitor goes
into a 10 sec. countdown loop, at the end of which,
DSAVE will be called into memory to begin automatic
execution of saved programs. If switch 4 is turned
ON before the countdown is complete, a new JOB will
be accepted from the reader.

c.

If LAST CARD indicator is OFF, the sub-monitor then
examines the Disk Job Queue (DISQUE) indicator to
determine if DSAVE has priority over new JOBs from
the 1620 reader.

d.

If the DISQUE indicator is ON, a countdown begins,
which can be interrupted by turning console switch
4 ON before completion, otherwise DSAVE will go on
to execute the next background program in the queue.

e.

If the DISQUE indicator is OFF, a new job is accepted
from the 1622.

o

Once a countdown loop is completed, DSAVE will select
one of the available saved programs from the DISQUE without any
operator action, and run it in the "background" mode. Each time
DSAVE is entered, the DISQUE counter is incremented by ONE and
the correspondingly numbered SAVE area (1,2,3, ••• ) is executed.
When ~ll are completed, the sub-monitor awaits a new JOB from
the card reader.
2.

OPERATING PROCEDURES
a.

Turning switch 4 ON before END OF JOB occurs will prevent
the countdown and accept a JOB from the 1622 reader.
Otherwise, SWITCH 4 ON will interrupt the countdown
••••• continued

C,

-

2 -

after it begins. After the message "TURN OFF SWITCH 4",
and after switch 4 is turned OFF, it may be turned ON
again immediately if desired.
b.

Placing TWO BLANK CARDS at the end of a deck will allow
the card deck proper to be read completely without
turning on ,the LAST CARD indicator. NON-PROCESS RUNOUT does NOT turn on this indicator.

c.

Once a saved program has resumed execution, it may be
suspended again at any time by the operator in the
usual manner.

d.

Control may be passed from the MONITOR supervisor to
the sub-monitor at any time by:
(1)

Reading a blank card through the 1622 card
reader, .2.£.

(2)

Typing in a branch to 40048.

MONITOR
SUPERVISOR

(fNO of ~OB)'

REAP NE'W!
, ;]*c8FROMR3----.....

1&22

•

'.

, yes

8EGIN,
~~'O SEC

CtJUNTDO\VN

No
. PROCESS

NE)(TPR06
IN DISQUE

No
READ tlfW
uOB FROM
1622
I

~IS~UE

SUB .. MoNIT~·R

FLOW
. CHART
.
. ''
.

•.

c;

Adaptat.ion of an IBM 1094 Scientif.ic Program for
Use on the IBM 1620 II Computer
J. M. Read, Jr., R. W. Crecely, J. H. Goldstein and
R. S. Butler

The scientific user with access to a 1620 can sometimes
be confronted with a problem.

Programs may exist which, while

performing the calculations necessary to his field of research,
have been written for other machines and thus are not usable
by the scientist.

Common programming languages such as FOH-

TRAN to a great extent alleviate this problem but diff.iculties
still exist.

o

In particular, problems are encountered when one

attempts to implement programs wr.itten for large, fast computers since the 1620 user may find that:

(1) the program con-

sumes an excessive amount of core storage; (2) the execution
time is so slow that use of the program becomes impractical.
These problems were encountered by our installation when the
.implementation of LAOCOON II (a 7094 FORTRAN IV program for
the calculation of nuclear magnetic resonance spectra) was
attempted.

Our computer is a 1620 II with 40K, floating point

hardware, one disk drive and .paper tape IO.
LAOCOON II possessed a number of basic .improvements over
the program in current use at that time.

It was thus highly

desirable for the new program to be put into operatiOn.

o

Unfor-

tunately the program was of such size that it could not be fit
into core storage.

Data storage alone required 32,000 core

AA444hl&J&AJ".,,,g""''''U',iA 1(".",k •. ".,

,t1fl!T%'li\#,.,#.tAtAA,."QRiH

- hl# .. -'- -

r

,II

2.

positions in order for the full capabilities of the program
to be retained.

The decision was thenfnadetorewrite LAOCOON

o

in basic machine language but because of the stringent core
storage requ.irements the MONITOR system SPS II-D, requiring
2402 core positions at execution time, was u.nacceptable.

In-

stead SPS III was used.
The problems .imposed by construction of a machine language
equivalent outside the framework of the MONITOR system became
immediately apparent.

The translation of statements involving

only ari thmetic calculat.ions w'as straight forward.

The real

problems were created by the absence of system routines.

For

instance, there were no input-output routines for either the
typewriter or the disk.

Also, routines to perform the normal

MONITOR functions of loading program links during execution
and loading compiled programs to d.isk storage did not exist.
It .is th.is facet of the project wh.ich we will primarily discuss.
The basic design philosophy of the system routines involved
the construction of programs with enough generality to handle
the various tasks required of the program but limited enough
so that core requ.irements could be held to a min.imum.

Because

of the restricted nature of the routines no attempt w.ill be
made ,to prov.ide descriptions of internal program logic.
stead attention will be paid to

specif~c

In-

examples of the use

of the substitute FORTRAN system rout.ines for the purpose of .
indicating one solution to the problems caused by the absence
of an operating system.

c

3.
Figure 1 shows an example of the format required for the
use of the typewriter output routine.

The routine is entered

with a branch and transmit immediate containing as the Q field
data the address of a two digit field following the instruction.

This first field gives the total number of items to be

assembled into the 10 buffer.

In this example there are four

alphameric labels and three numbers, making a total of seven
,i tems ·

Follow,ing this is a DEFINE SYMBOLIC ADDRESS contain-

ing a minimum of two operands.

The first gives the location

of the format list; the last gives the address of the next
instruction to be executed after the output operation has been
completed.

c

The intervening operands, if any, specify

the

addresses of the numbers to be assembled into the output buffer.

They can be ei ther fixed or floating po,int numbers com-

pletely interchangeably.
of four digit codes.

The format list consists of a series

The third digit of the code is a record

mark if control or alphameric information .is to be processed.
A flag over the second digit differentiates between the two,
with alphameric data indicated by the presence of the flag.
If there .1s no flag over the second digit and the first two
digits of the field are zeros, a carriage return is executed.
If the first two digits have a non-zero value, the indicated
number of spaces is assembled into tJ;le output buffer.

In our

example the first code indicates a carriage return While the
second indicates that five spaces are to be assembled into the

o

output buffer.

The next code contains a flag over the second

digi t indicat.ing that alphameric data is to follow.

In this

.~~----

.-~

-......__..•......•.. .... .. _"."._. __ .... .._......_.._-

..- - - - . - -..- .....•••..•........--.- .............

"

_

-"

4•

case the first two digits of the code indicate the length of
the alphameric data field.

The data must immediately follow

the code and have a record mark assembledas the last character.
If a record mark .is not the third character of the code word,
numeric data is indicated.

A flag over the fourth d.ig.i t indi-

cates a floating point quantity; no flag indicates fixed point.
The first two digits give the total width of the field while
the last two indicate the number of places to follow the decimal po.int.
fied tield

If the number is too large to fit wi thin the speciw~dth,

an error is indicated and the offending value

is displayed on the typewriter in internal floating point form.
When the specified number of items have been assembled .into
the output buffer the line is typed and an exit occurs to the
last address given in the DBA.
Perhaps the most important routine which had to be wr.i tten
was the disk input-output routine.

The nature of the calcula-

tion of N:MR spectra .is such as to require the frequent movement
of large amounts of data to and from disk storage.

Hence a

conveniently used disk IO routine was a necessity.

Figure 2

shows an example of the input data required.

After the entry

to the program the first item required is a one digit code
indicating whether an input or output operation is to be performed.

Zero indicates input; one

ind.~cates

output.

Next

comes the location of the sector address where read.ing or wr.i'ting .is to begin, followed by the return address to the mainl.ine
program.

Each item in the IO list which follows is composed
,

of two or more items.

The first item is e.ither a zero, one,

5.

( "','"

\

or two in a single digit field which indicates respectively

;/

whether a scalar, vector or matrix .is to be transferred.

A

flag over this d.igit indicates that the .items to be transferred are .in float.ing po.int mode.

For a scalar quantity the

only additional .informat.ion required .is the address of the
scalar.

For a vector the addresses of the first element of

the vBctor, the .initial index value and the f.inal index value
follow the indicator code.

The entry for a matrix cons.ists

of the .ind.icator code, a three dig.it f.ield containing ,the number of elements per column and a series of addresses wh.ich
spec.ify, respect.ively, the first element in the matrix, the
ini t.ial and f,inal row .ind.ices and the .ini tial and final column indices.
c~:

A record mark as the indicator character ind.i-

cates that the IO l.ist has been satisf.ied and causes an ex.it
to the prev.iously spec.ified address.

As .in FORTRAN when con-

trol is returned to the mainl,ine program the sector count has
a value one greater than the last sector wr.itten or read.
The extensive matrix man.ipulations required by the program necessitated the frequent use of subscripted arrays.
Because of the large number of times a subscript routine would
be executed 1 twas dec.ided to make this operation as restr.icted
as possible.

Single subscripts were calculated in line (i.e.

no subrout,ine was used for their calculat.ion) by s.imply multiply.ing the .index value by the appropriate word length and .
adding to the result the address of the f,irst element in the
array.

The sum was then used as an ind.irect address.

Implicit

_ . _ _ _ _ _.•.•..•.,,"'.

,.. "...." ...

c~.,~._·

_.

~,_"

... "'. "_.,__ •__

,_.~~~

_ _,._._,,•.,..__._._'__ •.''''''

6.
in this method is the requirement that for N items the index
run not from 1 to N but from 0 to N-l.

This same restriction

was carried over into the double subscripting routine.

Input

to the double subscripting routine consists of the address
associated with a DEFINE SYMBOLIC ADDRESS declarative which
has as operands the labels of the row and column indices.

An

increment is calculated and placed in core such that when the
array address is added to the increment the result is the
address of the desired element in the array.

Before the sub-

scripting routine can be used the column length of the array
must be stored in a fixed location in core.

The calculation

of a subscript requires the execution of only six instructions
not including entry into the subroutine.
Perhaps the best example of the gain in speed at the loss
of generality is provided by the linkloading provisions.

Once

the program has been compiled the core locations of the various routines are fixed.

This enables one to store the program

links on the disk in core ,image format mak.ing subsequent loading very rapid.

The "system loader" consists of a disk seek

instruction, disk read instruction and a branch instruction
located in an area of core storage that is never:

overlayed.

When a new program link is to be brought in, possibly

overlay~

ing the calling program, a disk control field containing the
appropriate information is tranferred to the location required
by the disk instructions.

Also the branch instruction is sup-

plied with the address of the first executable statement in

Ii.,

o

ZlI'tll!i'Y'E

7.

c

the neW' program.

When the
pr.ogram
logic
allows, .the seek will
.
. .
.
..

"

.'~

be initiated by the callj.ng pr()gram in order .to.all.ow for pro-:cessing overlap.

The

~ntrance.

to the loader routine is then

made at the dis k read ins truction,.

Under ordinary cir.cums tance s

entrance is made at the disk seek .. A routine also had to be
written to load the assembled programs into d.isk storage.
This task is accomplished through the use of TRA-TCD instructions which are used to load the program into core storage
along with the information needed to store the program on the
disk.

The disk loader routine .is first loaded to core storage.

Information regarding the use of the program is typed and the
f.irst program is loaded into core by means of a TRA instruction.

,

..... )

'-.->'

Each program is begun with a DEFINE ORIGIN which places within ..
the load rout.ine the program number (for identification purposes
only), disk storage address, the number of sectors required by
the program, and the locations in core storage where the program beg.ins and ends.

Another DEFINE ORIGIN is then used to

place the program into the proper area.

~e

last instruction

in each program is a TeD instruction transferr.ing control to
the disk loader which stores the program on the disk and records certain informat.ion about the program on the typewri ter.
Depending upon a sense switch setting, the loader either halts
or attempts to load the next program.

A special code in the

last program terminates loading.
The finished program conSists of twenty-eight subprograms

o

and contains over five thousand source statements.

Some idea

of the savings in core storage can be gained by noting that the

,~--.-

•......... .... .. .....
,

,

"

,

....... "..

-"~~------~-.

8.
full capabilities of the 7094 program were retained.

No accur-

ate estimate of the increase in execution speed can be given
since the FORTRAN vers.ion could not be .run on the 1620.

How-

ever, comparison of the machine language matrix diagonalization
rout.ine used and .its FORTRAN equivalent indicates that execution speed is increased by a factor of three.

o

()

LIST

BTM
DC
DSA
DS
DC
DC
DC
DC
DC
DC
DAC

OUTPUT,*+13

2,7

LIST-2,WIDTHO,HIGHTH,SPECWD,R2P
1

3,(4
1,0

3,5(3,
1,0

3,-14
1,0

14,LINE

DC
DC
DC

4,-603

DC
DC

1+, -702
3, -25·1j)

3,-7'A

1,0
DAC "], HZ

C'
, I)

DC
DAC
DC
DC

WIDTH =

1,0

:~

25, CM/INT
4,-702
3,-li:9l.

SWEEP WIDTH =

~

DC ' 1,0

R2P

FIGURE 1.

DAC 4, HZ?
NS I

TYPEWRITER OUTPUT FORMAT EXAMPLE

•
AiC&i==;mig;"ua;,:m :UU,",$U,4MiWiGM4f#MM!;;TWiit#.AJ, _. . !i'"'"

I:
I

o

LIST

RET
FIGURE 2.

8TM
DC
DSA
DC
DSA
DC
DSA
DC
DC
DSA
DC
NS I

DISKIO,LIST
1, 1
SECTCT,RET
1,0
CNSTNT
1,1
VECTOR,INITAL,FINAL
l,2

3,7

MATRIX, IROW,FROW,ICOL,FCOL
1,Q

DISK INPUT-OUTPUT FORMAT EXAMPLE

SESSION REPORT
COMMON - Chicago

WED B1
---------------------

Session Number
Chairman

L. H. Baker

Time

10,30 to 12.00 AM

Session Name

Intermediate Cours.

for Application. Programmer.
Attendance (No.)

57
--------------

Speakers _ _ _ _--=Mr~.;......;P:;;..;e;;.;t;;..;e:;.;:r~S:;:;.;:a:::..v:...:i::.:d::.;;e:;..;8=_____________________

Corporate Systems Education
CHQ Dept. 684

IBM

Red Oak Lane (Soong Estate)

c

White Plains. New York 10604

Synopsis of Meeting

The origin, content, availability and objectives

of the ICAP program were reviewed.

Key points . .viewed were.

1) lCAP va. 'USS.st.d by the SET c01llDittee of Guide and
developed by IBM.

2) It 1. deslgned to proviclle an outline of an intermediate or
aclVanc.d course inprosr.-ing technique. for people who
c:an·orlanize and t.ach the material in their organization.
·lt5~8avail.ble

to COMMON me.bers intere •••d.

writ. directly to Mr. Savid.s.

J

They should

ICAP
INTERMEDIATE COURSE FOR APPLICATION PROGRAMMERS

This handout consists of some representative material from the ICAP
package. The total package consists of 32 instruction modules, each covering a specific programming topic. Every module consists of the following
eJ.ements·:
1.

-2.
3.

4.

Cov~r

Page - Describes contents, objectives, prerequisites and
hInts for the instructor.
Learning Plan - Overview of the module and its contents.
Suggested sequence and method of presentation.
Student Guide - Describes contents, relation of the module to
the student's professional growth, and hints for the student.
Customizing Guide - Guideline suggestions to assist the·
instructor in tailoring the module for presentation.

In addition to this material, found,in all modules, each contains some
or all of the following supportive material:
1. Foils - In printed form that can be converted to overhead
transparancies.
2. References - Abstracts of published material or spe.cially written
for ICAP to support the IBM publications.
3. Examina~ions and Special Supporting material.
The enclosed representative lCAP material is as follows:
1.

2.
3.

4.
5.

If

A listing of ICAP mo~ules.
Cover Page, Learning Plan and Student Guide for Module 24;
Introduction to ICAP.
Cover Pages for following modules:
5 Controls
7 Standards
8 Documentation
18 Special Characteristics of COBOL F
20 ,DASD Techniques
26 Planning for Programming
34 Arithmetic Statements and Efficiency
Cover Page ;or Module 10: Communication Techniques
\L1nRages •
Customizing Guide for. Module 23; Overview and Review of Basics.

yo~

would like additional information on ICAP please contact:
MR. PETER SAVIDES
IBM - Corporate Systems Education
CHQ Dept. 684
Red Oak Lane (Soong Estate)
White Plains, N. Y.·
10604
Phon~: _.(914) 696-5962
...

o

?Tn.,

CI

7

leAP MODULES

MODULE NUMBER
1
2
3
4
5

7
8
9

10
11
12
13
14
15
16
17
18
20
21
22

23
24
25

26
27

28

29
30
31
32
33

34

0··,
,

~L

MODULE TITLE
Data definition
Program Logic Control
List Processing
Table and array techniques and
the operation of the compiler
Controls
Standards
Documentation
JCL
Program communication
Data set manipulation
Testing
.
Programming efficiency
Systems
Report writer
Sort
Maintenance
COBOL F features

•

Direct access techniques
Cutover & conversion
Case study
Overview & revie\v
Introduction to ICAP
Modular programming
Programming planning
Program generalization
Programming systems
MIS and data base
Multiprogramming and ·asynchronous
. processing
Program design
IBM Programming Support
Decision table coding
Arithmetic statements and the
operation. of the compiler

lCAP COVER Pl\GE NODULE 24:

ABSTRi\C'r OF COi·J'l'ENf!,S:

INTRODUCTION '1'0 IChP

(r.

Provic:es for the \>lelcomo and other logis-

!

,.]'

tics of the class" Gives the purposes of lCAP, its history, anc1
content. Revic\'.]s the. cho.ng"ing envil:onmcnt of application progrnmming which, in part, led to the need for leAP. Provides a frame
of reference for the modules vlhich foll0''1. Includes the motivation of students.
.
.'
OBJECTIVES OF HODULE -- 'rhe st.udent will:

1.
2~

3.

4.
5.
6.

KnO\" the purposes of lCAP.
Put extra effort into learning, because he is made to
see the importance of reAP to his professional dev~1op­
ment and, hence, to his career.
Obtairi a frame of reference for the content of leAP
This frame of reference will include the objectives of
leAP I its schedule I and environment ",d. t1d. n .\oJhich
application prograr:t1nars can expect to t.-lork in the f\.\ture.
Be aHare of the logistics of the class ..
Understand the methods to be used in evaluating his
performance in leAP.
Use the self-evaluation aids provided in leAP.

if'''-

STUDEN'L' pnEREQUISrI'ES _ ....

~~,

COBOL I Basic Progranulling I OS/360 I ,JCL I
DASD, Basic data processing
Experience required: 6-12 mont.hs programming in COBOL.. Have
completed one major pl."ogram.
Material to be studied: IC~~ References 24-1, 24-2, 24-3,

Kno\11edge required:

24-4, 24-5, 24-6, 24-7, 24-8
The spirit in \'Thich you appr.oa.ch IC]\.P
has a great deal to do with how successful your students are

HINTS' FOR THE INSTRUCTOR:

at achieving the objectives of the CO\lrSC ~ It is up to yo'..~
to reveal to thera the importance of leAP to thei): future = it
is your. job to arouse their enthusiasm s.nd obt.ain their
contini tllcnt to achieveracnt.. During IC1~P, you should al",ays
se~~k higher. l.evelsof perfo,:"mance than you \~oul.dexpect in'
day-to·.. day \-lQj:-k. This striving tOiltard excellE'~nce Hill help
compensate for the inevitable slacking off and f6rgetting
which OCCU):S " aft:er a training period 1s over.
I

/:

.. :/

,,,'7

!!I !lIl!!r:::llfII1"'!nnr:rtJI7!'",;

Em
leAP LEARNING PLAN

Ci

NODULE 24:

INTRODUCTION TO ICAP

OPENING: Welcoree to leAP, the. Intermediate Course in
Applications Prog T2.:nming. Our version of ICAP Has adapted
f~om' the original course produced by I Br·i under the auspices
of GUIDE.
(Iland out copies of 'outline)
.
HANDOU1

1

PREVIEN: This module handles the mechanics of the class.
It
sets the pace and tone for the following two weeks.
It places
the students' classwork in the context of requirements of
·their jobs and the environment of programming •

...

LOGISTICS

Days and hou 18 of class.
(TvlO weeks recommended)
Materials available~
(See suggested list found in
Reference 24-9)
Other logistics related to local educational
conditions.
.

PURPOSES

o

ICAP is designed to begin the professionalization of the
relatively inexperienced programmer. You can call your
studertts' attention to the list of capabilities given in
Reference 24-5. Achieving more of the capabilities
OPF 24-0
of the intermediate.applications programmer is only
one of the purposes of lCAP.
Using OPF 24-0 explain the goals
of ICAP in your company. Have each student write
EXERCISE
his int~rpretation of ~he purposes of leAP as they
apply to him.
.
Measuring performance '~gainst purposes is ·perhaps
even more important in reAP than in most courses.
Because lCAP is designed oh a.professional level, the student's
evaluation of his o'-:n p'rogrpss becomes central to evaluation.
In orde~ to do a good job of e~aluation, he needs yo~r help:

EVALUATIOH

1.
2.

3.
4.
5.

In making. a committment to the purposes of leAP.
In relating his learning to purposes.
In establishing and using .criteria of accomplishment.
In determining and recording his
OPF 24-1
accomplishment. . (The evaluation forms
.OPF 24-2
provided with reAP can be useful here).
OPF 24-3
In assessing his progness relative to criteria
of achievement in lCAP.
(Examinations formed from
the questiqns provided with lCAP can serve as one
measuring instrument. You can provide other
mea~ures of achievement, .such as effort required to
complete problems.

PRo.GRAHHING
ENvr RONl·1ENT

.0

Application· programmers find it nc;cessar:r to adjust;
to frequent changes in. their ,,,orkJ.ng. envJ.ropment.
Some of·these ch~l).ges are as important as a move to
the next generation of equipment and.sbft0are; others are as
m-inor , as a change in thc.slashingof letters in
OPF 24-4
coding. On OPF 24-4 c·xplain. the meaning ·of each
OPF' 24-5
change. On OPF 24-S: ask 'for c6mments~
DISCOSSION
..
."..

-2-

leAP LEAPJ~rNG PLAN

l-10DULE·24

Point out how many modules within reAP deal with problems
raised by changes in the progranuning environment. Encourage
participation by all students in the discussion.
Examine the details of changes in the programmers job
as the environment change.s. Use programming
language change as an example.
-

OPF 24-6
OPF 24-7

c

c

ICAP STUDENIJ.' GUIDE

HODULE 24:

INTRODUCTION TO lCAP

ABSTRACT OF CONTENTS: Provides for the \'lelcome and other
logistics of the class. Gives.the purposes of, ICAP, its history,
and content. Reviews the changing environment of application
programming which, in part, led to the need for leAP. Provides
a fr~me of reference for the modules which follow.
OBJECTIVES:
1 ..

2.
3.
4.

When you complete Module 24 you will:

Know the purposes of ,leAP.
Have related those purposes to your own professional
,programming goals.
Know hO\,I to evaluate your o\o/n pr.ogress duri:lg class.
Be aware of h6w changes in the ~nvironment of
progranuning prompted the development of leAP.

RELATION OF HODULE TO YOUR PROFESSIONAL PROGRJ::SS:

ICAP is

~esigned to prepare'you to step up into the ran~s of th~ more

o

experienced programmers.

It is intended to:

1. C6nso1idate your knowledge and experience.
2.' Locate and fill gaps in your knowledge of the
fundamentals of programming.
3. Introduce you to ne~" concepts, techniques and skills ..

leAP provides you with ,an unu~ual opportunity to increase your
professional competence as a programmer. Properly, used, these
days in' class c~n enhance the value of your ~xperience and
provide you \vi th ne\,l co"mpetence to handle more diff icul 1:; and
rewarding assignm~nts.
'
You have a responsibility.to yourself to learn as much as you
can in leAP. The intermediate applications programmer should,
possess many capabilities. Some of the~e are listed iri lCAP
Reference 24-5.
•

o

HINTS FOR THE STUDENT:
This is the beginning of your work on
leAP; success comes from good beginnings. It is extremely
important that you begin ~y re1atl.ng the goals of leAP to your
goals as a progess~onal programmer. This undoubtedl~7 \\1i1l
require a searching examinatiQn,by you of your career to date,
your response'to those experiences, and ,your hopes for the .
'future. Such ane~amination can'not be, concluded in onc session;'
it will extend throughout rCAP and, probably beyqnd. nowever,
your irtstructor will ask you ,to makci a first iteration of this
analy'sis and to write, do:\vn ~n initial appro,ximationof the

, -2-

leAP· STUDENT GUIDE

MODULE 24

relationship of y.our

persona~

goals to the purposes of leAP.

The ordinary educational practices of good study'habits,
evaluation of progress, etc. apply to lCAP,as to any other
course. lCAP differs in that your job experience before and
after the classroom sess~oris is considered to be part of ,I CAP.
You will work to integrate previous expeiience with new
knowledge and prepare to make subsequent experience serve the
pu~poses of lCAP.

.

C'

'

,

)

·c
,

iI,

IC.?\P COVER PAGE HODULE 5:

C.'. \
,iI

CON'l'ROLS

ABS'l'Hl\.c~e OF C01~·l'El.'Pl'S ~

Covers t.he possibili ties of 10f~s of
control, the techniques used to determine control cone.i tions
and the method!..) of restoring and retaining control. Special
atten.tion is givc.n to the checking of the quali i:y of input
and outp~t. .
.

The underlying considerations:

Create an appreciation for
control requirements and the capability to satisfy them.

OBjEC'fIVES 01" 1'·10DULE --- 'l'.L1e student. will:
flo

1.

Include sufficient validity checks in his programs.

2.

Prepare a sui table. cont:cols pla.n. for the

3.

Choose control techniques appropriate to an appli6ation and to his local requirernantsc .

CRse

study.

4. . Build ~ontrols in~to his prog:c?.ms \vhich \1i11 stand
up to the severe test condi~cions "imposed on them
by the instructor.
STUDENT PRJ;:;REQUISI'llF.S:

KnO'tvledge required ...., some farn:Lliar5.ty \'lith t.he syst.ems
implications of contl:01s
.

Matcl.'ials to be s'cudied '~',ICAP Roferences 5~~1, 5-2"
I Bf!l F 2 0. 0 0 0 6, C? 0 ·.. 16 ~- 9 ( Ch " 9 )
0

Stl'UDENT ~. .CTIVITIES DURIl~C.; l3)
3 • ( a)

Quart i c :

y

= Same

as l.(a)

+ L: 6 .. X.X.(X.-X.)2 + L: [3 .. 'kr.X.X

1.J 1. J

1.

J

1.1.J

+

1. J-lc

lS:i+

BlO;XZ.X3X4XS·;+B31 {X1X2.X3X14X5 )+832.( (X~-X2)XIX2)+B3:;{ (.Xl-X:::)XlX3')iB 3lf ( (X~-X3 ) X2X 3 i +B3 5 ( ( )(.1-X4· ) X lXIt ) +838 ( tX2.··X4) xzxtt)+
~37((X3-X4)X3X4)+B38( (Xl-X~)X1X5~B39(

B~O(

(XZ-X5)XZXS)+

(X3-X5)X3X5'+841{ (X4-XS)X4XS)+B42

Nl = NO~ Of DIFFERENT COMPONENTS (DIFFERENT X) IN MODEL.
NZ= NO. OF INTERVALS TN 5IMPLEX BORDER (AT BASE).
~4= BASE ON ORIGINAL SCALE~ (UNITY,lO,OR 100-- FUR PER CENT)
3~:::

FO;:~

BA SE

PROPERTY (SMi\LLES T VALUE OBSERVeD-WHOLE No.,)

NL= Now OF lABEL1NG HEADER CARDS
B(l)= COEFFrCI~NTS IN MODE~ EQUATION.
K8= 1 FOR PURE CUBIC OR SPECIAL QUARTIC,: 0 IN ALL OTHER CASES.
X( I::: EXPRES510N IN PARENTHEsIS FOR CORRESPONDING 8{ I) IN MODEL.
B(4l,: CONSTANT IN EQUATION, WHEN USED.
X(4~)= 1 TO KEEP CONSTANT IN EQUATION.WHEN DESIRED.Act)= BASle COMPONENT RATIO BEFORE CONVERTING FoR BASE.
CONV= CONvERSION FACTOR TO BRING COMPONENT RATIOS To ACTUAL AMT.
AN= CONSTRAINT ON SUM OF COMPONENT VALUES.
CT= CONSTRAINT TEST TO KEEP POINTS WITH1N SIMPLEX MODEL
DIMENSION B(4B),X(48) ,A(5)
_ FORMAT (3IQ,F,.o.213)
(8 F 9 • 0 )

:2 FOR MA T
FOR M.h. T

(5 >. :;, '-! A 1 ,

t..

f)

X. 3 H X.2

t

6 >~ 3 H I- 3 , S i\ :3 H X 4 , 6 >( 3 rl

X 5 • 7 ,\ 'i H RES P 0 N S t

)

5 FORM!T (5F9.2,3X.E16.9)
c

FOR til I: T (I r 4 , 11 H" CeM po N r: NT S , 4 X , r 4 , 1 0 H IN T ~ 1:< VA L 5,
(7 21-1

-; r 0 R M;~ T

8 FORMAT

I4

,S H BAS E I)

(lHl)

9 FORMAT (30H WHAT IS NUMBER OF COMPONENTS.)
20 FORMAT (401-1 NO. OF COMf-'ONENTS EXCEEDS 5, TOO LARGE.II)
10

vI R I T E (3, 8 i
READ (2,]:Nl,NZ,N4,SP,NL.KB
IF

(NI)

14,15,16

14 CALL EXIT
~5

\JR I TE

(3 ~ 9 )

PAUSE 1

•

GO TO 10
16 IF (Nl-5) 18,18,17
1 7 WR 1 T E {3, 20 )

PAUSE 2.
.

GO TO
19- DO·}l

10

I=:l,NL
RE.AD (2',1)

&&h2«A4<£M4QM4m·

,~,

-16.
11 WR IrE· (3 t 7 , .............. - .. -........-......_.,....... .

INITIALIZATJOH OF VARIABLES'
.00 12. 1=1,'18
X(I)= 0.0

12 B( 1)= 0.0
N3= N2+1
AN= N2.
AN4=N4
CONY::

ANq/AN

WRJTE (3,6)Nl,N2,N4
WRITE

(3,4)

DO 13 I::: 1,41,8·
.. '" ... -.........
1 3 READ < 2 , 2. l S ( I ) , Bel +- 1 ) ~ a (1 + 2 , ; B ( I -+3 ) ,B CI +4) , B( r +5) ,5 CI -+ 6 ) ,B ( 1 +1 )
X(4Z)= 1.
.
\

N5= -1

Do· 50 I:: 1, N3 • 1
N 5'~: N5'+ 1
N'~·: N3-N5
A(l):: 1-1

xLl):: A(lJ*CONV
N7::: -1
00,,0 J= 1,N6.1
N7= N7+1
N8=

N'-N7

Al2.)= J-l

xtZ)::; A(2)*CONV·
X{q)= X(l)*X{Z)
IF (Nl-3)

c·

19,2.4,24

19 CT= A(l}+A(Z}

IF (CT-AN) 50,21,5C··2.1 y;;;; 0.0
DO 23 N= 1~2
23 y= .y+ (8(N) *x (~f»)

Y=

Y+8(~)*X(4)+B(q~)+BP

_ WR I T E ( 3 , S' ) X ( 1 )
-~,.. GO,' TO 50

2.4 N9,: -1

,x (z., ,X (3 J ,x (S ) , x (1 (,) ,y
" ...... -._. -... --.. . .-.~ . . . -.. . -.:....~-. .

¥ . . . . . .' ••• -

•••

'~- ~"'"'~~'.'''_''':'''_':'~'M''''''' -

.•..• , .• _ .... _._ ....,......... , .• ", ..."

-.~ ..... -

_ .. '.-..........

~

' .. ••. ,....

~

~

• ••. ...... ..... - ............ ,................. , ••

~.-

~

........... ....- ......... ' ••

,

DO 49 K= 1,N8.1
N9-= N9+1

NIO= N8-N9
A(3)=

K-1

X(3)=

A(3l';~CONV·

X (5)::

.x (1 , ..x (3 )

X(6

).:

X ( 2.) -;1)( (3 )

X(7)=

X{l)~x(')

.:~

IF (Nl-4) QO,28t28
,5 CT= A(1)+ACZ)+A(3)
IF (C T -AN) 49 9 Z 6 t t+ 9
26 y= 0.0
DO 27 N= 1 ,1
'27 y= Y+B(N)*X{~)

yo: Y+8 (1f.2 ) .;.BP
WR rT E (3,5) X ( 1 )
GO TO 49

,x ( 2 ) , x (3 ) • x. (8 ) , x (16) ,y
... ~ ....... - .

2.8 Nll= -1
DO 48 l=1,N10.

Ntl:; NIl+l
N12= NIO-Nl1
A ,I,,.,::: L~l
X(S)=ACJ4.,)1f'CONV

(

.. ,.

c

DO 29

N::l~7

29 X(N+8)= XCN)*X(Bl

()

IF (Nl-5) lfO!l34,34
3() CT= Atl)
DO 31 N= 2,14
31 CT=:· CT + A(N)
IF (CT-ANJ 48.3l,48

32 Y= 0.0

DO 33 N= 1,15

\33

3~

V:::

V .... CS(N)1tX(N))
Y-=Y+B(LfZ.)+BP
WR IT E ( 3 , 5 ) X ( 1 ) 'X ( l ) ,X ( 3) ,X,( 8 )

GO TO 48
DO 47 M= 1,NIZ,1

,x (16) ,y

A(5)= M-1
X(16)= A£S)*CONV
DO 35" N; 1, 15"
35 X ( N+ 1 ~ ) = X ( N ))fX ( 1 6 )
IF (Ni-5} 40;40,17
36 CT= A (1)

DO 31 N= 2.5
37 CT::: 'CT+A(N)

IF (CT-AN) q7,38,~7
38 y= 0.0

1,31

DO .39 f\I=

39 y=

Y+(B{N)~X(N))

Y=Y+B(q2)+8P

o

WR r T E (3, 5 'X ( 1 )
GO ro 47

,X , Z. , , X (:3 )

,X, 8 , , X( 1 6 ) ,y

40 !F (I< 8) 41, l41 .4Z
Lll GO TO

(19,19,ZS,30!'36),Nl

42. X(3,)= (XCl)-Xl2) ).JfX(q.)
X(33)~ €Xlll-X(3»),X{S)
X(34)= lX(2)-X(3))*X"J
IF 'Nl-~) 25.43,43
43 DO qq lM= 1,3

44 )( (LM+3 4)

=

(X (lM) -X (4)

>*X (LM+,)'

IF (Nl-5) 30tqS,Q5.
45 DO lf6 LM; 1,3

40 X(LM+37)= (X(LMJ-X(5')*X(LM+16j
X(~l)=

(X(S)-X(S)*X(Zq)

GO TO 3b
47 CoNT 1 NUE
4B CONTlNUE
49 CONT1NUE

5"0 CON T I NUE
GO TO 10

END

FEATURES SUPPORTED
ON E WO~ f} I N TE GE R Si

EXTENDED PRECISION

•

loes

CORE ~£OUIREMENrS FO~
COMMON
0 VARIA8lES
END OF

352

PROGRAM

1318

COMP)~AT[ON

At,,·,

-18-

APPENDIX C

REGRESSION AGAINST PROPERTY 5, SPECIAL CUBIC MODEL

09 19 66
PROB 02

15 VAR
(Includes Y)

00022 .OBSER

05 (Position of Y in input sequence)
DEP VAR
=
STD ERR Y.X
37.74593
R SQUARED
·90220
SUM SQR RES
05 .12822
IND VAR USED =
14
CONSTANT TERM =
**VAR

*

01
02
03
04
06
07
08
09
10
11
12
13
14
15

1
2
3
8
4
5
9
6
10
11
7
12
13
14

.00000
COEFF

75.56728
277.43881
291.10783
186.13024
-28.26312
-228.92496
-46.88036
228.86202
719·95126
-79.79975
-514.56671
-1955·80800
-24.48535
-989·20270

STD ERR

T RATIO

37·70075
37.68200
37.70068
37.68184
184.58658
184.36437
184.58694
150.87728
991.68793
184.58658
1022.15720
2771.44310
1069.73940
2784.63480

2.00439
7. 36263
7·72155
4.93952
-.15311
-1.24169
-.25397
1.51687
.72588
-.43231
-.70570
-·70570
-.02288
-.35523

VARIABLE IN MODEL EQUATION
Xl

XZ
:l.3
~

X1 X2
Xl X3
X1 4

XZX3
XZ~
X3~

Xl XZX3
X1 X2X4
Xl :xa~n

XZX3X4

***

2
3
8
1
9
10
4
11
5
6
14
7
12
13

When the T ratio is as low as that for Variable 14 shown above, the
variable is considered as inSignificant. (I.e. - Treated as though
there coefficients were zero.)
Columns 2, 6 and 7 are not part of the printout.

*Order that coefficients are read into response program, normally
**Order that variables were read into multiple regression program.
(05 = Dep. Variable)
***We would use the .order on the far right, if we want to use 00/0 D as
the base triangle in our plotting. (I.e. Xl = D, X2 = A, X3 =B,
x4 = C)
CHARLESTON RESEARCH LABORATORY
WEST VIRGINIA PULP AND PAPER COMPANY

CHARLESTON. SOUTH CAROLINA

(~)

-19-

~

_ _ _.li."M_"_'_" •

_---_._._-_.. -.__..•. _

.

for
(at
the
end

... 0

_1

_O

.n

.:?

... 1

.,...,,'r------

.....
-.....(j"'------~----.;.

\

•

••

............ .

2 components
interval chosen)
printout would
here .

•
•
•

__.~___. .~.o
. ....t

_15399000 E+03+- for· 3" ~omponent8,
... 14159J8~·'E+fJ!l.
the printout would . .
.13408887E+07~end here
... 12543193E+04

.• v.)

.•. 0
.• (1

_0

.... 0

+t~

...'0

~61f·3329UnE+·03

..~ ll~6~u 1<'H:+lO:5

.•7 26256~rI t-:-03

\ C'
_0
_0

:35424984E+03
...3260Sm40E+03

I'll

-21-

....,.,

'--';"
'~

-C

-,

--i

.....,

...

"1

)

,.,

' ..... I~

...

.... ".
.., .-,
r.

~
"l

1'

... 1~~OBl~"""~}-"'(""'}E-··-:-::-0-4
I

~

' ."
".

:
, ;' •• I
~.

1.

••

....

'APPN

PPSN

o

c·

.

'
",

'

1
>3

I
1

J
, '1

I
I

,I

I

IPSN·

"
.

·
'

I,

•
•

.

.

;

~

.

:.

I

I

.i,

'

.'
',~

I
I

t

I.

I
I

'j

I

:,'"

I.
I

,.,

,
,

.

I

q.
Objective
:Function

(

•
"I·
'.

''.

'.
Linearity
Limit

Linearity
Limit
"

,

f

I

....
....

.'

Xj
.. ; )

Gr~phi.c,al

Representation of the Solution procedure,

~

APPN
PPSN

k

Upper
Limit

'.

....
-

-;--

..

- --

-.- -

..

.-

... " '.' C\c.~.~

..

-

.. _._------ ... _--_.p- -----.-.--_. __ ._-- _ .•.

J">'

": '

.'- ... y. . .

. !'

. . . . . ':' ~

,

,'-,":

'. e. ,• •

.'

.....

....

I

~,.~

n

. -r.J
~. -t
',0

','

._------ ---_._---------_ .. -.--- ..
"

Gl

·0

-

p\

...

_

c.

,J"""'''',
..

I

. e:

tr\
.s. . • • ' .

..

,~
,
,

"

'

• 0

.

'

..

..

~.

.

.

.

.

'rf"'\

,

U
"""
. •• --_. -.-- .-- - - - . - -

-_._------_ ...

,--~-.-----.-

... _-.- ------:-------------_.

_....

----_ _------_. __ ._-_.--

-.-.-----------~----

._------

..

--- - ------.

- - .... _ . __ . _ - - _ ..•.. _

" _ _ _ _ _ .__ . __ ••.•.••. ____

-

-

_____ •• _ _ ••. _ . _ . _ . o.

___ ."

• _____ • _____

M. _ _

.. _ _ . __ .. _-

. . .' _ 0 __ . _. • . •

_- .. _._- ----.-

----_._---_._-._----_.. _--_. __ ... ---._._.......

_____._____ .. ~._ . _.. _.......___. ____....._._._._ .... _... _. _..... ______ . ____ ._._..

-~

-.~--.-------.------------

_."&.XA·M·P~~_ ..

I

...

----.~

---

14,12,12+4*(14+2-(14+2)/16*161(13)

~

o ___.___ ._________ ._.__ ._.________ .... _. __

- ....-.------

1

000008 qaol 0050
--00000C--8800-'000-8'
000010 1FIO

.--_

.-~.-----

.------.--~.~--

--"-----,

->-"

....

,-,".-

------ ---.. -

..

-------

---·-[O-C------OBj·ECT "-COOE ----- - ADD-R r"'-A-ODR2' --STMT---SQURCE-- STATEMENT ---

--- .--- 000000
-----~-oooooo-

-

1 TRCRWDE
2

STA~T 0
ENTRY RWD

3
4 RWD

USING·*,15
SAVE (14,12)

--.--------.--------.---..----- ----- -------.-. ---------··------·-·5+*

000000 90EC oooe
--.--.-- ..-000004 5 8e 1 0000
000008 48f\C 0002
------OOOOOC --4880 F03C-

000010 42AO F021

oooae

00000OOOO?

360N-CI-Zt5-3--~SAVE

6+RWD

STM

7
B

l
lH

000018 OAOO
.

00038--------13+ ....
14+

-..-- .-.-'

---.-- CHANGE LEVEL

l

2-0' -... ----.. -.--.---------

14,12,12+4*(14+2-(14+21/16*16)(13)
12,O( 1)
FORTRAN UNIT ADOR.FSS·

11,2(12)
SH
11,=H','
STC
11,CONTROl+1
-.--.-- ... - EXCP .. ·.. CONTROL

--·--·-------0003C·
9
00027
10
·-----11·

12+* 360N-Cl-453
-----000014 . 5810 F038 .

CALL RWOINT)

EXCP

FORTRAN UNIT ASSIGNMENT
CONVERT TO -SYS NUMBER ---. -.. --

STORE IN eeB

CHANGE LEVEL

1 ,=A( CONTROL}

2-0

SVC
0
-----·15 .------ . -- .. ---- -- RETURN (14, 12 )
16+*

360N-CL-453

·--ouoorA-98Ec-.. DO·OC---·--------cro-OOC---11+-----·-·- ..-

lM"

RETURN

.

EXECUTE REWIND

. ....--.
~

CHANGE LEVEL

"_ ... _._-

~--------

..

----~

2-0

14, 12,12 +4* ( 14+2-( 14+2) 116* 161" (13·r---·----

OOOOIE 01FE
18+
BR
14
-----. ----- ... '---'---'-' .-.- --.. --.. -...-.----.-.-.-.--------------.-.. -.-.-- -----19 .-CONTROl'--- CC9'---' S YSOOO', TAPE
20+* 360N-CL-453

eca

CHANGE LEVEL

2-4

- ---000020-0000-------------------·-----·------·----··--·-----21 +CONTROL -- DC
Xl2 • o· - RES I DUAL COUNT
000022 0000
22+
DC Xl2'O' COMMUNICATIONS BYTES
- .--00002·4-··-0000--·-·-----·--·
-·-··----·---23+-----·----· ······-oc .......... Xl2 foe esw STATUS BYTES
000026 01
24+
DC
Allll) LOGICAL UNIT CLASS
----000021·-00· -.-----.--.--.--.----------..---.-------25+ --·-·--·--·------------OC·· - . . -... All (O) lOG I CAL UNI T
000028 00
26+
DC
XLlI0'
----00002 9 ·000030---------·-----·--·------·-·------------·····--21+-------·-·----- DC -- ----Al3 (TAPE) CCW ADDRESS

OOOD2e 00
.
28+
DC
R'OOOOOOOO' STATUS BYTE
·--00002D·--000000----·--··-·----------·29+-·-·-------- OC-"--"-'" AL3 (0) CSW CCW ·ADDRESS
000030 0100001000000001
30 TAPE
CCW
1,*,X'OO',1
- ·--·..---------------31· -·-·---------END ----000038 00000020
-'--00003C' OC03- .

.
32
-...--.--.----- 33 .---- -------.----. ----

__ E){A M PL.tS._

~

2-

=AfCONTROll
.-----: H' 3'

-a

o

...

~

( ·7'"'.
"

-,

11<

SESSION REPORT

o

COMMON - Chicago
w~o

Session Number--~~~~~~~~---MOM el and Dl
Chairman

1130 PLAN

P. J. Woodrow

1.30 PM and 3.30 PM
--------------------------------

Time

Speakers

Session Name

Attendance {No.> ___1_3_9___________

Mr. Jack Sam. and Mr. Dick Weber - IBM

o
Synopsis of Meeting

Mr. Sam. devoted the first session to an overview

of PLAN (Problem Language Analyzer), presenting the basic reasone and
principles for thia aystem.

He announced that a new veraion of PLAN

would be relea.ed in January 1969 whick would eupport Version 2 of the
DiSk MONITOR System.

He a180 announced that PLAN would be ayailable

in the near future tn the IBM 360 under BT4K AI' QTAM.

the ••cond

session was primarlly devoted to qu.etlona froa the users to Mr. sams
(principal designer of PLAN) and Mr. Weber (principal IBM user of PIAN
for DPS (Data frel_Dt.tioD System.).

•

A clearmajorlty of tho •• pre ••at

indicated a de.ire to us. PLAN and a 8ubcommittee (of' the 1130 Project)
under Mr. Woodrow waa for.ed to thorouahly lnv••tisat. and report aI PLAN.

!

I

!

The IBM Problem Language Analyzer
·~·,,\

C
I

Based on successful experience with three current application programs,
IBM has announced that a new development support package for problemsolving applications will be available January 30, 1969. This set of
programs is known as the IBM Problem Language Analyzer (PLAN). At
the same time, three more engineering applications based on PLAN
were announc ed .
PLAN supports both the IBM 1130 and System/360. It interfaces with
three monitor/operating systems (1130 Monitor vII, DOS, OS/360) to
prG:?yi9.-e a uniform set of application services for FORTRAN -oriented
in"st"allations. Using these services fully allows application modules
to be exchanged at source level acros s system boundaries.
It should be emphasized that PLAN simply adds to the installation

options. It is not a separate or dedicated system. The PLAN programs
create an interactive environment within a standard batch monitor.
There is no unusual effect on existing batch operations. PLAN operates
a JOB.

~

Within the PLAN JOB, PLAN provides several services:
It loads program modules dynamically as directed by
the user of the system (This control is usually indirect,
implied by a problem statement) .
It creates and maintains problem language description
table~.

These allow installations to have their own POL's
without writing compilers or interpreters for each different
language and system.
It uses the installation defined table to decode and execute
each ,user's problem descriptive statements, one at a time,
or fn batches.

To programmers supporting PLAN-based applications, PLAN provides a
library of over 60 subroutines that produce the same effect in different
operating systems.
These perform program linkage, data management, and utility functions.
Using these subroutines, and following the techniques suggested by
PIAN allows an installation to produce modular programs that can be used
in a dynamic loading environment.

.\

f''!57!!!!!

-2-

Using these subroutines also lowers the total programming effort and
maximizes the probability that a module can be reused in an unspecified
future application.
The main theme of these subroutines is their emphasiS on execution time
definition of attributes that have usually been constants at source time.
(Data file I/O record structure, program linkage, communication between
user and program, etc.)
Application design and implemen.tation under PLAN is quite different
and much simpler than usual if the end-user of the application is honestly
to be given a range of capability, or any degree of control at execution
time.
Ordinarily, extensive pre-planning is required to identify the possible
choices and control paths that are to be supported or prohibited. The
complication factor is at least (N * N -1) where N is the number of
options. It can approach (N!). It usually exceeds the programmers
skill and foresight if N 10. Adding or changing anything re-opens
Pandora- s box. Even successful efforts tend to age quickly and perish
at machine boundaries.

>

PLAN assumes that the end-user will be subject to certain disciplines;
but that he has the fundamental privilege to order sequences of processing
that were not necessarily ,anticipated. He can make errors, as he can
make errors with a calculator. He can also succeed in solving many
unique, one-time problems that cannot be anticipated.
To allow the end-user to exercise control, PLAN supports installation
definition of their own free format, problem oriented statements. Any
meaningful combination of statements can then be processed by a PLAN
JOB, one at a time or in batch mode, to give users results. Note that
PLAN execution does not involve either compiling or interpreting computer
programs. Input statements, like the higher level monitor control statements,
direct execution of previously compiled and core imaged or link edited
modules. These modules are obtained by standard FORTRAN orAssembler
methods and have to be available before the PLAN JOB is executed.
Extending of the installation- s PLAN language (collection of statement
definitions) is a Simple matter of ADDing or DELeting individual statement
definitions. A Single definition step serves all future users.

•

Extending an application under PLAN is a process of adding or deleting
functional modules of code implied by POL statements. Changing, recompiling, and link-editing related code is not required. Growth and testing can be
incremental, continuing, and far les s costly .

.----~-

-..........

..

.. .. ......"...""".,,..

"."." " "

~~~-,

-3The attached diagram is a schematic of PLAN operation on a simple logical
machine (real or a partition or a tine slice). It does not reflect real core
allocations. In practice, PLAN occupies 2560 bytes of storage in the
problem program COMMON area. Otherwise, the problem s pace is as
large as it normally would be in FORTRAN operations.
A second attachment indic ates the general scope of the PLAN program.
The subroutine argument lists are not given; and these calls should not
be included in current programs. The users manual of the 1130 Data
Presentation System provides programming detail on the subset now in
use on the 1130 under Monitor I.
In summary, PLAN uses and augments three existing batch monitors to provide
a problem-solving application environment. It promotes modularity and
economy of programming. Most importantly, it offers a technique for openended development of application languages and programs at the installation
level. Using PLAN techniques can extend profitable computer usage into the
everyday world of problems we now spend a half day solving by hand,
without requiring journeymen to become programmers.
Last, but not least I PLAN suggests and supports a new division of effort
and responsibility among coders, system analysts I and users of problemsolving sy stems.

o

f.:J
~ ~l- A'~ I
N
'
I

_

(STAND-ALONE

.,

.

l

5 TGRAGe..:DEV'C.e.S c:oNTROL.L.e.l)
H
. , BY "E.~ e.C.UT'E· PHf\ASe., ...

I/O

;

-:-

"

I

•

·t. •

~

,- .. '

"

•

o

..

"

...

"',

t,"

.. ,,r, ·

-

,t .....

r

... :
,.t

"''') )jr
"'If

'
• ~ J.

•"

.f'. "

'..

,"',;

~!

\'

"

.~.,

',.

"

.

'r..' :

't.

, " ' I' -

. "..'

\'
,

"

I

----.------..-,--.-."'-,,---.".--..

-~"~~

UTI LIT

Y

CALLS

r'"

(~;'

IDCS

-

PLAN SYSTEM DEVICE AsSIGNMENT

ERROR

-

ABORT STATEMENT WITH DIAGNOSTIC

EHRET

-

CoNTINLE AFTER DIAGNOSTIC

ERRAT

-

CoNTINUE AFTER DIAGNOSTIC, SET ERROR LATCH

ERREX

-

ABORT MoDULE AFTER DIAGNOSTIC

ERLST

-

PRINT PENDING ERROR MESSAGES

I N PUT

-

GI VE CALLER THE TEXT OF THE LAST INPUT
STATSVlENT

-

NDEF

ACClJvlULATOR -,0,+ AS ARGUMENT IS FALSE,
TRUE,

REAL

TRUE

-

SET TRUE

FALSE

-

SET FALSE

PARGO

-

rtVE ARGU\1ENT LIST TO caf[)N

PARGI

-

CoLLECr ARGlI'1ENTS FROM Caff)N

BREAK

-

CoNVERT

PACK

-

ExTRACT BYTE

-

MASK IN BYTE

PUN P

K

AA

C

TO FOUR RIGHT JUSTIFIED INTEGERS

l.

LOADER

CALLS

LEX

loAD AND ExECUTE A fVbDULE

LIS T

ArID

LIS T B

ADn/REMoVE

L C HEX

ROLL

To/REMoVE
FROM BoTTOM OF STACK

OUT CURRENT JVbDULE, loAD AND ExECUTE

NEW fVbDULE, RETURN TO OLD fVbDULE ON
SIGNAL
LOCAL

LOAD AND ENTER ANOTHER ~'bDULE, RETURN TO
CALLER

C")

LRET

RETURN TO CALLI NG I"bDULE

LNRET

CANCEL PENDING RETURNS

LREPT

REPEAT CURRENT STATEMENT

PUS

H

ExECUTE A PLAN STATEMENT FROM CoRE, RAlHER
THAN FROM THE I NPUT STREAM

o
7

- 'J .

MODULES
(r-',f;)

"'0

PLAN

-

loADER

PSCAN

-

INTERPRETER

PHRAS

-

lANGUAGE DEFINER

PERRS

-

ERROR PROCESSOR

FlO CS

-

INPUT/OUTPUT DEVICE SELECTION

P FIN D

-

DISK SPACE ALLOCATOR

PSRTA

- , DISK SORT

PMRGA

-

DISK MERGE

PSTSV

-

STATEMENT SAVE

PTDMP

-

lANGUAGE TABLE DUVlP

PFDMP

-

FILE PUVlP

PPDMP

-

PERMANENT FILE DUMP

PCDMP

-

CoREDLMP

P I DMP

-

INPUT TRACE

P DI AG

-

DIAGNOSTIC MESSAGE MAINTENANCE

C,I

DATA

CJ

MANAGEMENT

CALLS

FIN D

- INITIALIZATION

READ

- DISK TO CoRE flRRAy

WR I T E

- CoRE

RELES

- FREE DISK SPACE

PSORT

- DISK SoRT IN PLACE

PMERG

- DISK MERGE IN PLACE

GDATA

- INITIALIZE FOR FILES WRITTEN
Ours IDE PLAN

WDATA

- CoRElDISK FOR GDATA FILES

RDATA

- DISK/CORE FOR GDATA FILES

PFSPC

- TEST FOR AVAILABLE SPACE

flRAAY

TO DISK

DSNAME
Fi Ie 3

1°"
Fi Ie 4

•

Fi 1e 201

0
,

(0

I

1

I! 2

I

1

I2

I

1

[2

I ~t I
n

I

IQ

I HaI

..

.~~.-.~.,-.-.-.,."' '''''.,

..

'''-~~~------

UTI LIT Y CAL LS -

PCOMP

ARRAy

PHTOE

HEXADECIMAL TO

PBTST

BIT TEST RoUTINE

(CoNTI NUED)

(av,PARI SON

EBCDI C

Ci

,

,.

,"

«I

i

I/O

TO U'. R. -DEVICES

I

~UFFE..f\~

__

EBCDIC
---,_
.....
... _.--------

~'

A
E
I
F
H

.'

.,
""

'

'\

(SlN(;LE.. o~

DOUBLE..)

.

,

"i

'

.

•

-,

",

\.'

.'.

.' '. t. ....... :.
'::. -' .' .. ,:,';'

..

...

..

~.

..

.

.. '. --::
:,.

"-

-

..
,

,'

..

'

-

-..... -...

;::.. .

.

:.;~

,"

...

..

..
.
. ..

~~' ~

...,'.

-

~

..
-.
"'~":'"
-'
....... ;'; .......•~~:' IMPLEMHdTAT(ONOf.PlAN'·APPLICATIOt1
. "
'.:'" ':":-'. ~,:./:... ,':."::':> ... ' ':. .'.....
," "":.-.' '..'.' ," ,.... . -:
" :'
,
..
~'" ,,'
,:.. :"'~,,' ",.'
-."

,

"

,.-

,.'

,':, ',;.'

"

..

,. "

or

j

•

."

'

..

'.

."

','

.a. .;

,

'" '..... '. OB'J EeT i VE:

~.'

.

-' . ,
......

..

"

•

'.

'

--:'

,

'.'

..: - .

Make it easy for the ma~, v/Uh the prOblems'

.:.'. ~': ~ :': :'. t . " .' ' ..;. '.. 'to describe them .to the compt4er•.
. '.' .' -I '~','.':,: ~-.-' "...'. -...'. ~. -'. ,.- . . . .' -. .(' .
.
'..
. .
. .THREE GROUPS ARE INVOLVED:
. ---.;~ ..;-,~-.'-.""
.
.
.

-

- '

. '

(~;/

..-, ....

':'".,::

.,'

'.

::.....

......

....

-,

.;..

,

"

- ; ,"\J

•

.

'.

,

"

,..

".

'."

'..

~

..

,

.

.-..

-.

.....

-'.

.

~ ~. ~

..

-

:.- .. ~~.~.~ ~.

-

,

.

"

,

"

. USERS: Tell an~Jysts vihat v/ords and phrases are
,
. required.. De~ne commands and data ternls'
. p~eciselYi~"
..: .':' ::.. :'.' "

•

•

....

... : .

..

0'

•

..

~

-

. "
..
j

'

I

••

.

Pefine YJords and phrases tot.he PLAN
System.' Determine what additional
prQJrammed functions are needed in
the library. Specify details o~ required·
programs. ,
~'

ANALYSTS:

..

•

.

,

....

.;

.

•
•
r

-

.-

'-.' PROGRAMtviERS:' \\1rite prCY;Jrams as spscified by the ana1ysts
, , . , '... . . . . and add them to .
the.PLAN
library.
. .
.

t·.
t .'.

.

.
.

-

..

.....

.

"

~-

~­
_.•:":-

..

.-, ~..~.

.. ~.." .•

,"

' .........

-:

:"

.'

•

..
-'

__ )

pO

•

:..

~"'.,

..

0J-

.J.

, .

#"

r';'-.-

.',

-,
-.

.-

•

a;.:;.
...... \

' . Use r~ desc'ribe thei r pro!llems f n the la ng uags
. :~:"?'.~-'~ _.: ..they have defir}~~.
. .. --

..' i

: T.H EN:

.'

.'

......--

:~ ~,;.,.

-

,::-..

.
::--:

;-

...

:--

'

..

-::.

:.-

.

_

.','

.". _

....

;"

••

. . .,,:

.

,_ .. '9

".

.,.

•

, .......
"

:

,

-'

~.;-

.::-....

.".-

,

-.

. ': :'.::.; ~.'."~ ~t ':'~ -!:

-

..
.

~:

'.

.

.'

...

~

,j;

: ..
,,"

"
'/-

. '

:
'P "'; •.•••

":! . . ,:

-

••••

.. '~ ":':.

..

~.

.

~.

"

'.T

•

...

~."

......

.. .-

.'::.

::" .:.:,'

. . . ..

..- • •

. ~;.

,.

_.:':,:

-'

-

.~

..

'

.... .~

,

.... :.

'~"',

J~ ...;..

.;.

,

..

.'

-

~

..

-. -

..
;'

'8',."
,.~~

'.

J-- , -

_.
I,'U

~ ~~

•#

"','

c

SESSION REPORT

C·

COMMON - Chicago

J.,

Session Number

WED C2

--------~------------

Session Name

Education Project

Chairman

----------------------------

Time____~1~'~3~O_t~o~3~.~3~O~PM=__________
Speakers

Attendance (No.)

----------------

S. l.ee

--~~---------------------------------------------------------

Synopsis of Meeting

Dr. Lee pre.ented • paper entitled, "lbe SLll

Compiler for the IBM 1130"

•

I

:MiI

4M4.i414·,""

THE SL/ 1 COMPILER FOR THE IBM 1130
Authors:

M. E. Jackson (IBM Canada)
E. S.
Lee
(University of Toronto)
P. 1. P. Boulton (University of Toronto)

Because of the growth in the use of data processing equipment in recent
years and because of the shortage of trained personnel, the Department of
Education of the Province of Ontario is encouraging the teaching of data
processing in the high schools of the Province. Some schools have installed
keypunches and unit record equipment but during the last three or four years
a number of small computers have been installed for teaching purposes. In
some instances, a large school will acquire its own computer; in others, the
local school board will obtain a machine to be used by several schools in the
area. These machines are 1620,s, 1130s or machines of comparable size,
although some scho'ol boards are using System/360 Model 30s for both administration and teaching. Data processing is being taught as a vocation to students
in the commerce stream and as a tool to students in the science and arts
stream. In 1965, the Department of Education, in an effort to promote uniformity and standards, published curricula for teaching data processing and
asked a committee of university professors for recommendations on a suitable
programming language.
(SLIDE 1)
The report of this committee was released in 1966. It recommended a subset
of PL/ 1, as PL/ 1 has scientific and commercial features, is suitable for
modular learning and contains most of the features found in high level languages today. The subset specification was not rigid; it consisted of a list
_ of PL/ 1 features and indicated which features were considered necessary,
desirable or unnecessary. The report stressed the need for fast compilation
and good diagnostics and recommended implementation on a small machine,
since a small machine in each school is more satisfactory than courier service
to a larger central machine and the cost is less than terminals linked to a
medium scale computer. In 1966, a group in IBM, advised by Professors
Lee and Boulton of the University of Toronto, undertook the development of
a compiler meeting these specifications for the 1130.
(SLIDE 2)
The problems we faced were that we had to write a fast compiler, with good
compile and object time diagnostics, with diagnostics in source program terms,
for a sophisticated language and on a small machine with an instruction set ill
adapted to either compiling or supporting the' required language feature s.
Furthermore,many featuresofPL/l need the services of a much more comprehensive operating system than the 1130 Disk Monitor. Some of the requirements such as fast compilation and good diagnostics are conflicting. Factors
in our favor we,re that the source programs would be trivial in size and complexity, and in execution time :requirements; only one level of diagnostics
was required,therewC)uldbe nowarningrnessages or attempts to correct
errors made by the programmer; a disk was required to teach file concepts
and was, therefore, available for compiling; language specifications were

v
---,

,,"--..

---~----

./~

i'~,,-I

c>

•

flexible, enabling us to include, omit or modify features as the system
developed; and finally, since it was to be a Type III program, we avoided all
the red-tape associated with Type I and II programs.
(SLIDE 3)
The system is designed to run on an 8K, one disk system, with 1442 or 2501
reader and 1132 or 1403 printer. There is no support for paper tape, the
console keyboard/printer, plotter or multiple disk drives. The system
prepared for version two of 1130 monitor will not support a card punch.
Additional core storage is used if available which permits larger programs
to be compiled and executed but does not provide any speed increase.
(SLIDE 4)
The data types shown on the slide are supported by SL/ 1. Decimal arithmetic
was implemented to illustrate the effects of variable length fields and to avoid
confusing students with the conversion and truncation phenomena associated
with binary fractions. Any of the data types shown may be in array form.
Arrays may have one or two dimensions, and dimension bounds may be negative or positive. Character and bit strings may be combined in major and
minor structures with a maximum structure level of four. Structures may be
dimensioned but any data element must be accessible using, at most, four
subscripts. Full or partially qualified names may be used for referencing
structured data.
(SLIDE 5)
The data types shown on this slide are not implemented in SL/ 1, although
provision was made in the design for some of them and the hooks are still
there. Binary was not considered to be necessary. Picture was omitted
with regret because of implementation problems, but it has been retained in
format statements.
(SLIDE 6)
The major language features of SL/ 1 are shown on this slide. Internal and
external procedures and begin blocks were included to facilitate teaching of
subroutine concepts, scope of names and, to a limited extent, the effects of
dynamic storage allocation. Although storage is not allocated dynamically,
some of its affects are simulated by making data within a block unavailable
when the block is inactive and by reinitialising all variables, except those with
the static attribute, when a block becomes active. For those variables which
do not have the initial attribute, this involves initialising with "garbage".
It
is in the implementation of I/O features that we have deviated most from
PL/1. Because of lack of buffer space, each GET or PUT statement in SL/ 1
begins a new record instead of processing the file as a continuous data stream.
The absence of an adequate operating system forced a lot of compromises in
handling record I/O. Program control statements such as IF and GO TO are
implemented as defined in PL/ 1. The ON statement is an exception; in SL/ 1
there is no return to the point of interrupt following execution of an ON -unit.
Unless the programmer includes a GO TO statement in the ON -unit, execution
of the ON -unit will be followed by program termination. Variables may be
declared either explicitly or implicitly. Some of our users consider implicit
declaration to be a major source of programmer errors and would like to see
the feature eliminated. Perhaps an optional list of implicitly declared variables might be in order here.

-, 2

(SLIDE 7)
Expressions of arrays and structures are not permitted. The assignment
statement, however, allows a scalar variable to be assigned to all elements
of an array, or an array to be assigned to another array with similar dimensions. A structure may be assigned to another structure provided their
attributes are identical. For example, if A and B are both arrays or are both
structures, then A=B is valid but A+B is not valid. We would have liked to
include attribute factoring but, unfortunately, it used too much core and had
to be dropped.
(SLIDE 8)
Implementation was kept as straight-forward as possible. The only options
available to the user are: list/no list of source program; compile only / compile
and go; and, execute an object program stored on disk. Only the source
program is listed, no symbol table list, load map, etc., are provided. Compiler generation of in-line 1130 code was considered to be difficult and would
make a fast compiler impossible. The alternatives, therefore, were to generate object programs consisting almost entirely of subroutine linkages or to
generate interpretive code. We chose to generate interpretive code since it
produces more compact object programs and is not significantly slower in
execution than a series of subroutine linkages. The interpretive code is
actually the machine language of a hypothetical machine. The instruction set
of this hypothetical machine was designed so that many of the difficult source
language feature s can be compiled as a single machine language instruction.
For example, a DO statement, after generation of code to evaluate any expressions in the statement, compiles as a single instruction. The hypothetical
machine also has registers specifically designed for handling SL/ 1 language
features. This approach to the design of the interpretive code takes a large
burden from the compiler and transfers it to the execution time interpreter.
Our goal of a fast compiler was, therefore, more easily achieved, and the
re sulting poor execution times are justified by the high ratio of compilations
to executions and the trivial nature of the programs in a student environment.
The use of interpretive code and the decimal format of the data have made it
impossible for SLj 1 programs to link to routines written in FORTRAN or 1130
Assembler and vice versa, but this is not considered a serious drawback. It
also forced us to write the function library routines SIN, SQR T, MAX, etc.
in SLj 1. These routines are, therefore, slow and, in some cases, not very
accurate. Because the source programs we expect to compile are small,
there is no provision for spilling symbol tables, attribute tables, etc., onto
disk. This limits the size of program the compiler can handle but usually the
object program runs out of space before the compiler tables start to overflow.
No provision has been made for overlays in object programs.
(SLIDE 9)
Compiler performance is very sensitive to the format of the source program.
If the source program is punched multiple statements per card, then the number
of cards compiled per minute is low but the statements per minute are high.
Punching the source program one statement per card improves the cards per
minute. Program.s punched one statment per card compile at about the same
rate as the 1130 FORTRAN compiler process equivatent programs. Compiler performance is also affected by the language features used in the source
program. Object program execution times depend very heavily on language
3

[-''-.

ILJI?

features used and, to some extent, on the order in which they are executed.
Apart from the arithmetic routines, which are core resident, most of the
interpreter is disk resident and is fetched into core in sections as it is needed.
Thus, most of the execution time is devoted to fetching routine s from disk.
Probably the most meaningful performance figure is the through-put. This
estimate was obtained by watching a class of beginners debugging four small
programs each during a four-hour lab session. ~ince the system is used
mainly for teaching commercial data processing and about 750/0 of the statements executed are I/O commands, the object time performance is not as
bad a s it looks.
SL/ 1 is being used in about 20 installations in Canada but apparently only
for commercial applications. FORTRAN is still being taught to the science
and arts students, and some schools prefer to teach COBOL or languages of
their own invention. There is some provision in the system for adding more
language features and given a 16K machine, the through-put could be considerably improved by making some or all of the disk resident routines core
resident. At the present tiIne, we have no plans for further development .

•
4

REASONS (Slide 1)
Standard language for all schools
Scientific and commercial
Easy to learn
Rich language
Fast compiler
Extensive diagnostics
Inexpensive machine

TRADE~OFFS (Slide 2)

Fast compile
Extensive diagnostics
Source language diagnostics'
Rich language
Small core

Trivial programs
Unoptimised object code
All errors fatal
Flexible language spec s
Disk available
Type III

HARDWARE (Slide 3)
)t""""

1.~'

8K (or more) core
1 Disk
1442/2501 Reader
1132/1403 Printer
48 char. set
BCD or EBCDIC

DATA TYPES SUPPORTED (Slide 4)
Character
Bit
Fixed decimal
Float decimal
Label

Arrays
Structures

DATA TYPES NOT SUPPORTED (Slide 5)
Binary
Pointer
Picture
Sterling
Complex

Task
Cell
Area
Event

LANGUAGE FEATURES SUPPORTED ,,(Slide 6)
Internal/External procedures
Begin blocks
Stream I/O (List/Edit)
Record I/O
IF, GOTO, DO, ON, ETC
Explicit/Implicit declaration

LANGUAGE FEATURES NOT SUPPORTED (Slide 7)
Macros
Expressions of arrays/ structures
Dynamic storage allocation
Multiprogramming
Attribute factoring
Recursive procedures
Pseudo variables

IMPLEMENTATION (Slide 8)
Limited options
Only source listed
Interpretive execution
Single language
No table spill to disk
No object program overlays

PERFORMANCE (Slide 9)
Compile:
Execute:
Thru-put:
Max program:

20 - 50 cards {min..
30 - 60 statements/min.
25 ... lOOOstatements/tnin.
50 programs/hour
about 100 statements

Session Number Wed C-5

------------------R.
J. Sna.iler
Chairman
-----------------------1:30 - 3:00 p.m.
Time
---------------------------Speakers

Session Name "Relationships Between
Customer Be S.E., F.E., Be Marketing ' Reps. "
Attendance (No.)

38

--------~-----------

-------------------------------------------------------------Robert Lukeman - I.B.N. White Plains - Mark Rep.

Warren Gillis

-

I.B.~

White Plains - S.E.

Gerald ltbnjeau - I.B.M. White Plains - F.E.

Synopsis of Meeting

Each speaker made a brief presentation dealing

----------------------------------------------------

generally with I.B.M.'s policies, procedures and training of' personnel with
regard to his specific area.

He then entertained questions from the floor.

Some comments dealt with a particular compant,.s d1ssat1sfaction with an
individual functioning in one of the capacities covered by this panel.
were favorable comments as well.
general and informative nature.
part of the audience.
AFAR's,

Pl'F'Sj

There

Other questions promoted answers of a more .
There was very active participa.tionon the

The questions dealt ,With topics such as "Unhooking" I

lBoo-TSX, and methods of expediting action under emergency

conditions.
The talks and following discussions brought out the team work
required for obtaining "customer satisfaction". The customers in the
audience seemed satisfied With this team's handling of their inquiries and
problems.



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Create Date                     : 2014:03:05 15:08:44-08:00
Modify Date                     : 2014:03:05 14:52:53-08:00
Metadata Date                   : 2014:03:05 14:52:53-08:00
Producer                        : Adobe Acrobat 9.55 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:33ccd747-daca-5b4b-83f0-cb23a5148b2e
Instance ID                     : uuid:80b49ee9-b52e-f04a-a40d-6a20958d420b
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 807
EXIF Metadata provided by EXIF.tools

Navigation menu