Digital PDFs
Documents
Guest
Register
Log In
DEC-12-AJAA-D
2000
56 pages
Original
1.8MB
view
download
Document:
FOCAL-12
Order Number:
DEC-12-AJAA-D
Revision:
000
Pages:
56
Original Filename:
https://svn.so-much-stuff.com/svn/trunk/pdp8/src/dec/dec-12-aja/dec-12-ajaa-d.pdf
OCR Text
FOCAL-1 2 FOCAL4 2 PROGRAMMING MANUAL For a d d i t i o n a l c o p i e s , order N o . DEC-12-AJAA-D from Program L i b r a r y , D i g i t a l Equipment C o r p o r a t i o n , Maynard, Massachusetts 01754 Price $3.00 DIGITAL EQUIPMENT CORPORATION MAYNARD, MASSACHUSETTS 1st E d i t i o n December 1 9 7 0 Copyright @ 1 9 7 0 by D i g i t a l Equipment C o r p o r a t i o n The m a t e r i a l i n t h i s manual i s € o r informat i o n p u r p o s e s and i s s u b j e c t t o change w i t h out notice. The f o l l o w i n g a r e t r a d e m a r k s o f D i g i t a l Equipment C o r p o r a t i o n , Maynard, M a s s a c h u s e t t s DEC PDP FLIP CHIP FOCAL D I G I TAL COMPUTER LAB TABLE O F CONTENTS Page 1.0 INTRODUCTION 1 1.1 FOCAL- 1 2 1 1.2 Hardware C o n f i g u r a t i o n 1 1.3 Required R e a d i n g 1 1.4 L o a d i n g FOCAL-12 1 2.0 U S I N G THE DISPLAY SCOPE 2.1 FDIS 2.2 OUTPUT 2.2.1 OUTPUT SCOPE 2.2.2 OUTPUT TELETYPE 2.2.3 OUTPUT DELAY 2.2.4 OUTPUT CLEAR 2.2.5 OUTPUT ERASE 3.0 DATA STORAGE AND RETRIEVAL 3.1 LIBRARY MAKE 3.2 LIBRARY OPEN 3.3 LIBRARY CLOSE 4.0 FOCAL-12 PROGRAM STORAGE 4.1 LIBRARY SAVE 4.2 LIBRARY LOAD 4.3 LIBRARY GO 5.0 10 ANALOGUE INPUT AND TIMING 5.1 S amp1i ng 10 5.2 T i m i n g Using t h e OUTPUT INTERVAL Command 10 6.0 DATA ACQUISITION U S I N G FOCAL-12 11 6.1 Memory 11 6.2 LINCtape 12 6.3 Disk 12 6.4 STHRUF~ 12 7.0 I-PLEMENTATION OF USER FUNCTIONS (FNEW,FX,FZ) 14 7.1 Summary 14 7.2 7.3 E x a m p l e of U s e r I m p l e m e n t a t i o n of F X 16 Special R e q u i r e m e n t s f o r FOCAL-12 18 7.4 FOCAL-12 19 Tag Table i Page APPENDIX A COMMAND AND O P E R A T I O N SUMMARY A. 1 Commands A- 1 A. 2 Functions A- 3 A. 3 FOCAL O p e r a t i o n s A- 4 A. 3 . 1 Format A- 4 A.3.2 MODIFY O p e r a t i o n s A- 4 A. 3.3 The Trace F e a t u r e A- 4 A.3.4 Special C h a r a c t e r s A- 5 A. 4 FOCAL-8 Features N o t i n FOCAL-12 A- 5 APPENDIX B COMPLETE S T A R T U P PROCEDURE B- 1 APPENDIX C DATA FORMAT S P E C I F I C A T I O N c- 1 APPENDIX D FOCAL-12 APPENDIX E MISCELLANEOUS COMMENTS E- 1 APPENDIX F FOCAL-12 F- 1 I/O AND T H E L C COMMAND ERROR D I A G N O S T I C S ii D- 1 FOCAL- 1 2 1.0 INTRODUCTION 1.1 FOCAL-12 i s an e x p a n s i o n of D E C ' s F O C A L ( R ) language' FOCAL-12 designed t o optimize u s e of t h e PDP-12 computer and i t s s t a n d a r d p e r i p h e r a l d e v i c e s : LINC- t a p e , d i s k s , V R 1 2 d i s p l a y , A/D c h a n n e l s , KWl2A r e a l t i m e c l o c k , c o n s o l e s w i t c h e s and r e l a y s . Simple d a t a a c q u i s i t i o n and r e d u c t i o n t a s k s o r t h e a n a l y s i s o f p r e v i o u s l y g e n e r a t e d d a t a may b e e a s i l y and q u i c k l y programmed u s i n g FOCAL-12. 1.2 Hardware C o n f i g u r a t i o n The minimum s y s t e m c o n f i g u r a t i o n f o r FOCAL-12 c o r e memory. i s a PDP-12B w i t h 8K of S u p p o r t e d o p t i o n s i n c l u d e m u l t i p l e LINCtape u n i t s , RSg8 o r RK8 d i s k s , 32 A/D c h a n n e l s and KWl2A c l o c k . 1.3 Required Reading Before continuing w i t h t h i s supplement, t h e r e a d e r should be f a m i l i a r w i t h t h e b a s i c FOCAL commands and programming f u n d a m e n t a l s , as d e s c r i b e d Appendix A of t h i s i n t h e FOCAL-8 c h a p t e r o f Programming Languages. document p r e s e n t s t h e FOCAL-12 Command and O p e r a t i o n Summary ( i n c l u d i n g FOCAL-8) and l i s t s t h o s e f e a t u r e s o f FOCAL-8 not i n c l u d e d i n FOCAL- 1 2 . 1.4 Loading FOCAL-12 FOCAL-12 i s l o a d e d by t h e LAP6-DIAL-MS2 s y s t e m : +LO FOCAL- 1 2 ,n 2 where n i s t h e u n i t c o n t a i n i n g FOCAL-12. (*) FOCAL-12 p r i n t s an a s t e r i s k on t h e T e l e t y p e ( R ) and can t h e n b e used j u s t as FOCAL-8 added f e a t u r e s ) . FOCAL-12 e x p e c t s a s y s t e m t a p e on u n i t fl ( o r u n i t f o r d i s k ) so t h a t i t can r e a d i n t h e s y s t e m I / O 'Specifically (with 1g r o u t i n e s when n e c e s s a r y . , DEC-08-AJAE-PB , FOCAL 1 9 6 9 , V e r s i o n Z Z M . 2Some f a m i l i a r i t y w i t h DEC-12-SE2D-D , t h e LAP6-DIAL Manual , i s assumed; however, t h e complete s t a r t u p p r o c e d u r e i s d e t a i l e d i n Appendix B. Herea f t e r , i n t h i s document, LAP6-DIAL i s r e f e r r e d t o as D I A L . 2.0 USING THE DISPLAY SCOPE 2.1 FDIS The f u n c t i o n FDIS is u s e d f o r p l o t t i n g p o i n t s on t h e VR12 d i s p l a y s c o p e . Its g e n e r a l format i s SET H=FDIS ( X , Y ) where f l ~ X 2 1 . 3 9 and $LYLl.flfl. FDIS i s most commonly used i n c o n j u n c t i o n w i t h t h e FOR s t a t e m e n t . For example, t h e program F I=g,.gl,l.39;S H=FDIS(I,.S) would p l o t a l i n e o f p o i n t s a c r o s s t h e m i d d l e of t h e d i s p l a y . FOCAL-12 can d i s p l a y a b o u t 950 p o i n t s on t h e s c o p e a t a t i m e . 2.2 OUTPUT To f u r t h e r f a c i l i t a t e d i s p l a y u s a g e , a command h a s been added t o I t s forms a r e : FOCAL-12. Abbreviation F u l l Command o s O U T P U T SCOPE OUTPUT TELETYPE OUTPUT DELAY OUTPUT CLEAR OUTPUT ERASE 2.2.1 O T O D o c O E OUTPUT SCOPE The 0 S command i n s t r u c t s FOCAL-12 t o d i v e r t a l l i t s " T e l e t y p e " o u t p u t t o t h e d i s p l a y s c o p e , i n c l u d i n g t h e e c h o i n g of T e l e t y p e i n p u t , o u t p u t from "TYPE" and "WRITE" commands, e r r o r messages, e t c . When t h e s c o p e i s f i l l e d ( 3 2 l i n e s o r a b o u t 500 c h a r a c t e r s ) , computat i o n i s suspended and t h e d i s p l a y i s m a i n t a i n e d u n t i l t h e u s e r t y p e s any key on t h e T e l e t y p e . 1. I f a l i n e f e e d i s t y p e d , FOCAL-12 c l e a r s t h e d i s p l a y and c o n t i n u e s c o m p u t a t i o n , o t h e r w i s e i g n o r i n g t h e character. The program l.@l 1.$2 0 s F 1=1,35;T I , ! GO 2 generates the display P r e s s i n g l i n e f e e d w i l l c l e a r t h e d i s p l a y and c o n t i n u e t h e computation u n t i l t h e s c o p e a g a i n f i l l s o r , as i n t h i s case, t h e computation i s completed. aaa 33. 34.%%% 35. BB% 2. 2.2.2 I f any c h a r a c t e r o t h e r t h a n l i n e f e e d i s t y p e d , t h e s c o p e i s c l e a r e d , t h e c h a r a c t e r i s a c c e p t e d as l e g i t i m a t e i n p u t , and computation c o n t i n u e s . Thus, i f t h e screen i s f i l l e d w h i l e e d i t i n g , t h e u s e r need n o t make any s p e c i a l e f f o r t t o c l e a r it and c o n t i n u e . OUTPUT TELETYPE The 0 T command merely n e g a t e s t h e 0 S command; t h u s , i f t y p e d o u t p u t i s b e i n g s e n t t o t h e s c o p e , an 0 T command w i l l c a u s e s u b s e q u e n t t y p e d o u t p u t t o b e echoed on t h e T e l e t y p e . OUTPUT DELAY 2.2.3 None of t h e commands p r e s e n t e d t h u s f a r d i r e c t l y o u t p u t t o t h e d i s p l a y scope. I n s t e a d , t h e FDIS f u n c t i o n b u i l d s up a b u f f e r o f d i s p l a y co- o r d i n a t e s and t h e 0 S command c a u s e s " t y p e d " o u t p u t t o b e s o r t e d i n t o another buffer. Whenever FOCAL-12 i s n o t computing ( e . g . , waiting f o r T e l e t y p e i n p u t ) i t r e f r e s h e s t h e d i s p l a y u s i n g t h e i n f o r m a t i o n from the buffers. C o n v e r s e l y , w h i l e FOCAL-12 n o t r e f r e s h e d and i s b l a n k . i s computing, t h e d i s p l a y i s I n t h e example from s e c t i o n 2 . 1 . F I=#, a1 ,1.39 :S H=FDIS ( I ,. 5 ) t h e s c r e e n would be b l a n k u n t i l t h e completed b u f f e r w a s r e a d y : t h e n t h e l i n e would a p p e a r on t h e s c o p e . The 0 D command i n t e r r u p t s computation t o r e f r e s h t h e d i s 2 l a y . i f t h e example from s e c t i o n 2.1 i s e x t e n d e d t o r e a d 3 Thus, F I=8,.81r1.39;S H=FDIS(I,.5);0 D t h e d i s p l a y w i l l b e r e f r e s h e d as e a c h p o i n t i s added t o t h e b u f f e r so t h a t t h e u s e r w i l l see t h e l i n e b e i n g p l o t t e d a c r o s s t h e s c o p e ( a t t h e c o s t of a s l i g h t delay i n computation). 2.2.4 OUTPUT CLEAR The d i s p l a y s c o p e i s c l e a r e d of a l l p o i n t s and c h a r a c t e r s whenever t h e 0 C command i s e x e c u t e d . One v e r y c o n v e n i e n t u s e o f t h i s f e a t u r e i s d u r i n g program p r e p a r a t i o n . I f e d i t i n g i s done w h i l e an 0 S command i s i n e f f e c t , t h e program on t h e d i s p l a y w i l l c o n t a i n r u b o u t s , MODIFY l i n e s , i n s e r t e d l i n e s , etc. The 0 C command w i l l c l e a r t h e s c o p e and a WRITE command can b e g i v e n t o d i s p l a y i m m e d i a t e l y t h e e d i t e d program w i t h l i n e numbers i n o r d e r , MODIFY s t a t e m e n t s e r a s e d , e t c . 2.2.5 OUTPUT ERASE The 0 E command c l e a r s t h e s c o p e o f a l l ''typed" o u t p u t , l e a v i n g any FDIS p l o t s . I n summary, t h e n , t h e program 1.81 F 1 = 8 , . @ 4 , 6 . 2 5 ; S A=FDIS(.5+.3*FSIN(I),.5+.3*FCOS(I)) 1 - 8 2 0 s; T 'I A CIRCLE ";O T 1.@3 F I=flI.@1,1.39;S H=FDIS(Ir8);O D 1 . 8 4 T "FAST TOO", ! GO will (1.81) compute s i n e s and c o s i n e s f o r a s h o r t t i m e ; (1.(62) d i s p l a y a c i r c l e on t h e s c o p e w i t h a l a b e l o v e r i t ; (1.@3) p l o t a l i n e of p o i n t s a c r o s s t h e bottom of t h e scope, ( a p o i n t a t a t i m e b e c a u s e of t h e " 0 0 " ) ; (1.@4) t h e n t y p e "FAST TOO" (on t h e T e l e t y p e d u e t o t h e "0 T" i n 1 . @ 2 ) . 3.0 DATA STORAGE AND RETRIEVAL A s p a r t o f t h e d a t a c o l l e c t i o n and r e d u c t i o n t a s k , t h e t y p i c a l user w i l l c o l l e c t d a t a and s t o r e i t on LINCtape o r d i s k . FOCAL-12 can access s u c h d a t a e i t h e r as named b i n a r y f i l e s ' u n d e r t h e DIAL s y s t e m , 'To t h o s e f a m i l i a r w i t h D I A L f o r m a t s , thelse i s no " h e a d e r " b l o c k . 4 o r by a b s o l u t e b l o c k number a d d r e s s i n g , where t h e l o c a t i o n of t h e d a t a is the user's responsibility. d a t a formats numbers. -- The d a t a s e t may b e i n any o f t h r e e signed integers, signed f r a c t i o n s , o r f l o a t i n g point Once t h e f i l e h a s been "opened" ( r e f e r t o s e c t i o n 3 . 2 ) , any ele- ment o f t h e d a t a a r r a y may b e a d d r e s s e d as a s t a n d a r d s u b s c r i p t e d v a r i a b l e and t h e a c t u a l t a p e o r d i s k o p e r a t i o n s n e c e s s a r y t o access t h e e l e m e n t w i l l b e a u t o m a t i c a l l y c a r r i e d o u t by FOCAL-12. 3.1 LIBRARY MAKE When a s e t of d a t a i s t o b e saved i n a named f i l e , t h e f i l e m u s t a l r e a d y b e d e f i n e d i n t h e D I A L f i l i n g system. If s u c h a f i l e d o e s n o t a l r e a d y e x i s t , i t may be c r e a t e d by u s i n g t h e LIBRARY MAKE command L M,length,name,unit where l e n g t h i s t h e number of b l o c k s r e q u i r e d t o h o l d t h e data'; name i s t h e name t o b e a s s i g n e d t o t h e f i l e f o r t h e D I A L i n d e x ; and u n i t i s t h e a p p r o p r i a t e d e v i c e u n i t number, as d e f i n e d i n DIAL-MS. Device Device U n i t Numbers 8 LINCtapes 4 RS88 d i s k s 1st RK8 d i s k 2nd RK8 d i s k 3rd RK8 d i s k 4 t h RK8 d i s k g - 7 28 - 25 - 45 18 - 1 7 18 - 15 3g - 35 4% Thus L M,~~,DATA,J~ would c r e a t e a 1 9 b l o c k f i l e on t a p e a , naming i t DATA. Note t h a t t h e number of b l o c k s can b e s p e c i f i e d by a v a r i a b l e . 1.81 ASK "HOW MANY BLOCKS FOR DATA?'' N 1.02 L M,N,DATA,g T h i s program w i l l create a f i l e , DATA, of N b l o c k s where N i s s p e c i f i e d a t run t i m e . FOCAL-12 w i l l n o t p u t two f i l e s of t h e s a m e name on t h e same t a p e o r disk. If t h e f i l e name i s a l r e a d y u s e d , i t w i l l b e d e l e t e d and t h e new f i l e created. However, b e f o r e d e l e t i n g t h e e x i s t i n g f i l e , FOCAL-12 w i l l d i s p l a y "REPLACE?'' on t h e s c o p e . To complete t h e o p e r a t i o n , t y p e R" ; striking any o t h e r key will cause FOCAL-12 t o i g n o r e t h e L M command. 11 'Each b l o c k i n t h e f i l e w i l l c o n t a i n 256 i n t e g e r s , 1 2 8 f r a c t i o n s , o r 85 f l o a t i n g p o i n t numbers ( t h e l a s t word o f e a c h b l o c k i s unused w i t h the f l o a t i n g point format). 5 I f a l e g a l , b u t n o n e x i s t e n t d e v i c e ( i . e . , i n t h e above l i s t b u t n o t p h y s i c a l l y p r e s e n t ) i s s p e c i f i e d , "NO" i s d i s p l a y e d on t h e s c o p e . There i s o n l y o n e o p t i o n a v a i l a b l e c u r r e n t l y - t y p e c a r r i a g e r e t u r n Any o t h e r c h a r a c t e r i s i g n o r e d . t o r e t u r n t o DIAL. This i s a c t u a l l y a convenient procedure f o r r e t u r n i n g t o DIAL. How- e v e r , i f t h e wrong key h a s been s t r u c k by a c c i d e n t and a u s e f u l i n d i r e c t program i s i n memory, t h e f o l l o w i n g p r o c e d u r e w i l l r e c o v e r it: 1. S t o p t h e computer. 2. S e t LSW t o 82j3j3 and t h e MODE s w i t c h t o 8. 3. Press I / O PRESET and START LS. 4. I f o u t p u t t o t h e scope w a s i n e f f e c t a t t h e t i m e t h e computer w a s s t o p p e d , it w i l l now b e d i s p l a y e d i n f u l l s i z e characters. 3.2 Type " 0 S " t o c o r r e c t t o normal d i s p l a y . FOCAL-12's LIBRARY OPEN FOCAL-12 w i l l a t any one t i m e p r o c e s s up t o e i g h t f i l e s o f d a t a s t o r e d on LINCtape o r d i s k . "FB", " F l " , .. . , " F 7 " . The f i l e s a r e r e f e r e n c e d u s i n g t h e v a r i a b l e names The s t a n d a r d s u b s c r i p t i n g methods a p p l y : e . g . , S F g ( 7 ) = @w i l l . c l e a r t h e e i g h t h e n t r y i n f i l e number F a. I=fl,lggg; T F 7 ( I ) ,! w i l l t y p e o u t t h e c o n t e n t s o f t h e f i r s t l g g l e n t r i e s i n f i l e number 7. I t i s i m p o r t a n t t o r e a l i z e t h a t t h e s e f i l e number t a g s d o n o t , of t h e m s e l v e s , s p e c i f y a p a r t i c u l a r v a r i a b l e on t a p e o r d i s k : t h i s a s s o c i a t i o n between a f i l e number and a s p e c i f i c f i l e name o r l o c a t i o n i s s u p p l i e d by means o f t h e LIBRARY OPEN command. L 0 , f i l e number,format,name,unit where f i l e number i s " F g " , f o r m a t is I I F 1 " ,.. . , o r "F7"; "F" f o r F l o a t i n g p o i n t f o r m a t "S" f o r Signed f r a c t i o n "I" f o r s i g n e d I n t e g e r s name i s t h e DIAL f i l e name, o r t h e s t a r t i n g b l o c k number w r i t t e n as # number, where number i s any l e g i t i m a t e ( i . e . , e x i s t i n g ) s t a r t i n g b l o c k number ( o c t a l ) ; u n i t i s t h e d e v i c e u n i t number. 6 The f u n c t i o n of t h e OPEN command i s t h e n t o a s s o c i a t e a f i l e number, Fn, w i t h a d a t a a r r a y on t a p e o r d i s k and t o d e f i n e t h e t y p e o f d a t a . For example , L O,F1,F,DATA,1 d e c l a r e s an a r r a y of f l o a t i n g p o i n t numbers, i n a f i l e named DATA, on t a p e u n i t 1, i s t o b e r e f e r r e d t o as f i l e number "F1" . Any p i e c e o f d a t a i n t h e a r r a y may now be a c c e s s e d u s i n g t h e s t a n d a r d FOCAL s u b s c r i p t i n g p r o c e d u r e . The program 1.81 1.82 1.83 L M,1,DATAr8 L 0,F2,1rDATA,8 F I=8,255;S F 2 ( 1 ) = 8 GO creates a one b l o c k f i l e named DATA on t a p e 8 and c l e a r s t h e a r r a y of u n s i g n e d i n t e g e r s t o z e r o s . T h i s example sets b l o c k s 3.3 188, and 181, of t a p e u n i t 8 t o a l l z e r o s . LIBRARY CLOSE OPENed d a t a f i l e s a r e CLOSEd w i t h t h e LIBRARY CLOSE command L C , filenumber T h i s command c a u s e s FOCAL-12 t o c l e a n up any " u n f i n i s h e d " (see Appendix D f o r a more c o m p l e t e d e s c r i p t i o n ) t r a n s f e r s f o r t h a t f i l e and t o f r e e t h e f i l e number. A l l OPENed f i l e s s h o u l d n o r m a l l y b e CLOSEd a t t h e end of a program t o p r e v e n t s u c c e e d i n g programs from a c c i d e n t a l l y d e s t r o y ing the f i l e . For example, 1.81 1.82 1.g3 1.84 1-85 1-86 L Mr19,COPY,1 L O,Fl,F,COPY,l L O,F2,F,ORIG,@ F I=1,1288;S F 1 ( I ) = F 2 ( I ) L C , F l ; L C,F2 Q GO 7 w i l l c r e a t e a f i l e on u n i t 1 t h a t i s 1 9 b l o c k s l o n g c a l l e d COPY, copy l2aa f l o a t i n g p o i n t numbers from f i l e O R I G o f LINCtape to LINCtape 1 f i l e COPY, and Q U I T a f t e r c l o s i n g b o t h f i l e s . To r e a s s i g n a f i l e number t o a n o t h e r f i l e r e q u i r e s o n l y a n o t h e r L 0 command; e . g. , l.a.1 L O,F2,I,FILEAlB A l l r e f e r e n c e s t o "F2" a r e e x e c u t e d as FILEA r e f e r e n c e s by FOCAL-12. 3.21 L OIF2,F,FILEB,lfl FILEA i s CLOSEd and a l l r e f e r e n c e s t o "F2" a r e now e x e c u t e d as FILEB r e f e r e n c e s on d i s k u n i t a. Thus, a s e c o n d L 0 command t o a p a r t i c u l a r f i l e number w i l l n e g a t e o r "CLOSE" t h e f i r s t L 0 command. 4.0 FOCAL-12 PROGRAM STORAGE 4.1 LIBRARY SAVE FOCAL-12 programs may b e s a v e d on LINCtape o r d i s k f o r l a t e r u s e . The LIBRARY SAVE command i s u s e d t o s t o r e t h e c u r r e n t ( j u s t e d i t e d ) FOCAL-12 program. Its format i s L S ,name , u n i t where name i s t h e b i n a r y f i l e ' and u n i t i s d e v i c e u n i t number. name t o b e i n s e r t e d i n t h e D I A L i n d e x For example, L S,$NEWPRGM,7 w i l l save t h e program ( t e x t and v a r i a b l e s ) j u s t t y p e d as a b i n a r y f i l e named SNEWPRGM on t a p e u n i t 7 . D I A L program, S i n c e t h e program i s s a v e d as a b i n a r y and l i s t e d as s u c h i n t h e D I A L i n d e x , i t i s s u g g e s t e d t h a t FOCAL-12 programs b e f i l e d u n d e r some s t a n d a r d n o t a t i o n , s u c h as 'Again, no " h e a d e r " b l o c k . 8 d o l l a r sign f o r the f i r s t character. Note t h a t a copy of t h e program j u s t s a v e d remains i n c o r e a f t e r a n L S command and may b e e x e c u t e d u s i n g t h e GO command. F i n a l l y , i f a f i l e w i t h t h i s name a l r e a d y e x i s t s on t h e d e v i c e , t h e "REPLACE?" message i s d i s p l a y e d : t y p e "R" t o com- p l e t e t h e o p e r a t i o n : t y p e a n y t h i n g e l s e t o c a n c e l t h e command. 4.2 LIBRARY LOAD A FOCAL-12 program t h a t h a s been s a v e d by a LIBRARY SAVE command c a n b e r e t r i e v e d from t h e t a p e o r d i s k by a LIBRARY LOAD command i n t h e format L L,name,unit where name and u n i t a r e as p r e v i o u s l y d e s c r i b e d i n s e c t i o n 4 . 1 . For example, L L, SNEWPRGM,~ w i l l r e t r i e v e the program s a v e d i n t h e example i n s e c t i o n 4 . 1 t h e t a p e had been p u t on t a p e t r a n s p o r t (assuming a ) . Once l o a d i n g i s c o m p l e t e , FOCAL-12 p r i n t s an a s t e r i s k t o i n d i c a t e e d i t i n g may c o n t i n u e o r t h e program may b e s t a r t e d . 4.3 LIBRARY GO A FOCAL-12 program t h a t h a s been s a v e d by a LIBRARY SAVE command can b e r e t r i e v e d from a D I A L b i n a r y f i l e on t a p e o r d i s k and s t a r t e d a u t o m a t i c a l l y by a LIBRARY ( l o a d and) GO command i n t h e f o r m a t L G,name,unit where name and u n i t a r e a s s p e c i f i e d f o r LIBRARY LOAD. F o r example, L G , SNEWPRGM,,~ w i l l n o t o n l y l o a d t h e program, SNEWPRGM, i n t o memory b u t w i l l s t a r t i t automatically. Note t h a t t h i s f e a t u r e can be used i n c o n j u n c t i o n w i t h FOCAL-12's data f i l e h a n d l i n g t o e n a b l e t h e o p e r a t i o n of l a r g e programs by "segmenting" o r "chaining". For example, one segment c o u l d s e t up an e x p e r i m e n t , a c q u i r e d a t a , s t o r e i t i n t o a f i l e , and l o a d and s t a r t a second segment u s i n g t h e LIBRARY GO command. 9 1.85 1-18 L M,lg,DATA,$ L O,Fg,I ,DATA,g 2.75 L Gf$2NDSGMT,$ The s e c o n d segment c o u l d t h e n p r o c e s s t h e d a t a , p u t up a d i s p l a y o f re- s u l t s , etc., c a l l a t h i r d segment,... The p r o c e s s i n g o f t h e L G command r e q u i r e s t h e u s e o f a p o r t i o n of t h e d i s p l a y b u f f e r ; however, up t o a p p r o x i m a t e l y 450 p o i n t s may b e r e t a i n e d . I f t h e d i s p l a y i s t o b e c l e a r e d , t h e s e c o n d segment s h o u l d merely s t a r t w i t h an " 0 C" command. Note t h a t f i l e s opened i n one segment need n o t b e opened i n s u c c e e d i n g segments. Of c o u r s e , t h e f i n a l segment s h o u l d CLOSE any f i l e s s t i l l open. 5.0 ANALOGUE I N P U T AND T I M I N G 5.1 Sampling FOCAL-12 c a n sample from 1 t o 32 a n a l o g c h a n n e l s f o r d i g i t a l c o n v e r s i o n v i a t h e FADC command FADC ( n ) where n i s t h e c h a n n e l t o b e sampled. The v o l t a g e a c r o s s t h e AD-12 c h a n n e l a t t h e moment o f s a m p l i n g i s t h e v a l u e r e c o r d e d . ' Readings c o l l e c t e d by t h i s f u n c t i o n can b e p l a c e d i n a d a t a f i l e f o r l a t e r a n a l y s i s o r can b e processed immediately. 1.81 1.84 L OfF1,S,DATA,l,0 F I=fl,l$g;S F l ( I ) = F A D C ( 3 ) F I=g,lflg;T F l ( 1 ) ,! L C,F1 l.%5 Q 1-82 1.83 For example, w i l l t a k e l g l s a m p l e s from A/D c h a n n e l 3 , s t o r e t h e r e s u l t i n t h e p r e v i o u s l y "made" f i l e DATA on t h e f i r s t d i s k u n i t , t y p e o u t t h e v a l u e s and Q U I T . 5.2 Timing Using t h e OUTPUT INTERVAL Command for user s p e c i f i e d interval t i m i n g , p e r m i t t i n g a d e l a y o f known d u r a t i o n t o e l a p s e between e v e n t s . The KWl2A c l o c k can b e used by FOCAL-12 'Values from FADC r a n g e from -1.g88 t o -998 w i t h a r e s o l u t i o n o f 2/lp124V. 10 T h i s i n t e r v a l i s e s t a b l i s h e d by t h e 0 I command 0 1,n where n , which may be an e x p r e s s i o n , i s t h e l e n g t h of t h e i n t e r v a l i n seconds, w i t h . @ l n <48.95. Thus, an i n t e r v a l of two s e c o n d s i s s p e c i - f i e d by 0 I,2 I n t h i s case, FOCAL-12 s t a r t s t h e c l o c k so t h a t i t w i l l " t i c " a t two second i n t e r v a l s . I f an 0 I command i s now i s s u e d i n t h e program w i t h - o u t an argument, FOCAL-12 w i l l d e l a y t h e program u n t i l t h e n e x t t i c ( u p t o 2 s e c o n d s ) o c c u r s , t h e r e b y s y n c h r o n i z i n g t h e program w i t h t h e real t i m e clock. The f o l l o w i n g program a v e r a g e s s a m p l e s , t a k e n once p e r s e c o n d from A/D c h a n n e l 1, f o r 20 s e c o n d s . 1-81 0 1 , l ; S A = 8 6.0 1.82 1.83 F I = l , 2 g ' ; S A=A+FADC(l);O I T A/20,! 1.04 Q DATA ACQUISITION USING FOCAL-12 FOCAL-12 is- n o t i n t e n d e d t o b e a r e p l a c e m e n t f o r t h e e x i s t i n g and/or p l a n n e d d a t a a c q u i s i t i o n programs f o r t h e PDP-12. However, where low d a t a r a t e s a r e used, FOCAL-12 w i l l f a c i l i t a t e t h e d a t a a c q u i s i t i o n t a s k . S e v e r a l methods are d i s c u s s e d i n t h i s s e c t i o n (all assume s t o r i n g of t h e d a t a i n t o an " S " 6.1 f i l e of signed f r a c t i o n s ) . 1. S t o r i n g i n memory (550 r e a d i n g s / s e c ) 2. S t o r i n g on LINCtape ( 2 1 . 2 o r 2 . 7 s e c s / r e a d i n g ) 3. S t o r i n g on d i s k on RK8) 4. Using STHRUFg ( s i n g l e c h a n n e l , (< 2 0 r e a d i n g s / s e c on RF08; 5 1 2 r e a d i n g s / s e c (188 r e a d i n g s / s e c t o LINCtape) Memory U p t o 256 r e a d i n g s may b e a c q u i r e d a t a maximum r a t e o f 5J3 p e r second u s i n g t h e OUTPUT INVERVAL command and t h e FADC f u n c t i o n . The 257th r e a d i n g w i l l exceed t h e c a p a c i t y o f t h e memory b u f f e r and r e q u i r e o u t put t o the auxiliary storage f i l e . 11 6.2 LINCtape The 257th r e a d i n g and e v e r y 1 2 8 t h r e a d i n g t h e r e a f t e r r e q u i r e s a p a u s e of 1 . 2 s e c o n d s t o w r i t e and check t h e b l o c k o n LINCtape. pause, t h e r e i s no sampling s o r e a d i n g s are l o s t . During t h i s T h e r e f o r e , t h e maxi- mum s u s t a i n a b l e r a t e i s 1 . 2 s e c o n d s p e r r e a d i n g . The f o l l o w i n g p r o c e d u r e e l i m i n a t e s t h e c h e c k i n g f e a t u r e on t h e t a p e w r i t e and r e d u c e s t h e p a u s e t i m e t o . 7 s e c o n d s . change t o FOCAL-12 i t s e l f ; i . e . , e r r o r checking. Note t h a t t h i s i s a a l l t r a n s f e r s t o t a p e a r e made w i t h o u t Having s t a r t e d D I A L , +ZEJ +AB FOCAL-12,unitd +AS PATCH ,u n i tJ +SB FOCAL-12,unitJ where I' PATCH" i s PMODE "3632 5272 *3672 6211 1382 3783 6281 6212 4667 3651 5235 5243 764a LISTAP -7 6.3 Disk Again, t h e w o r s t case i s assumed as t h e l i m i t . For t h e RSa8, maximum access t i m e l i m i t s maximum t h r o u g h p u t t o a b o u t 2p( r e a d i n g s / s e c o n d . For t h e RK8, t h e p o s s i b i l i t y o f c r o s s i n g a d i s k t r a c k boundary p u t s t h e maximum t h r o u g h p u t r a t e a t a b o u t 1 2 r e a d i n g s / s e c o n d . 6.4 $THRUF@ T h i s v e r s i o n of t h e u s e r f u n c t i o n , F X , ( r e f e r t o section 7.0) h a s been implemented t o f a c i l i t a t e s i n g l e c h a n n e l t h r o u g h p u t t o LINCtape a t up to l0a r e a d i n g s / s e c o n d . The o v e r l a y u s e s a b o u t half of t h e u s e r space and i s c a l l e d ( a s s u m i n g FOCAL-12 h a s been l o a d e d ) by t h e command L L,$THRUF@,unit 12 Ffl must be opened as a s i g n e d f r a c t i o n f i l e . L O,F%,S,name,unit or L O,F$,S,#dddd,unit The f u n c t i o n i s t h e n i n i t i a t e d by t h e command S H=FX(channel, no. of s a m p l e s , s y n c , r a t e ) where c h a n n e l s p e c i f i e s t h e a n a l o g u e c h a n n e l (8-31 ) from which 18 samples are t o b e t a k e n : number o f samples i s l i m i t e d by f i l e s i z e ; sync s p e c i f i e s t h e device t o i n i t i a t e t h e data collection: rate 8 - 5 f o r sense s w i t c h e s a-5 18-25 f o r s e n s e l i n e s 8-17 * 18 8' s p e c i f i e s t h e t i m e between samples i n s e c o n d s (.81-48. 9 5 ) . The f o l l o w i n g sequence L L,$THRUFg,g 1.81 L M , ~ % , D A T A , ~ 1 . 8 2 L O,FB,S,DATA,l 1 . 8 3 S A=FX(7,1288,15,.81) 1.84 L L,$WORK,B L S,$GETDATA,B would save a FOCAL-12 program, which when o p e r a t e d would (1.81) create a f i l e named DATA on t a p e u n i t 1 ( 1 . 8 2 ) OPEN t h e f i l e as Fa ( 1 . g 3 ) a f t e r t h e s y n c p u l s e from s e n s e l i n e 5 , t a k e 1288 s a m p l e s , from a n a l o g u e c h a n n e l 7 a t a r a t e of 188 samples/second and s t o r e them i n f i l e DATA (1.84) c a l l a p r o c e s s i n g r o u t i n e , $WORK. There a r e s e v e r a l p o s s i b l e e r r o r messages from STHRUFB: ?17.31 ?17.53 ?18.83 ?18.85 FjJ w a s n o t opened a s an " S " f i l e The f i l e s i z e i s i n s u f f i c i e n t f o r t h e number o f samples Format e r r o r i n s p e c i f y i n g p a r a m e t e r s I l l e g a l sync device 13 7.0 IMPLEMENTATION O F USER FUNCTIONS (FNEW,FX,FZ) FOCAL-12 p r o v i d e s t h e t r a d i t i o n a l FOCAL c a p a b i l i t y f o r e n c o d i n g u s e r f u n c t i o n s t o s a t i s f y those u s e r s w i t h s p e c i a l requirements n o t covered The FNTABF t a b l e h a s t h r e e e n t r i e s - PFNEW, PFX, and by FOCAL-12. PFZ - f c r t h i s purpose. is equivalent For i n t e r n a l s p e c s , FOCAL-12 t o FOCAL-8 and i n f o r m a t i o n o b t a i n e d from DEC-08-AJAE-PB is v a l i d except 1 f o r a d d r e s s e s , which a r e p r e s e n t e d i n t h e t a g t a b l e i n s e c t i o n 7.4. For c o n v e n i e n c e , a summary i s p r e s e n t e d . 7.1 SUMMARY T e x t Handling S u b r o u t i n e s GETC G e t n e x t c h a r a c t e r from t h e t e x t : SORTC S o r t AC ( i f non-zero) C a l l i n g sequence: o r CHAR a g a i n s t LIST. SORTC LIST-1 xxx xxx NOTE: s t o r e i n t o CHAR. /call / a d d r e s s o f LIST-1 / r e t u r n i f i n LIST / r e t u r n i f n o t i n LIST L i s t s a r e t e r m i n a t e d by n e g a t i v e numbers. PRINTC P r i n t t h e AC: i f t h e AC=%, p r i n t t h e c o n t e n t s of CHAR. READC Read and echo a c h a r a c t e r from t h e keyboard and p u t i t i n t o CHAR. SPNOR Ignore spaces i n t e x t ; e x i t with t h e f i r s t character t h a t i s n o t a s p a c e i n CHAR. ERROR T r a n s f e r c o n t r o l t o t h e command mode and t e r m i n a t e exec u t i o n ; p r i n t e r r o r message. TE ST N T h i s s u b r o u t i n e i s a c t u a l l y a s e r i e s o f SORTC's w i t h various r e t u r n s : CALL: /call /return i f a period TESTN ret u r n 1 / r e t u r n i f n o t a p e r i o d o r a number / r e t u r n i f a number; SORTCN i s s e t /to t h e binary equivalent. return2 return3 The r o u t i n e t e s t s o n l y CHAR. TESTC AC must b e %. T h i s s u b r o u t i n e i s a g a i n a s e r i e s of S O R T C ' s w i t h v a r i o u s returns : CALL: /call / t e r m i n a t o r ; SORTCN s e t a c c o r d i n g / t o TERMS /number; SORTCN sets as i n TESTN / f u n c t i o n ; (CHAR=F) /alphabetic character TESTC return1 return2 return3 re t u r n 4 'Another e x c e l l e n t s o u r c e of i n f o r m a t i o n i s DECUS No. FOCAL-17; i n d e e d , much of t h e i n f o r m a t i o n i n t h i s s e c t i o n i s t a k e n from t h a t document. 14 T h i s s u b r o u t i n e i s u s e d as a m u l t i p l e s o r t and b r a n c h subroutine. CHAR ( o r t h e AC i f n o n z e r o ) i s compared t o a l i s t . I f it i s i n t h e l i s t , an a d d r e s s i s looked up I f a match and an e f f e c t i v e JMP ADDRESS i s e x e c u t e d . i s n o t i n t h e l i s t , t h e n r e t u r n i s t o CALL+3. SORTJ CALL: SORTJ LIST1-1 LIST2-LIST1 /ADDRESS o f c h a r a c t e r l i s t /difference i n t h e addresses /of l i s t s RETURN /return here i f not i n LIST1 PUSHA P u t t h e c o n t e f i t s o f t h e AC on t h e PDL; c l e a r t h e AC. POPA G e t t h e t o p e n t r y on t h e PDL and p u t i t i n t h e AC. PUSHF T h i s i s e s s e n t i a l l y t h r e e PUSHA's and i s u s e d €or s t o r a g e of f l o a t i n g p o i n t d a t a . CALL: PUSHF ADRESS / a d d r e s s of f i r s t l o c a t i o n o f / t h r e e word f l o a t i n g p o i n t number The i n v e r s e o f t h e PUSHF r o u t i n e . POPF CALL: POPF ADDRESS / a d d r e s s o f where t o p u t d a t a This i s t h e r e c u r s i v e s u b r o u t i n e c a l l . The s u b r o u t i n e to t h e subroutine r e t u r n i s p u t on t h e PDL and a address i s executed. PUSHJ JMP CALL: PUSHJ SUBROUTINE xxx / a d d r e s s o f SUBROUTINE /address of t h i s l o c a t i o n i s s t o r e d /on t h e PDL R e c u r s i v e s u b r o u t i n e r e t u r n ; t h e t o p e l e m e n t of t h e PDL i s u s e d as t h e e f f e c t i v e a d d r e s s o f t h e r e t u r n . POP J Other Subroutines INTEGER = E n t e r v i a a JMS 1 INTEGER. T h i s r o u t i n e makes an i n t e g e r o u t of t h e f l o a t i n g a c c u m u l a t o r ( F L A C ) . The low o r d e r p a r t i s i n FLAC+2 and i n t h e a c c u m u l a t o r ; t h e h i g h o r d e r p a r t i s i n FLAC+l. EFUN3I = T h i s r o u t i n e i s t h e r e t u r n from a f u n c t i o n r o u t i n e . It checks f o r a r i g h t p a r e n t h e s i s 0 )i n CHAR and n o r m a l i z e s t h e FLAC. E n t e r v i a a JMP I EFUN3I w i t h t h e f u n c t i o n res u l t , i f any, i n FLAC. EVAL = T h i s s u b r o u t i n e e v a l u a t e s an a r i t h m e t i c e x p r e s s i o n . i t i s r e c u r s i v e , i t must b e c a l l e d v i a : Because PUSHJ EVAL xxx /return The s u b r o u t i n e r e t u r n i s t o CALL+2 w i t h t h e f l o a t i n g p o i n t v a l u e of t h e e x p r e s s i o n i t e v a l u a t e d i n t h e FLAC. 15 L i n k s t o FOCAL The g e n e r a l form o f a f u n c t i o n i s F U N C ( A R G l , A R G 2 , - - - ) . The f u n c t i o n c o d i n g i s e n t e r e d v i a a SORTJ where t h e a d d r e s s i s d e s i g n a t e d i n t h e table: FNTABF=. XABS XS GN / ( 3 7 4 ) i n FOCAL-12 / a d d r e s s o f FABS c o d i n g /FSGN XINT /etc. XDISP XRAN XADC ARTN FEXP FLOG PFNEW, PFX , PFZ, FSIN FLOS XSQRT ERROR5 ERROR5 ERROR5 To add a u s e r coded f u n c t i o n , p u t t h e e n t r y p o i n t of t h e f u n c t i o n codi n g i n t h e a p p r o p r i a t e l o c a t i o n i n t h e above t a b l e . FOCAL-12 w i l l t h e n b r a n c h t o t h a t l o c a t i o n a f t e r t h e f u n c t i o n name i s d e c o d e d , and ARG1 i s e v a l u a t e d i n t h e FLAC. To d e l e t e a f u n c t i o n from t h e l i s t , r e p l a c e t h e c u r r e n t c o n t e n t s w i t h 2725. When t h e f u n c t i o n e v a l u a t i o n i s c o m p l e t e , t h e answer must b e l e f t i n t h e FLAC, and a JMP I EFUN3I e x e c u t e d . The EFUN3I r o u t i n e w i l l check t o see i f t h e r e i s a r i g h t p a r e n t h e s i s i n CHAR, and n o r m a l i z e t h e FLAC, b e f o r e r e t u r n i n g t o t h e a p p r o p r i a t e p l a c e i n FOCAL-12. I n g e n e r a l , u s e r f u n c t i o n s w i l l use p a r t of t h e t e x t - v a r i a b l e s storage area by c h a n g i n g l o c a t i o n BOTTOM which c o n t a i n s t h e a d d r e s s o f t h e l a s t l o c a t i o n t o be used f o r s t o r a g e - i n i t i a l l y 4617. I f BOTTOM i s m a d e t o c o n t a i n 4 2 7 7 , f o r example, t h e n t h e u s e r h a s from 43JlJJ t h r o u g h 4 6 1 7 f o r s t o r a g e o f t h e f u n c t i o n p r o c e s s o r . The t h e o r e t i - c a l l i m i t f o r BOTTOM i s 3216, however, t h i s would n o t a l l o w any u s e r space f o r i n d i r e c t statements. Note t h a t i f L I N C mode c o d i n g i s u s e d , i n t e r r u p t s must b e off. 7.2 Example of U s e r I m p l e m e n t a t i o n of F X 16 *?P /OVEPLPY FOR FOCPL- 13 / M A K E S "FX" FETlJRN THE F I GHT 7\41TCWES / / / / / / ZE P Q FOCCIL 1 PI LI A S OVEFLAYIU / SF? FOCLTFMP, U s P Lc) FOCLTEMP J I I / / / / / / / / / / / E P P S E PLL L I PR ,SA\/!?, NOW Y O U HAVF P NULL PROGPPM SAVED A 5 "5NLILLPF.G" W H I C H WHEN LOADED HY FOCPL-13 F.RINGS I N THF OOEFLAY OF "FX"=PI GHl Fb!I TCHES F G - I F .C W T TCqE.7 S T I L L 7 3 I P ( O C T O L ) 5 A=FX<(A) ; T A TYPES 3 7 R 4 - G I B @ P < D E C ) PMO DF: POTTOM=?S FEXP= 4 6 2 0 FLOC= 4A EFIIN3I = 1 3 6 PFZ=412 PFX=PFZ- 1 PFN F W=P FZ - 2 / / / PP35 .46@7 P41 1 461 GI 461m 461 1 76Gl4 39-46 4612 4613 461 4 461 5 3U45 4616 @GI27 0 ? 7 1 FX > *HOTTOM FX- 1 *PFX FX *FEXP- 1 GI LPS DCA DCP 121.6 TPD DC P 3t54-4 5536 YNI!LLPHG, u JMP I 27 / LISTPP - 7 NO E R R O R S ROTTUM @I735 EFUN3I 0 1 3 6 FEXP 462@ FLOC UP44 FX 46 l @ 0 27 4616 PFNEW 91410 P FX P411 P FZ G1.412 17 FLAC+P FLAC+ 1 027 FLPC EFlN3I 7.3 S p e c i a l Requirements f o r FOCAL-12 The FOCAL-12 f a c i l i t y o f s a v i n g ( L S ) and/or l o a d i n g ( L L o r L G ) programs adds a n o t h e r dimension t o t h e problem o f p r o c e s s i n g u s e r f u n c t i o n o v e r lays i n the storage area; e.g., on a g i v e n D I A L t a p e , program A might u s e o v e r l a y FX; programs B and C , n o o v e r l a y ; program D , FZ; e t c . The s o l u t i o n chosen i s t o h a v e any n e c e s s a r y o v e r l a y i n memory when t h e program i s t y p e d i n and s a v e d w i t h t h e L S command. FOCAL-12 w i l l save t h e program as w e l l as t h e o v e r l a y and w i l l l o a d b o t h when t h e program i s r e q u e s t e d v i a t h e L L o r L G commands. The r e m a i n d e r of t h i s s e c t i o n e x p l a i n s how t h i s i s done w i t h t h e above example and assumes a knowledge of D I A L on t h e p a r t o f t h e r e a d e r . Having s t a r t e d DIAL-MS, 1. type +ZE C l e a r s t h e b i n a r y working area. 2. +AB FOCAL-12,unitJ Adds FOCAL-12 3. t o t h e b i n a r y working a r e a . +AS OVERLAY ,u n i t 3 Assembles t h e s o u r c e f o r OVERLAY on u n i t , a d d i n g t h e b i n a r y t o t h e FOCAL-12 b i n a r y i n t h e b i n a r y working area. N.B. 4. The LISTAP-7 i n s t r u c t i o n must b e i n c l u d e d i n t h e source f o r t h e overlay i n order t o have t h e assembler add t o t h e b i n a r y worki n g a r e a , which a l r e a d y c o n t a i n s FOCAL-12. +SB FOCLTEMP ,u n i t ,P 3 Saves a " t e m p o r a r y " v e r s i o n o f FOCAL-12 , which contains t h e user function, FX. 5. +LO FOCLTEMP I u n i t 3 Loads and s t a r t s FOCAL-12 w i t h t h e o v e r l a y f o r F X . 6. FOCAL-12 commands *E A FOCAL-12 c l e a r s s t o r a g e of a l l b u t t h e o v e r l a y . 7. *L S ,SNULLPRG, u n i t l You now have a n u l l FOCAL-12 program s a v e d on u n i t 1 and named SNULPROG When l o a d e d by FOCAL-12, i t . brings i n t h e overlay f o r t h e FX function. The program r e q u i r i n g t h i s f u n c t i o n may now be t y p e d i n and s a v e d v i a t h e L S command. Whenever i t i s r e c a l l e d -I I The temporary program FOCLTEMP i s no l o n g e r needed and may b e d e l e t e d from u n i t u s i n g t h e +DX,unitJ f u n c t i o n i n DIAL. 1.8 v i a t h e L L of L G commands, t h e new f u n c t i o n w i l l also b e l o a d e d . For example, i f t h e s w i t c h e s were s t i l l s e t t o 731gg l.@l IF (FX ( @ ) ) 2 . 1 ,3 . 1 , 4 . 1 GO would t r a n s f e r t o l i n e 2 . 1 . On t h e o t h e r hand, programs n o t n e e d i n g t h i s f u n c t i o n can b e t y p e d i n w i t h o u t f i r s t c a l l i n g SNULLPRG v i a t h e L L command and s o would have t h e c o m p l e t e s t o r a g e space available. 7.4 FOCAL-12 Tag T a b l e . 19 A ABSOL ABSOLZ ABSOL3 ABSOLV AC1H A C ~ L ACMINS ADOR AOONE AF A L F ~ ALF2 ALFZ ALGN ALIGN ALIST ALPHA AMOUNT ARCALG ARCRTN ARGNXT ARTN ASHFT ASK ATLIST ATSW AXIN AXOUT B BlBLK BlFLG BlUNIT B2BLK B2FLG B2UNIT BACK BEGIN BET1 BET2 BETA BET2 BF BLK2 BLOCK BOTTOM BUFBEG BUFFER BUFR BUFST C Cl00 0045 6751 6153 7375 5571 0041 0042 6605 0040 6673 4677 4760 4763 4755 6572 6623 1370 0016 6722 4732 5024 1723 5000 6665 1200 1570 0056 0010 0017 0046 2130 2125 2126 2134 2131 2132 5503 3601 4771 4774 0017 4766 4702 0011 2121 0035 3216 7470 0060 5531 0047 0006 C140 C144 c200 C260 c3 c5 c7 c9 CALLIN CCR CDF CEXl CEXP CF CFRS CFRSX CGET CGETRE CGETX CHAR CHARTA CHECK CHFLAG CHIM CHRCNT CHREND CHRLUP CHHT CLCU CLEAR CLF CLKFLG CNTR COL COMBOT COMEUF COMEIN COMEOU COMGO cOMLST COHMEN COMMON COMSUB CON1 CRETLD CRETST CHLF CRUDDY CSTAR D 0256 D85 2554 6140 0123 0113 5345 5341 5335 5331 7576 0077 7000 6506 6505 4705 0133 0137 1133 1137 2564 0066 0200 1751 0147 2157 0006 0056 0033 6133 7427 7672 0076 2661 0057 1253 0226 p1132 3140 3206 1161 0774 m614 1600 1502 5037 1551 2072 7505 1155 0225 8041 0002 0004 20 DATUM DATUMA DCONP DCONT DCOUNT DDTJR DEBGSW DECON DECONV DECP DECR DEJUMP DELETE DF DGRP DGRPl DIG DIGIT DIGITS DIVl DIV2 DIVDIV DIVIDE DIVLUP DMDONE DMPSW DMULT OMULT4 DNORM DNUMBR DO DOK DONE DOONE DOUBLE DPCVPT DPN DP 7 DSAVE DTST DUBDIV OUBLAD DV3 E ECALL ECHOLS EFOP EFUN EFUN2 EFUN3 EFUN3I ELPAR 7102 7252 6303 0471 6143 0004 B026 5627 5600 5533 5521 1306 4565 4710 0425 0441 5543 5713 0006 5754 6757 1632 1150 I635 7063 0100 7004 7036 7335 5714 0420 2113 2131 0463 0127 6302 6305 6145 5640 5647 7261 5733 7267 0042 1601 1624 0056 1743 1755 2021 0136 1764 END ENDFI ENDLN ENDT ENREPL ENUM EPAR EPAR2 ERASE ERG ERL ERR2 ERRFIL ERROR2 ERROR3 ERPOR4 ERROR5 ERT ERV ERVX ERXlf ESCA ETERM EfERMl €TERM2 ETERMN EVAL EX1 EXIT EXIT1 EXIT2 EXIT3 EXITJ EXP EXTR F FCONT FCOS FCOUNT FEND3 FERROR FEXP FEXT FFF FG02 FG03 FG04 FG05 FIG01 FIG04 FILERR FlLSPR 0134 6243 4556 0135 1375 1732 1710 1766 2206 2227 2224 2726 2571 4566 4566 4566 2725 2216 2221 2241 1457 2532 1647 1627 1655 1644 1613 0040 2646 5034 5301 7363 2660 0044 2313 0043 1101 5177 5535 2267 0177 4620 0000 1522 6011 6027 6034 6070 6221 6261 1354 1326 FILTAB FINCR FINDLN FINDN FINFIN FINISH FINKP FINPUT FINT F I SW FIVHUN FIX FIXM FLAC FLAO FLAG1 FLAG2 FLAGJ FLARC; FLARGP FLOV FLEX FLGT FLIMIT FLINTP FLfSTl FLIST2 FLMY FLOG FLOP FLOUT FLOUTP FLPT FLSU FLTONE FLTXR FLTXR2 FLTZER FMl2 FNEG FNOR FNTABF FNTABL FNUM FOR FORHUN FOVTPU FPACl FPNT FPRNT FRETLD FRETST 2135 1065 4555 2250 1137 2076 1133 0131 4407 0052 7653 6724 6753 0044 6510 5162 4725 1076 2032 0125 7107 6517 6471 1075 6200 0577 0574 6565 5040 1674 5556 6000 6467 6507 2405 0014 0015 2407 6142 5163 7000 0374 2167 6311 1041 7651 0130 7474 6400 5465 1537 2014 21 FRST FRSTX FSIN FSSERR FXlT Glal G5772 G5773 G720)Q G7773 C7774 G7775 G7776 G7777 GAMMA GBLOK GfCALL GEND GERR GET1 GET3 GETARG GETC GETCX GETLN GETRHS GETSGN GETVAR GEXIT GFNDl GINC GLIST GO GONE GOODY GOT0 GRPTST GSI Gs2 GS3 GS4 GSERCH GTEM GZERR HIYBUF HISS HORD i 33 I BAR iECALL IF IF1 3206 3214 5204 5774 c1000 3661 3662 3663 3664 3665 3666 3667 367pJ 3671 0005 3655 1463 2334 0340 2330 2345 1401 4545 1563 4554 1000 1045 1405 0352 1510 0070 1375 5021 0232 a045 0603 0744 1435 1464 1444 1457 1424 0021 0362 0037 B150 0045 2414 0212 1037 1013 1035 I F3 IGROR !GOTIT ILIST IN INBUF IYCALL INDEV INDRCT INFIX INLIST INORM IhPUT INPUTX INSUB INTEGE INTRPT IOBUF IPAHT IRETN ITABLE ITER1 ITLOAD ITSAGO ITSFF ITSOK ITSSS ITSTOR ITSUU JUMP K5 KIVT L1 L2 L3 L4 LASTLN LASTOP LASTV LC LCHAIN LCLOSE LCON LDMILD LEFLAG LEFPuT LEPUT LERR LESUR2 LESUBS LG LG2E 1025 P217 1036 2771 5513 0834 2071 0064 6465 2401 &570 6307 8756 0271 e036 0053 2603 3120 1040 0227 6575 7470 1533 1736 1450 7521 1451 2000 1452 6464 5525 2625 5126 5131 5134 5137 a025 0055 0031 5171 1202 1520 0371 1160 1462 a172 6163 6357 c1170 0173 6375 4713 LGO LINEN0 LIST3 LIST6 LIST7 LISTtO LL LLENGT LLIST LLOAD LM LMAKE LNAME LNUH LO LOADIT LOADJ LOG2 LOG5 LOG6 LOG7 LOG8 LOOPfll LOPEN LORD LOSS LPRTST LS LSAVE LSBLK LTAPE LUKUP LWETMP LXIT MlB0 M10PT M l l M12 Mi37 M140 M144 M2 M20 M240 M260 M272 M4 M40 M43 M5 M77 MBREAK 6360 0067 0077 0072 0074 1366 5173 1327 6366 1203 2572 1402 1172 1171 5167 6333 1304 5157 5142 5145 5150 5153 6433 1431 0046 0151 2037 6176 I233 1324 6346 4342 0002 1416 0101 6147 0121 2413 2357 2556 6137 0111 0105 0114 1534 1544 6141 2356 1077 0120 0103 2602 22 MCOM 1136 vJ116 MD 5526 MEQ 1135 MF 0682 YFLT 0117 MHUNCIR 5375 MIF 7260 YINCMA 1400 MINCOM 6374 MINE 5662 MINSK1 0 0 5 1 MINUS2 7 1 5 3 MINUSA 0112 MINUSE 6301 MINUSZ 5663 MLDBLK 1 1 6 5 MLIMIT 7647 MMCOM 7656 MOD 5214 MODIFY 1 2 5 4 woo 1262 MOOEND 1275 MOOLUP 1 2 6 6 MORNUM 1056 MOVMOV 1305 MP1 7254 MP2 7256 MP3 7255 MP4 7200 MP5 7253 MP6 7210 MPER 0115 MPLUS 5664 MSPACE 5665 MULDIV 7101 MULT 6570 MULT10 5 6 6 7 MUCT2 5715 MULTY 4752 MVCNT 1323 MVCTR 1200 MVPTR 1201 MYACl 0164 MYAC2 0165 HYAC3 0166 MYTEMP 0156 MYTMP2 0 1 5 7 NAGSW 0065 NCHARS 7566 NCOLS 7564 NEGP 4724 MCR NFEEOS NL I N € s NOASC I NOCLY NO C R L F MOHANG NOHF NORM NORMF NORMLE NOTSAV NOX VOX1 NOX2 NUMSGN 01 018 012 015 0200 0215 027 0360 037 04377 04600 056 06@00 06377 07 07@08 07400 0742pI 07453 07472 07506 07510 07524 07566 0760 07655 077 07710 07716 07761 07763 07764 07770 07774 oc OCTNUM 00 7565 7561 67061 2653 7510 7556 6515 6571 7147 2031 1314 6675 6711 6704 1061 3600 1123 1545 1434 0003 1157 1565 0007 1360 8076 5374 1156 0173 7570 1776 7415 7650 0174 1426 1501 1427 1424 1154 7572 0015 7571 1124 1125 7573 1155 7567 0172 1126 1127 7752 1101 7761 ODISSP OE OERROR 7704 7753 7713 OEXIT 7731 DC0 7714 01 7734 OLIST 7722 OM12 5530 ONE 4716 0010 1425 0012 1430 002 1456 006377 7730 OP 3115 OPMINS 6 5 6 7 OPNEXT 1 6 2 2 OPTAEL 1 7 3 1 OPTR 6002 OPTRB 2663 OPTRI 2665 OPTRO 2664 OPUT 5532 os 7763 OSAMP 1357 OT 7771 OUT 2465 OUTA 5536 OUTCR 2476 OUTDEV 0063 OUTDG 6154 OUTPUT 7 7 0 6 OUTX 2475 OVER1 0043 OVER2 a047 P 0000 P13 0005 P17 E107 P177 0186 PlFLAC 0167 P2000 m373 P27 6750 P277 a110 P2FLAC 8 1 7 0 P3 2036 P337 m075 P377 2553 P3FLAC 0 1 7 1 P4G1 2552 P4000 0124 P43 6310 P ~ L N A M a145 P6LNAM a 1 4 6 23 P7200 P7600 P77 P7700 P7740 PA1 PACEUF PACKC PACKST PACX PALG PARTES PASS PBlFLG PC PC1 PCHAR PCHECK PCHK PCKl PCLEAR PCLKFL PCOMMO PD3 2 PDLXR PECALL PEQ PER PFILTA PFINIS PFNEW PFNUM PFX PFZ PCETC PGETRH PI PI2 PIOT PLCE PLOMIL PLEFLA PLESUB PLLPl PLLP2 PLLP3 PLLP4 PLNAME PLNUM PLOOKU PNCHAR 1402 8104 0122 01@1 0372 2524 2582 4546 0027 2530 5260 2051 6335 p1163 0022 D614 1401 5244 0510 2535 0175 7745 0154 0534 0554 0013 6334 6135 0102 0152 0160 0410 1771 0411 0412 1422 a143 5311 5036 5315 5536 0144 1075 0101 1006 1016 1044 1102 1122 0142 0153 7732 PNCOLS PNFEED POPA POPF POPJ POPTR PP43 PPASS PPROC PPTEN PPTR PREOIV PREPLA PRHSER PRINTC PRNT PRNT2 PRNTI PRNTLN PROC PROCES PSCOPO PSETCL PSIN PSTART PSUBS PT1 PTBL PTCH PTEN PTEST PUSHA PUSHF PUSHJ PWAIT PXOUTL QADD R6 RANMUL RAN0 RAR1 RAR2 RDIV READC RECOVR RECBVX REMAIN REPLAC REPT RESOL RE SOL^ RESOL5 7776 7777 1413 4544 5541 7733 1100 7705 1421 6144 7574 1622 0155 1423 4551 2442 3114 6132 4553 0611 0610 7775 7746 0165 1322 0100 0030 1330 0126 6275 1462 4542 4543 4540 0174 7774 01661 5441 6160 1142 6573 6574 0152 4552 2740 2761 5712 1361 6146 6752 7376 6304 RESOLV RET SETRN RETURN REVIT RWSERR RITEOU RND2 ROOTGO SRETST SRNLST START STARTL STARTV STEMP STEMP2 STOKOK STOOBG STORIT SUBR SUBS SUBS2 SWITCH SWTMP SQEND 7173 5452 1563 5536 7146 1130 3651 5527 7461 2557 6151 4557 3004 3042 3030 3037 3041 2555 6150 1372 2600 3751 2601 1300 1271 1266 7500 5534 5351 1041 1336 9740 1304 1310 7124 ms50 2662 6136 6101 6134 1312 4550 8054 4547 6777 3051 4560 7671 7467 7465 SRETLD SRETN 1541 TEXTP TGO THIR THISLN THISOP TINTR TLIST TLIST2 TLIST3 TQUOT TRAO TSTGRP TSTLPR 0261 TWO ROT ROUND RTL6 RUB1 RUB2 RUB3 RUB4 RUB5 RURIT SADR SAMEY SAVAC SAVE SAVLK SEAR SCHAR SCONT SCOPOU SCOUNT SETCLK SETT SEXC SFOUND SGOT SIGN SIGNF SIN SMIN SMP SMSP SORTB SORTC SORTCN SORTJ SPECIA SPLAT SPNOR SPTR SQCONl 24 T T1 T12 T2 T3 TABLE TAG1 TASK TASK4 TCRLF TCRLF2 TDUMP TELSW TEM TEMP TEN TENPT TERMS TEST2 TEST4 TESTA TESTC TESTN 2024 1361 0177 5064 0060 7750 7751 2044 2051 6175 0102 0171 0167 0151 0162 Baa0 0032 3611 PJa71 0033 6466 6723 1282 1250 1246 '1243 3052 0016 5156 4726 6271 6152 1772 6736 7366 0322 4564 4561 8017 5400 7257 0023 0024 1236 1376 1532 2377 1227 6575 4563 4562 4721 TWOPI TYPE TYPE2 URETLO URETST UTE UTO UTRA UTX UZERST VAL WAIT WAITER WAITLP WALL WEXIT WORDS WRITE WTEST2 WTESTG wx X xi x2 X7774 X7775 XABS XAOC XCT XCTIN XDELET XOISP XENOLN XFINU XGETLN XGETOU XI33 XIW XINPUT XINT XLC XLG XLL XLO XLS XOUTL XPOPJ XPRNT XPUSHA XPUSHJ XQ XR1 XRAN XRAR2 XRT XRT2 XRTL6 XSGN XSORTC XSPNOR 5305 1201 1223 1546 2066 2276 2305 2274 2316 2064 0032 7657 p1020 0115 0664 0072 0003 0635 0653 0667 0673 5321 5035 4675 0140 0141 2016 1341 0020 0062 2064 7602 2360 2244 0302 1254 2666 6306 5666 1156 0130 0136 0132 0126 0134 2676 1565 2425 0477 0521 0001 0010 XSQ2 XSQH XSQRT XT3 XTESTC XTESTN XYt Y ZERO 25 1145 7365 0011 0012 0413 2812 0721 1535 4676 5325 7400 0717 0700 1546 2451 0077 6522 APPENDIX A COMMAND AND OPERATION SUMMARY A.l Commands 1 Command Form ASK A "X,Y,Z" COMMENT C I g n o r e s any l i n e b e g i n n i n g w i t h C. DO D 4.1 E x e c u t e s l i n e 4 . 1 ; r e t u r n s t o command f o l l o w i n g DO command. D 4.0 E x e c u t e s a l l group 4 l i n e s , o r u n t i l a RETURN i s e n c o u n t e r e d ; r e t u r n s t o command f o l l o w i n g DO command. E E r a s e s t h e symbol t a b l e . E 2.0 E r a s e s a l l group 2 l i n e s . E 2.1 Deletes l i n e 2 . 1 . E A Deletes a l l u s e r i n p u t . F I=xlylz;command(s) E x e c u t e s t h e command f o r a l l v a l u e s o f 1 where x i s t h e i n i t i a l v a l u e , y i s t h e i n c r e m e n t t o b e added t o x, and z i s t h e l i m i t i n g v a l u e f o r I . I = x , z ; command ( s ) I f y i s n o t s p e c i f i e d , an i n c r e m e n t of 1 i s assumed. ERASE FOR F GO IF Explanation X,Y,Z Types " X , Y ,Z " and t h e n a c o l o n f o r each v a r i a b l e ; t h e u s e r t y p e s a value t o d e f i n e each v a r i a b l e . G S t a r t s i n d i r e c t program a t l o w e s t numbered l i n e . G 3.4 S t a r t s i n d i r e c t program ( t r a n s f e r s control t o l i n e 3.4). G ? S t a r t s a t l o w e s t numbered l i n e and traces e n t i r e i n d i r e c t program until a n o t h e r ? i s e n c o u n t e r e d , o r u n t i l an e r r o r i s e n c o u n t e r e d , o r u n t i l c o m p l e t i o n o f program. I F (X)Ln,Ln,Ln Where X i s a d e f i n e d i d e n t i f i e r , a v a l u e , o r an e x p r e s s i o n f o l l o w e d by up t o t h r e e l i n e numbers. I f X i s less t h a n z e r o , c o n t r o l i s t r a n s f e r r e d t o t h e f i r s t l i n e number. I f x i s equal t o zero, control i s transf e r r e d t o t h e s e c o n d l i n e number i f p r e s e n t : o t h e r w i s e t o t h e n e x t command. Of c o u r s e , t h e complete s p e l l i n g of e a c h com'Short form i s p r e s e n t e d . mand may be used t o improve r e a d a b i l i t y . A- 1 Command Form Explanation I f X i s g r e a t e r than zero, control i s t r a n s f e r r e d t o t h e t h i r d l i n e number, i f p r e s e n t : o t h e r w i s e t o t h e n e x t command. LIBRARY CLOSE L C,Fn C l o s e s a c t i v e f i l e number (FP, Fl,. , o r F7), LIBRARY GO L G,name,unit Loads and s t a r t s program name from unit. LIBRARY LOAD L L,name,unit Loads program name from u n i t and returns c o n t r o l t o t h e user. LIBRARY MAKE L M,length,name,unit Creates a f i l e of l e n g t h b l o c k s w i t h t h i s name on u n i t . LIBRARY OPEN L O,Fn,format,name,unit .. Declares t h a t f i l e name o n u n i t i s t o b e r e f e r e n c e d as Fn ( F ) l f , F l , . . . , o r F 7 ) ; d a t a i s t o b e i n t e r p r e t e d as f o r m a t (Signed F r a c t i o n s , S i g n e d Integers, Floating P o i n t ) . or MODIFY M 1.15 E n a b l e s e d i t i n g of any c h a r a c t e r on l i n e 1.15 ( r e f e r t o s e c t i o n A.3.2). OUTPUT CLEAR 0 C Erases e v e r y t h i n g from s c o p e . OUTPUT DELAY 0 D Delays c o m p u t a t i o n t o r e f r e s h t h e d i s p l a y scope. OUTPUT ERASE 0 E Erases t y p e d o u t p u t from t h e d i s p l a y s c o p e , l e a v i n g FDIS o u t p u t . OUTPUT INTERVAL 0 1,n S t a r t s t h e clock “ t i c l ’ i n g every n s e c o n d s ( .815n548.95). 0 1 Delays c o m p u t a t i o n u n t i l t h e n e x t clock t i c . 0 S Places a l l s u b s e q u e n t t y p e d o u t p u t on s c o p e . O T Places a l l s u b s e q u e n t t y p e d o u t p u t on T e l e t y p e . QUIT Q Returns c o n t r o l t o t h e u s e r . RETURN R T e r m i n a t e s DO s u b r o u t i n e s , r e t u r n i n g t o t h e o r i g i n a l sequence. SET S A=5/B*C Sets t h e v a r i a b l e , A, equal t o t h e value of t h e expression t o t h e r i g h t of t h e equal s i g n . OUTPUT SCOPE OUTPUT TELETYPE A- 2 Command Form - Explanation TYPE T A+B-C E v a l u a t e s e x p r e s s i o n and t y p e s o u t r e s u l t i n c u r r e n t o u t p u t format ( r e f e r t o s e c t i o n A.3.1). T A-B,C/E Computes and t y p e s v a l u e of each exp r e s s i o n s e p a r a t e d by commas. T "TEXT STRING" Types t h e t e x t e n c l o s e d i n t h e q u o t e s . May b e f o l l o w e d by 1 t o g e n e r a t e carr i a g e return-line feed. W W A Types o u t t h e e n t i r e i n d i r e c t program. w 1.0 Types o u t a l l group 1 l i n e s . w 1.1 Types o u t l i n e 1.1 S q u a r e Root FSQT(XI Where x i s a p o s i t i v e number o r exp r e s s i o n g r e a t e r t h a n zero. A b s o l u t e Value FABS ( x ) FOCAL-12 Sign P a r t FSGN ( x ) Evaluates t h e sign p a r t only, with l.la@la% as i n t e g e r . Integer P a r t FITR(X) O p e r a t e s on t h e i n t e g e r p a r t of x, i g n o r i n g any f r a c t i o n a l p a r t . Random Number Generation FRAN ( x ) G e n e r a t e s a random number. Exponential Function (eX) FEXP ( x ) G e n e r a t e s e t o t h e power x ( 2 . 7 1 8 2 8 x ) . Sine FSIN ( x ) G e n e r a t e s t h e s i n e of x r a d i a n s . Cosine FCOS ( x ) Generates t h e c o s i n e of x r a d i a n s . A r c Tangent FATN ( x ) G e n e r a t e s t h e a r c t a n g e n t of x r a d i a n s . Logarithm FLOG(X) Generates t h e loge (x) Analog- t o Digital FADC ( n ) Reads a n a l o g - t o - d i g i t a l and r e c o r d s t h e v a l u e . WRITE A. 2 Functions i g n o r e s t h e s i g n of X. . channel n D i s p l a y s t h e X , Y p o i n t on t h e d i s p l a y scope. U s e r Functions FNEW FX FZ User d e f i n e d machine l a n g u a g e subroutines. A- 3 A.3 FOCAL OPERATIONS A.3.1 Format To s e t o u t p u t f o r m a t , TYPE % x.y TYPE % where x i s t h e t o t a l number of d i g i t s , and y i s t h e number of d i g i t s t o t h e r i g h t of t h e d e c i m a l p o i n t . resets o u t p u t f o r m a t t o f l o a t i n g point. To t y p e symbol t a b l e , TYPE $ A.3.2 o t h e r s t a t e m e n t s may now f o l l o w on this line. MODIFY O p e r a t i o n s A f t e r a MODIFY command, t h e u s e r t y p e s a s e a r c h c h a r a c t e r , and FOCAL-12 t y p e s o u t t h e c o n t e n t s of t h a t l i n e u n t i l t h e s e a r c h c h a r a c t e r i s typed. The u s e r may t h e n p e r f o r m any o f t h e f o l l o w i n g o p e r a t i o n s . A.3.3 a. Type i n new c h a r a c t e r s . FOCAL-12 w i l l add t h e s e t o t h e l i n e a t t h e p o i n t of i n s e r t i o n . b. Type a CTRL/L. FOCAL-12 w i l l p r o c e e d t o t h e n e x t o c c u r r e n c e of t h e s e a r c h c h a r a c t e r . c. Type a CTRL/BELL. A f t e r t h i s , t h e u s e r may change t h e search character. d. Type RUBOUT. This d e l e t e s c h a r a c t e r s t o t h e l e f t , one c h a r a c t e r € o r e a c h t i m e t h e u s e r s t r i k e s t h e RUBOUT key. e. Type Deletes t h e l i n e o v e r t o t h e l e f t margin b u t n o t t h e l i n e number. f. Type RETURN. Terminates t h e l i n e , d e l e t i n g charact e r s o v e r t o t h e r i g h t margin. g. Type L I N E FEED. Saves t h e r e m a i n d e r o f t h e l i n e from t h e p o i n t a t which L I N E FEED i s t y p e d o v e r t o t h e r i g h t margin. The Trace F e a t u r e Special Character ? +. Example of Form ?. .. ? or ?... Explanation Those p a r t s o f t h e program e n c l o s e d i n quest i o n marks w i l l be p r i n t e d o u t as t h e y a r e executed. If only one ? i s i n s e r t e d , t h e t r a c e f e a t u r e becomes o p e r a t i v e , and t h e program i s p r i n t e d o u t from t h a t p o i n t u n t i l a n o t h e r ? i s enc o u n t e r e d , u n t i l an e r r o r i s e n c o u n t e r e d , o r u n t i l program c o m p l e t i o n . A- 4 A.3.4 Special Characters 1. Mathematical O p e r a t o r s ( i n o r d e r of p r e c e d e n c e ) I. Exponentiation Multiplication Division Addition Subtraction * / + > - 2. Same priority Control Characters Output format d e l i m i t e r C a r r i a g e r e t u r n and l i n e f e e d Carriage return Type symbol t a b l e c o n t e n t s Parentheses Square b r a c k e t s (mathematics) Angle b r a c k e t s (text string) Quotation marks Q u e s t i o n marks (trace feature) 3 . Terminators: , ; SPACE key (names) RETURN key (names) ALT MODE key ( w i t h ASK s t a t e m e n t ) (nonprinting) Comma ( e x p r e s s i o n s ) Semicolon (commands and s t a t e m e n t s ) A.4 FOCAL-8 F e a t u r e s not i n FOCAL-12 1. There i s no i n i t i a l d i a l o g u e : t h e m a t h e m a t i c a l f u n c t i o n s a r e r e t a i n e d . 2. The CLINE o v e r l a y i s n o t i n c l u d e d . function. 3. The PLOTR r o u t i n e can b e r e o r i g i n e d , r e a s s e m b l e d and added i f necessary. 4. The 4WORD, FOCAL- 1 2 . 5. The TYPE command d o e s n o t t y p e an 6. FOCAL-12 FDIS p r o v i d e s t h e d i s p l a y 8 K , LIBRA, GRAPH and QUAD o v e r l a y s d o n o t a p p l y t o ‘I=” before typing t h e value. does n o t s u p p o r t t h e high speed paper t a p e r e a d e r . A- 5 APPENDIX B COMPLETE STARTUP PROCEDURE 1. Mount t h e FOCAL-12 t a p e on t a p e d r i v e p i n REMOTE and WRITE ENABLE. 2. S e t t h e s w i t c h e s t o jb7B1 and 731% 3. Depress I / O PRESET and DO. 4. When t h e t a p e s t o p s , p r e s s START 2%. 5. When t h e DIAL d i s p l a y a p p e a r s , t y p e +EX & -+ where i s L I N E FEED $-. i s RETURN 6. When t h e computer h a l t s , p r e s s CONT. 7. Type +LO FOCAL-12,9,) The above p r o c e d u r e w i l l always work, though it i s r e a l l y n e c e s s a r y o n l y t h e f i r s t t i m e t h e D I A L t a p e i s r u n on t h a t c o n f i g u r a t i o n . a f t e r , s t e p 2 can b e changed t o : 2. S e t t h e s w i t c h e s t o 8781 and 73Bg +++ +++ +++ +++ +++ +++ +++ +++ and s t e p s 5 and 6 may be o m i t t e d . B- 1 There- APPENDIX C DATA FORMAT S P E C I F I C A T I O N 1. "F" i s t h e s t a n d a r d FOCAL-8 f l o a t i n g p o i n t f o r m a t 1, p r o v i d i n g 6 d i g i t a c c u r a c y 2 w i t h a b s o l u t e v a l u e b e i n g J?? o r any v a l u e between 18-615 and l ~ ? ? + ~ ~ ~ . 2. 'IS" p r o v i d e s s i g n e d f r a c t i o n w i t h 6 d i g i t a c c u r a c y 2 , w i t h a b s o l u t e and 1.8 i n c l u d i n g %.J??. v a l u e between %.J?? 3. " I " p r o v i d e s f o r i n t e g e r v a l u e s between - 2 8 4 8 and +2J??47, i n c l u s i v e . -2J??48f o l l o w s 2 8 4 7 and v i c e v e r s a . 4. I n " I " and " S " f o r m a t s n o t a l l p o s s i b l e v a l u e s can b e s t o r e d i n t h e d e s i r e d format: i n 'IS" f o r m a t , numbers o u t s i d e t h e r a n g e a r e g i v e n t h e minimum o r maximum v a l u e s ; i n "1" f o r m a t , numbers a r e i n t e g e r i z e d and s t o r e d a s n o t e d above. C o n s i d e r t h e f o l l o w i n g examples. a) 1.81 1.82 L O,F1,IIDEMO,J?? S F l ( J ? ? ) = 2 % 5 8T; F l ( J ? ? ) , ! GO would t y p e -2%46.flJ??J??J?? b) l.@l 1.82 GO L O,F1,IIDEMO,8 S F l ( J ? ? ) = - 2 8 4 9 ; T F l ( 8 ) ,! would t y p e C) l.gl 1.83 2847.8888 L O,Fl,S,DEMO,J?? S Fi(8)=6.flE28; T F l ( f l ) , ! GO would t y p e l.j3@$% d) 1.81 1.83 ( s t o r e d as .9999998) L O,Fl,S,DEMO,~ S Fl(@)=-7.!JE28; T F l ( 8 ) ,! GO would t y p e -1.flflpfl ( s t o r e d as -.9999998) 'Indeed, t h e FOCAL-8 f l o a t i n g p o i n t package i s u s e d ; problems s u c h as e x p o n e n t o v e r f l o w remain. 2 A c t u a l l y , 6.8 d i g i t a c c u r a c y . 3The I v a l u e s t o r e d f o r m a l l y i s : I ' = [(I+2fl48)mod 48961-2g48. c- 1 APPENDIX D FOCAL-12 FOCAL-12 I / O AND THE L C COMMAND does n o t a c t u a l l y u p d a t e t h e f i l e on t a p e o r d i s k e a c h t i m e a r e f e r e n c e t o t h e f i l e i s made ( i n d e e d , performance would b e i n t o l e r a b l y slow i f i t d i d ) . I n g e n e r a l , t h e l a s t two b l o c k s r e f e r e n c e d by t h e program a r e m a i n t a i n e d i n memory. 1.81 1.82 1.83 1.84 1.g5 1.86 For example, t h e program L OlF8,F,DATA1,,0 L O,F1,FlDATA2,1 L O,F2,FIDATA3,2 F I=8,1@8;S F P ( I ) = I F I=@,l8@; S Fl(I)=I/2 F 1=8,1gg; S F 2 ( 1 ) = 1 / 4 would, a t t h i s p o i n t , have s e t t h e f i r s t 160 e n t r i e s of DATA1 and DATA2 on t a p e b u t would n o t y e t have updated f i l e DATA3 on t a p e 2 . b l o c k s a r e s t i l l i n c o r e memory. 1.86, FOCAL-12 These two The a d v a n t a g e h e r e i s t h a t , f o r l i n e h a s e x e c u t e d t a p e o p e r a t i o n s o n l y f o r I=$ and I=85. For a l l o t h e r r e f e r e n c e s t o F 2 , t h e r e q u i r e d t a p e b l o c k image w a s a l r e a d y i n memory. I f t h e n e x t l i n e i n t h e program were 1 . 8 7 S A = F 2 ( 1 ) ; S B=F2(158) t h e r e would b e no t a p e o p e r a t i o n r e q u i r e d s i n c e t h e image o f t h e f i r s t two b l o c k s o f DATA3 a r e s t i l l i n c o r e memory. t o t h e u s e r a s l o n g as FOCAL-12 mounted. T h i s p r e s e n t s no problem i s o p e r a t i n g and t a p e 2 i s n o t d i s - A t t h e end of t h e program, h e merely CLOSES t h e OPEN f i l e s . F u r t h e r f i l e r e f e r e n c e s , n o t t o t h e f i r s t 1 7 % e n t r i e s of DATA3, would c a u s e t h e s e t a p e b l o c k images t o b e w r i t t e n on t a p e 2 t o make room f o r t h e new t a p e b l o c k images, e t c . D- 1 APPENDIX E MISCELLANEOUS COMMENTS 1) S t a r t i n g Block Number The s t a n d a r d p r o c e d u r e f o r d e f i n i n g t h e s t a r t i n g b l o c k number i s v i a t h e LIBRARY OPEN command; e . g . I t i s sometimes d e s i r a b l e t o d e f i n e t h i s s t a r t i n g b l o c k number a t t h e t i m e t h e program i s r u n . 1.B1 1-92 1.83 To do t h i s L OrF8tSi#Br8 A "STARTING BLOCK?" N F I=fl,l,lg@'; S F8(128*N+l)= ... Thus, i f t h e o p e r a t o r t y p e d i n "l@" when s t a r t i n g b l o c k w a s a s k e d , t h e b a s e i n d e x f o r FB would b e 1 2 8 8 numbers o r 256a words of 18 b l o c k s , s o t h a t e f f e c t i v e l y t h e f i l e starts a t block 19. Note t h a t t h e L 0 command s p e c i f i e s b l o c k number i n o c t a l w h i l e t h e r e s p o n s e t o t h e ASK s t a t e m e n t i s i n t e r p r e t e d a s decimal. 2) D e l e t i o n of EXP, ARCTAN, LOG For t h o s e u s e r s who do n o t need t h e above f u n c t i o n s , t h e f o l l o w i n g p a t c h can b e used t o d d e t e them from FOCAL-12, almost 38%. Using LAP6-DIAL-MS +ZE$ +AB FOCAL-l2,un'tr) +AS P A T C H , u n i t +SB NEWFOCAL,unit,Pd 3 where "PATCH" is PMODE *35 5166 *4g2 2725 2725 2725 FIELD 1 "1225 1867 *1247 E- 1 i n c r e a s i n g t h e u s e r s p a c e by 1173 *1323 6817 LISTAP -7 Note t h a t t h i s makes a new FOCAL-12! Programs s a v e d under t h e s t a n d a r d FOCAL-12 w i l l n o t l o a d under t h i s v e r s i o n and v i c e v e r s a . E- 2 APPENDIX F FOCAL-12 ERROR DIAGNOSTICS* Code Meaning ?OO. 0 0 Manual s t a r t g i v e n from COnSOk. I n t e r r u p t from keyboard v i a CTRL/C. I l l e g a l s t e p o r l i n e number used. Group number i s t o o l a r g e . Double p e r i o d s found i n a l i n e number. Group z e r o i s an i l l e g a l l i n e number. L i n e number i s t o o l a r g e . N o n e x i s t e n t group r e f e r e n c e d by 'DO'. N o n e x i s t e n t l i n e r e f e r e n c e d by 'DO'. S t o r a g e w a s f i l l e d by push-down l i s t . N o n e x i s t e n t l i n e used a f t e r 'GOTO' o r ' I F ' . I l l e g a l command used. L e f t o f "=" i n e r r o r i n 'FOR' o r 'SET'. Excess r i g h t t e r m i n a t o r s e n c o u n t e r e d . I l l e g a l t e r m i n a t o r i n ' F O R ' command. Bad argument t o ' M O D I F Y ' . I l l e g a l u s e o f f u n c t i o n o r number. S t o r a g e i s f i l l e d by v a r i a b l e s . Operator missing i n expression o r double 'E'. No o p e r a t o r u s e d b e f o r e p a r e n t h e s i s . No argument g i v e n a f t e r f u n c t i o n c a l l . I l l e g a l f u n c t i o n name o r d o u b l e o p e r a t o r s . P a r e n t h e s e s do n o t match. Bad argument i n ' E R A S E ' . E r r o r i n DIAL f i l e r e f e r e n c e ; name n o t found o r no room l e f t on u n i t . S t o r a g e w a s f i l l e d by t e x t . I n p u t b u f f e r has overflowed. Logarithm o f z e r o r e q u e s t e d . Log o f a n e g a t i v e number r e q u e s t e d . S u b s c r i p t e r r o r i n f i l e r e f e r e n c e o r u n d e f i n e d f i l e number o r reference. L i t e r a l number i s t o o l a r g e . F i l e number n o t OPENed. S y n t a x e r r o r on LIBRARY command. Exponent o v e r f l o w . Too many FDIS p o i n t s . D i v i s i o n by z e r o r e q u e s t e d . Imaginary s q u a r e r o o t r e q u i r e d . M i s s i n g argument i n d i s p l a y command. Too many FDIS p o i n t s . S y n t a x e r r o r on OUTPUT command. I l l e g a l c h a r a c t e r , u n a v a i l a b l e command, o r u n a v a i l a b l e funct i o n used. ?01.00 ?01.40 ?01.78 ?01.96 ?01. :4 ?01. :5 ?02.32 ?02.52 ?02.79 ?03.05 ?03.28 ?04.39 ?04.52 ?04.60 ?05.46 ?06.03 ?06.57 ?07.22 ?07.38 ?07. ; O ?07.;7 ?08.49 ?09.13 ? l o . <1 ?lo. : 5 ?11.35 ?20.34 ?20.36 ?23. < 4 ?23.36 ?25.81 ?25. ;1 ?26. :1 ?28.73 ?30.05 ?31.12 ?31.23 ?31.75 ?31. < 7 *For FOCAL-12 o n l y . F- 1 INDEX A d d r e s s i n g Data, 4 Analogue I n p u t , 1 0 , 1 2 A/D C h a n n e l s , 1,lO A/D F u n c t i o n 1 0 , 1 1 Binary F i l e s , 4 , 8, 9 Block Numbers, 5, 6 , E-1 L i n e Feed, 3 Links t o FOCAL, 1 6 Loading P r o c e d u r e , 1, B-1 Memory B u f f e r , 11, D-1 MODIFY O p e r a t i o n s , A-4 Nonexistent Device, 6 Chaining, 9 C h a r a c t e r s , A-5 Checking Tape Write F e a t u r e , 1 2 Clock, 1, 11 Command Summary, A - 1 D a t a A c q u i s i t i o n , 11 Data F i l e s , 5 , 6 , 7 D a t a S t o r a g e and R e t r i e v a l , 4 , 5 , 9 , 11, 1 2 O p e r a t i o n Summary, A-4 OUTPUT CLEAR, 4 , A-2 OUTPUT DELAY, 3 , A-2 OUTPUT ERASE, 4 , A-2 OUTPUT INTERVAL, 11, A-2 OUTPUT SCOPE, 2 , A-2 OUTPUT TELETYPE, 3 , A-2 Overlays, 1 8 Delays, 1 0 Deleting Functions, E-1 D I A L , 1, 4 , 5 , 6 , 8 , 9 D i s k s , 1, 4 , 5 , 6 , 8 , 1 2 D i s p l a y F u n c t i o n , 2 , 3 , A-3 Plotting, 2 Program P r e p a r a t i o n , 4 Program S t o r a g e , 8 , 1 6 E d i t i n g , 4, 9 E r r o r Messages, 1 3 , F-1 R a t e , 13 REPLACE, 5 , 9 R e s t a r t i n g FOCAL, 6 Returning t o DIAL, 6 1 0 , 11, A-3 FDIS, 2 , 3 , A-3 F i l e Names, 5, 8 F i l e Numbers, 6 , 7 , 8 F i l e s , Binary, 4 Data, 5 , 6 F l o a t i n g P o i n t Numbers, 5 , 6 FNEW, 1 4 FOCAL-8, 1 Format, D a t a , 5 , 6 , C - 1 FX, 1 2 , 1 4 , 1 6 FZ, 1 4 Sampling C h a n n e l s , 1 0 , 1 2 Scope C a p a c i t y , 2 , 1 0 Scope R e f r e s h i n g , 3 Signed F r a c t i o n s , 5 , 6 , C-1 Signed I n t e g e r s , 5 , 6 , C - 1 S t a r t u p Procedure, B-1 Subroutines, 1 4 Subscripting, 5, 6 Sync, 1 3 System Tape, 1 FADC, Hardware Requirements, 1 Intervals, 10 Introduction , 1 LIBRARY CLOSE, 7 , A-2, D - 1 LIBRARY GO, 9 , 1 8 , A-2 LIBRARY LOAD, 9 , 1 8 , A-2 LIBRARY MAKE, 5 , A-2 LIBRARY OPEN, 6 , 8, A - 2 , E-1 LIBRARY SAVE, 8 , 1 8 , A-2 LINCtape, 1, 4 , 5 , 6 , 8 , 1 2 , D - 1 Tag T a b l e , A-4 T e r m i n a t o r s , A-5 T e x t Handling, 8, 1 4 Throughput - STHRUF, 1 2 Timing, 10 T r a c i n g , A-4 U n i t Numbers, 5 U s e r Coded F u n c t i o n s , 1 6 U s e r F u n c t i o n s , 1 2 , 1 4 , 1 8 , A-3 Variables, 5, 6 , 1 6 FOCAL-12 READERS COMMENTS DEC-12-AJAA-D Digital Equipment Corporation maintains a continuous effort to improve the quality and usefulness of its publications. To do this effectively we need user feedback - your critical evaluation of this manual. Please comment on this manual’s completeness, accuracy, organization, usability, and readability. ~ ~~~~ ~ Did you find errors in this manual? ~~ ~~ ~~ ~ ~~ ~ How can this manual be improved? DEC also strives to keep its customers informed of current DEC software and publications. Thus, the following periodically distributed publications are available upon request. Please check the appropriate boxes for a current issue of the publication(s) desired. 0 Software Manual Update, a quarterly collection of revisions to current software manuals. 0 User’s Bookshelf, a bibliography of current software manuals. a Program Library Price List, a list of currently available software programs and manuals. Please describe your position. Name Organization Street Department . City State Zip or Country -------------- Do Not Tear - Fold Here and Staple - - - - - - - - - - - - FIRST CLASS PERMIT NO. 33 MAYNARD, MASS. BUSINESS REPLY MAIL NO POSTAGE STAMP NECESSARY IF MAILED IN THE UNITED STATES Postage will be paid by: Digital Equipment Corporation Software Information Services 146 Main Street, Bldg. 3-5 Maynard, Massachusetts 01754 I HOW TO OBTAIN SOFTWARE INFORMATION Announcements for new and revised software, as well as programming notes, software problems, and documentation corrections are published by Software Information Service in the following newsletters. Digital Software News for the PDP-8 Family Digital Software News for the PDP-9/15 Family PDP-6/PDP-lO Software Bulletin These newsletters contain information applicable to software available from Digital’s Program Library. Please complete the card below to place your name on the newsletter mailing list. Questions or problems concerning DEC Software should be reported to the Software Specialist at your nearest DEC regional or district sales office. In cases where no Software Specialist is available, please send a Software Trouble Report form with details of the problem to: Software Information Service Digital Equipment Corporation 146 Main Street, Bldg. 3-5 Maynard, Massachusetts 01754 These forms, which are available without charge from the Program Library, should be fully filled out and accompanied by teletype output as well as listings or tapes of the user program to facilitate a complete investigation. An answer will be sent to the individual and appropriate topics of general interest will be printed in the newsletter. New and revised software and manuals, Software Trouble Report forms, and cumulative Software Manual Updates are available from the Program Library. When ordering, include the document number and a brief description of the program or manual requested. Revisions of programs and documents will be announced in the newsletters and a price list will be included twice yearly. Direct all inquiries and requests to: Program Library Digital Equipment Corporation 146 Main Street, Bldg. 3-5 Maynard, Massachusetts 01754 Digital Equipment Computer Users Society (DECUS) maintains a user Library and publishes a catalog of programs as well as the DECUSCOPE magazine for its members and non-members who request it. For further information please write to: DECUS Digital Equipment Corporation 146 Main Street Maynard, Massachusetts 01754 ---------------------Send Digital’s software newsletters to: Company Name Address (zip code) My computer is a My system serial number is PDP-8/1 0 LINC-8 0 PDP-9 0 PDP-10 O PDP-8/L O PDP-12 0 PDP-15 O Other 0 (if known) Please specify --- ----------- Do Not Tear -Fold Here and Staple - - - - - - - - - - - - - I BUSINESS REPLY MAIL NO POSTAGE STAMP NECESSARY IF MAILED IN THE UNITED STATES Postage will be paid by: Digital Equipment Corporation Software Information Services 146 Main Street, Bldg. 3-5 Maynard, Massachusetts 01754 FIRST CLASS PERMIT NO. 33 MAYNARD, MASS. I Digita I Equipment Corporation Maynard, Massachusetts printed in U.S.A.
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies