• Aucun résultat trouvé

l,* g4rlEpoFlY-' / - E N A t . . ,

I

i i ,

r 3 n q ! 5 r r ? 5 1 5 4 5 5 5 6 5 7 5 a 6 1 6 2 6 3 6 4 5 5 6 6 5 7 6 a 6 9 7 0 7 r

Notes on Example 5

The work area is assigned by the linkage editor.

A load module is punched and no library entry is made.

A cross-reference list is printed on the storage map.

If PGMA is assigned to an overlay, it will appear in the user overlay area.

The only thing needed is an R module. The defaults are taken.

o % a n

v

E x a m p l e 5

Notes on Example 4

O SWORK and $SOURCE are allocated on a 5445

A temporary entry is cataloged in the object library on the program pack under the name of the module included.

The overlays, if necessary, are constructed so that AA, BB, ernd CC are in main storage at the same time.

o

@

o o

O The category value of subroutines AA, BB, DD, ancl

o

EE is 30 for this link edit.

Routines in the same group do not need to have the same category value. By giving the module a lower category value, its chance of being in the root seg-ment increases.

EXAMPLES 6 AND 7

These two examples of the same program show how the overlay structure of a load module can be changed by varying the input control statements. Both examples include the input control statements, the storaqe mao printed by the Overlay Linkage Editor. unO u grupt ic ,ep_

resentation of the overlay structure. Figure I i shows the calling sequence of the moclules within the program.

Example 6

Two overlay load points are shown on the storage map (START ADDRESS heading). INIT (co-resident area) has the same load point as the system overlay area because it has no references to system rnodules and no category 4 modules appear in the program. A reference to a cate_

gory 4 module does not disqualify a module from the co-resident area.

MULT4 and DIV4 are assigned to the root area by the Overlay Unkage Editor because of their low category values and small size. FINAL is assigned to the root area despite its high category va_lue because it can be placed there without causing the program to exceed its main storage size. Normally GET6 or pUT6 would be included in the rool:segment before FINAL because of their lower category values. but the Overlay Linkage Editor does not include any system modules that are called by user modules until all system modules of the same category that are called only by other system modules are in the root seg_

ment. [n this example, $$LPRT and $$MFRD will not fir.

F I N A L M U L T 4 S R E A D

I

I

GET6 I

I

$ M F R D

Figure 72,

S W R I T E

PUTJ

$Lplnl Calling Tree-structure of Modules Linked in Examples 6-7

M A I N L

E x a m p l e s 2 7

Example 6 1300

Example 7

This example shows three overlay load pclints. Overlays l , 2 , 3 , a n d 4 a r e in t h c u s e r a r e a . O v e r l a y s 5 a n d 6 a r e in

E X A M P L E S 8 T H R O U G I H 1 1

These four exarnples shorv how the overlay structure of a program can be changed by varying the input control state-rnents. The changes result from varying the category values of modules and varying the main storage size. All four examples show the input control statements, the storage

map printed bv the Overlay Linkage Editor, and a graphic representation of the storage map. Figure l3 shows the tree structure of the program.

A B L E

I

I BAKE R

r#

C H A R L Y E A S Y

F i g u r e 1 3 . C a l l i n g T r e e - s t r u c t u r e o f M o d u l e s L i n k e d i n E x a m p l e s 8 - 1 1

3 0

Example 8

All modules except ROOT, BAKER, and KING are siven overlay category values. Because no system modulei (calegory values l-7) are present, only one overlay area

is assigned. Any module assigned to an overlay sesmenr must be assigned to the salne segments as its desce"ndants.

Because ABLE calls CHARLY and DOG (through BAKER), these three modules are assigned to one segmeni. Lik.*ir., JAKI calls LOVE and MIKE (through KING) and is assigned, with them, to the second overlay segment. EASy would have been assigned to both segments, but space was avail_

able in the root so EASy was included in the root sesment.

/ / C A L L O L I N K , R I

Example 9

All modules have an overlay category value (non-zero).

Because there are no system category values (l-7), only one overlay area is assigned by the Overlay Unkage Editor.

Only two overlay segments are possible because each call-ing module must be in the same segment as its descendants.

Module EASY could be given a category value of 0 so it would be placed in the root rather than in both seqments.

/ / C A L L J L I N K ' R I

E x a m p l e 1 0 1 3 0 0

E x a m p l e 1 1

All rrodules except ROOT have an overlay category (non-zero). Because BAKER and KING call a system rnodule (EAS!, thev are assigned to user overlay segments. Mod_

u l e s t h a t c a l l B A K E R a n d KING (ABLE and JAKE) are p u t i n t o t h e s a n t e o v e r l a y s e g m e n l a s th e m o d u l e s t h e y call. Modules that do not call system ntodules are assisne<l t o t h e c o - r e s i d e n t a r e a .

E X A M P L E S 1 2 A N D 1 3

These two examples show the same RPG program linkcdite<i with both memory resident overlay techniques. Note that the ATTR-MRO program requires 2K more to execute in than the ATTR-MOV program.

Thisexarnple showsa linkedit of an RPG program requesting the menrory resident overlay MOVE technique (ATTR-MOV).

This technique can also be requested by using the COMPILE s t a t e r n e n t a t c o n t p i l e t i n t e . T h e li n k - e d i t m a p f o r t h i s te c h

E x a m p l e 1 3

This exarnple shows a link+dit of the same RpG prograrn used for L,xample 12 requesting the memory resident over_

lay REMAP technique (ATTR-MRO).

S T A R I J V E R I A Y C A I I G O R Y \ A Y I A N t ]

A i l D R t 5 5 N U t g r R A R I A l \ r R y

C a i r f l l N r , l i ! l t t p ! \ / F t n f x a n t _ t q A t i r i ( l r a L q Y

. ) 1 4 , t t { l r t i l ! i l A f l , t M p t l

a 2 ^ ) r ' l r L a l I

l . r ) ( . ) t i . " , . i ! p t i t ! ! r , r l a . l a ! 6 " \ _ t p P , \

! r ! L l , r g r , f , r l R ' r t t $ r t r U r l r L n i t ! , r I

L U I ! c c 8 : a c l

. L t l J I I n t T O I A T L t p ! ! S f ! r y - ! ! A p l r M . , g ) t r _ t y A L . l l L l l l I t t s L S I A F J C . \ I r r , t A i - ! i : : l f T . , l i e t , { , I i . q , r . . u r l J . ' i I F E \ j \ - l t v t ! L ! y c , l i t \ l / t l ! . I r L 4 i t f I s a L L L O I T ' P R U 6 k A f N I L L \ l j I t t t I \ I F F t _ j . . t 1 , , p r i _ t r i r i r - L l d e I I r I A L N U { 8 L t f L I J i ^ n y . t . _ t t ! ! ! r ; 1 1 " , ) I ( . . 1

\ A ! E - R t y ! p , p A C K - f l l t r l , , t \ t T , , l , . r I A t r t , L t r R A , y _

Q O u u r t u v s e g m e n t s b e g i n o n 2 K b o u n d a r i e s ( 1 a t o 1 d )

@ t o w o v e r l a y s e g m e n t s i n t h i s e x a m p l e

O v e r l a y s 3 a n d 4 a r e n o t c a n d i d a t e s for memory residence because o f t h e C A T E G O R Y 1 2 5 m o d u l e .

? * a t o , u s e s m o r e c o r e t h a n M O V E ( E x a m p t e 1 2 )

E x a m p l e s J I

Appendix A. Messages

Thcre are three classes of messages: informational, warning,

and te'rntinal. The inlormational rnessages are indicated by

an I in print positicln 7. These messages are printed with-c l L r t h a l t s . W a r n i l t g m e s s a g e s a r e in d i c a t e d b y a W i n p r i n t p o s i t i o n 7 . A ' P h a l t w i t h o p t i o n s 0 a n d 3 i s i s s u c c l w i t h w a r r r i n g l r ) e s s a g c s . T e r n r i n a l n t e s s a g e s I t a v e a T i n p o s i t i o n 7 r n d a l e - i s s u c d w i t h a ' P

l i a l t w i t h a 3 o p t i o n . I f t w o o r n r o r c w a r n r n g n t e s s a g e s a r e g i v e n . th e h a l t i n d i c a t e s t h e f i r s t r n e s s l g c . If ' a w a r n i n g ln e s s a g e a n d a t e r m i n a l n r e s s a g e a r c p r i n t c d . tl t e h a l t l p p l i e s t o t h c t e r r n i n a l e r r o r ' .

3 8

o L 0 1 6 W

0 1 0 2 0 T

o L 0 2 1 T

o L o 2 2 T

o L 0 2 3 T

oLo24 T

oL025 T

o L 0 2 6 T

M E S S A G E

E N T R Y P O I N T N A M E O N

O P T I O N S C A R D W A S N O T F O U N D

T E X T O U T O F S E O U E N C E I N M O D U L E W I T H B E G I N A D D R E S S n n n n l N O V E R L A Y n n r r .

M O D U L E n a m e x x H A S tN V A L I D E S L n n n n n n .

I N V A L I D R L D l N n a m e x x A T T E X T R E C O R D A D D R E S S n n r r n .

U N R E S O L V E D E X T R N I N M O D U L E W I T H B E G I N A D D R E S S n n n n t N O V E R L A Y n n n .

E X T E R N A L B U F F E R S G R E A T E R T H A N 6 4 K .

M O D U L E N A M E D n a m e x x N O T F O U N D

P R O G R A M W I L L N O T F I T I N T H E I V A X I M U M C O R E S I Z E .

D E S C R I P T I O N

T h e i a b e l q i v e n a s th e e n t r y p o i n t o n t h e O P T I O N S s t a t e m e n t ( E N T R Y l a b e l ) w a s n o t o n e o f t h e e n r r y p o i n t s o f t h e o b j e c t m o d u l e s . lf o p t i o n 0 i s ta k e n , t h e e n t r y p o i n t o f t h e m a i n l i n e r o u t i n e is u s e d . T h e n a m e o n t h e O P T I O N S c a r d s h o u l d m a t c h o n e o f t h e n a m e s o n t h e s t o r a g e m a p .

T h e o b j e c t t e x t i s o u t o f s e q u e n c e . A n ORG instructron h a s c a u s e d c o d e t o o v e r l a y o t h e r c o d e .

T h e o b j e c t m o d u l e n a m e d h a s a n i n v a l i d E S L i n a n S - t y p e r e c o r d . l f u s i n g B a s i c A s s e m b l e r , y o u m a y h a v e s p e c i f i e d a n i n v a l i d E X T R N s u b t y p e . C o n r a c t y o u r I B M F i e l d E n g i n e e r i n g p r o g r a m s u p p o r t r e p r e s e n t a t i v e . T h e o b j e c t m o d u l e n a m e d h a s a b a d t e x t r e c o r d . The e r r o r r e c o r d h a s th e n n n n a d d r e s s i n b y t e s 3 a n d 4 . C o n _ t a c t y o u r I B M F i e l d E n g i n e e r i n g p r o g r a m s u p p o r t r e p r e s e n t a t t v e .

T h e r e is a n u n r e s o l v e d E X T R N t o a n e n t r y p o i n t . P r o b a b l e u s e r e r r o r .

6 4 K i s t h e m a x i m u m a l l o w e d fo r e x t e r n a l b u f f e r s . R e d u c e b u f f e r s i z e a n d r e c o m p i l e .

T h e n a m e p r i n t e d i n t h e m e s s a g e w a s n o t f o u n d b y A U T O L I N K . l f t h e n a m e b e g i n s w i t h $ , o n l y t h e p r o -g r a m p a c k w a s s e a r c h e d . O t h e r w i s e b o t h the user pack ( i f s p e c i f i e d ) a n d t h e p r o g r a m p a c k w e r e s e a r c h e d . T o c o r r e c t th e e r r o r , c o p y t h e m o d u l e t o t h e c o r r e c t li b r a r y o r c h a n g e t h e E X T R N t o t h e c o r r e c t m o d u l e .

T h e m a x i m u m s t o r a g e s i z e i s 6 1 1 1 4 K . ( 6 4 K m i n u s th e m i n i m u m s u p e r v i s o r ) C h a n g e t h e m o d u l e s i z e s o r c a t e g o r i e s t o a l l o w a d i f f e r e n t o v e r l a y s t r u c t u r e .

D E S C R I P T I O N

o L 0 2 1 W

o L 0 3 1 W

o L 0 3 2 W

0 1 0 3 3 W

0 1 0 3 4 W

P R O G R A M W I L L N O T F I T I N T H E C O R E S I Z E S P E C I F I E D .

M O D U L E N A M E D n a m e x x W A S N O T R E F E R E N C E D B Y A N E X T E R N .

M A I N L I N E M O D U L E N A M E I N G R O U P O R C A T E G O R Y C A R D

A M O D U L E I N A G R O U P C A R D H A S C A T E G O R Y V A L U E 0 . 7

I V I O D U L E N A M E n a m e x x l N

C A T E G O R Y O R G R O U P C A R D N O T R E F E R E N C E D B Y O B J E C T P R O G R A I V I

S Y S T E M A R E A M O D U L E n a m e x x C A T E G O R Y n C A L L S M O D U L E n a m e x x .

E v e n w i t h o v e r l a y s , t h e p r o g r a m w i l l n o t f i t i n s t o r a g e . T h e s t o r a g e s i z e is e i t h e r t h e c o r e s i z e s p e c i f i e c l o n t h e O P T I O N S s t a t e m e n t ( C O R E - a n n K ) , th e c o r e s i z e s p e c i f i e d t o t h e c o m p i l e r , o r t h e d e f a u l t o f t h e c u r r e n t p a r -t i -t i o n s i z e . l f r n o r e m a i n s -t o r a g e i s n o t a v a i l a b l e f o r e x e c u t i o n , c h a n g e t h e m o d u l e s i z e s o r c a t e g o r i e s t o a l l o w a d i f f e r e n t o v e r l a y s t r u c t u r e . l f t h i s m e s s a g e i s i s s u e d a n d n o o v e r l a y s a r e i n d i c a t e d o n t h e s t o r a g e m a p , o v e r l a v s e g m e n t s w e r e n o t g e n e r a t e d f o r o n e o r m o r e o { t h e l o l l o w i n g rc a s o n s

1 . O v e r l a v s w o u l d n o t h a v e p r o v i d e d a s t o r a g e a d v a n t a g e .

2 . A l l o f t h e o b j e c t m o d u l e s h a d c a t e g o r y 0 . 3 . O n l y o n e o v e r l a y s e g m e n t w a s a v a i l a b l e f o r a n

o v e f l a y a r e a .

A m o d u l e w a s r e a d f r o m t h e s v s t e m in p u t d e v i c e ( R E A D E R ) o r w a s r e f e r e n c e d o n a n I N C L U D E s t a t e -m e n t b u t w a s n o t r e f e r e n c e d b y a n E X T R N i n t h e o b j e c t m o d u l e . A n E X T R N m u s t r e f e r e n c e t h e m o d -u l e n a m e fo r t h e O v e r l a y L i n k a g e E d i t o r to d e t e r m i n e t h e p r o g r a m s t r u c t u r e .

T h e m a i n l i n e m o d u l e n a m e h a s n o m e a n i n g i n a G R O U P o r C A T E G O R Y s t a t e m e n t . T h e n a m e s h o u l d b e r e m o v e d f r o m t h e s t a t e m e n t .

T h e m o d u l e w i t h t h e 0 - 7 c a t e g o r y v a l u e is i g n o r e d w h e n g r o u p i n g m o d u l e s . l f t h e u s e r w a n t s t h e m o d u l e i n a s p e -c i f i -c o v e r l a y s e g m e n t , h e m u s t s u p p l y a C A T E G O R Y s t a t e m e n t w i t h a v a l u e o f 8 ' 1 2 6 , i n a d d i t i o n t o t h e G R O U P s t a t e m e n t . lf n o m o d u l e n a m e d in a G R O U P s t a t e m e n t h a s a c a t e g o r y v a l u e o f O - 7 , t h i s m e s s a g e m a y r e s u l t f r o m a m o d u l e b e i n g fo r c e d t o c a t e g o r y 0 b y t h e l i n k a g e e d i t o r . T h i s c o u l d b e t h e m a i n l i n e m o d u l e , a n o n - s e g m e n t i n a s e g m e n t e d C O B O L p r o g r a m . a z e r o - l e n g t h m o d u l e , o r a m o d u l e c a l l e d f r o m a s y s t e m

m o d u l e ( m e s s a g e O L 0 3 5 ) . C a t e g o r i e s 1 2 7 , 1 2 8 , a n d 2 5 5 a r e t r e a t e d a s c a t e g o r Y 0 .

T h e n a m e in t h e C A T E G O R Y o r G R O U P s t a t e m e n t i s n o t r e f e r e n c e d b V a n y o f t h e i n c l u d e d o r A U T O - L I N K E D m o d u l e s . T h e n a m e s h o u l d b e r e m o v e d o r t h e c o r r e c t n a m e d e t e r m i n e d f r o m t h e s t o r a g e m a p .

T h i s m e s s a g e m a y a l s o a p p e a r if a m o d u l e i s n a m e d tw i c e i n C A T E G O R Y a s s i g n m e n t s .

A m o d u l e w i t h c a t e g o r y 1 - J c a n c a l l o n l y m o d u l e s w i t h t h e s a m e c a t e g o r y o r c a t e g o r y 0 . T h e c a t e q o r y o f o n e o f t h e m o d u l e s m u s t b e c h a n g e d .

0 1 0 3 5 T

D E S C R I P T I O N o L 0 3 6 W

o L 0 3 8 T

o L 0 4 2 T

o L 1 0 0 |

o L l 0 1 |

o L 1 0 2 |

o L 1 0 3 |

o L 1 0 4 |

M O D U L E N A M E O R E N T R Y P O I N T N A M E X X H A S A D U P L I C A T E .

M O D U L E n a m e x x H A S tN V A L | D E S L N U M B E R I N T E X T W I T H L O A D A D D R E S S n n n n

E N T R Y P O I N T I S N O T R E L A T I V E Z E R O I N A M O D U L E W I T H C O M M O N .

T H E T O T A L C O R E U S E D B Y n a m e x x l S n n n n n D E C I M A L .

T H E S T A R T C O N T R O L A D D R E S S O F T H I S M O D U L E l S x x x x .

T H E N O N - O V E R L A Y C O R E S I Z E l S n n n n n n n n D E C I I V I A L .

T O T A L N U M B E R O F L I B R A R Y S E C T O R S R E Q U I R E D t S n n n n N A M E - n a m e x x , P A C K - p a c k x x , U N l T - n n , R E T A I N - r , L I B R A R Y - R . C A T E G O R Y - n n n

T O T A L N U M B E R O F L I B R A R Y S E C T O R S R E O U I R E D l S n n n n N A M E - n a m e x x , P A C K - p a c k x x , U N l T - n n , R E T A I N * r , L t B R A R y - O

T h i s m e s s a g e c a n o c c u r f o r t w o r e a s o n s : ' l

. l f t h e n a m e i s o n t h e c o r e u s a g e m a p t w i c e , t h e p r o g r a m c o n t a i n s d u p l i c a t e e n t r y p o i n t s o r m o d u l e n a m e s . l f t h e d u p l i c a t e e n t r V p o i n t s o r m o d u l e n a m e s a r e n o t r e f e r e n c e d , t h e p r o g r a m c a n b e e x e c u t e d . l f t h e d u p l i c a t e e n t r y p o i n t s o r m o d u l e n a m e s a r e r e f e r e n c e d , t h e r e f e r e n c e s m a y b e r e s o l v e d t o t h e w r o n q n a m e a n d t h e p r o g r a m w i l l n o t e x e c u t e c o r r e c t l y . T h e r e f o r e , th e o b j e c t m o d -u l e s h o -u l d b e r e c r e a t e d t o e l i m i n a t e th e d u p l i c a t e s . 2 . l f t h e n a m e a p p e a r s o n l y o n c e , t h e m o d u l e w a s

i n c l u d e d m o r e t h a n o n c e v i a t h e S Y S I N d e v r c e o r I N C L U D E s t a t e m e n t . T h e d u r : l i c a t e m o d u l e s a r e d r o p p e d . T h e d u p l i c a t e d e c k o r I N C L U D E c a r d c a n b e r e m o v e d .

T h e o b j e c t m o d u l e n a m e d h a s a n i n v a l i d E S L n u m b e r in a T - t y p e r e c o r d . T h e e r r o r r e c o r d h a s th e n n n n a d d r e s s i n b y t e s 3 a n d 4 . C o n t a c t y o u r I B M F i e l d E n g i n e e r i n g p r o g r a m s u p p o r t r e p r e s e n t a t t v e .

T h e e n t r y p o i n t m u s t b e t h e f i r s t b y t e o f t h e m o d u l e b e c a u s e t h e s t a r t c o n t r o l a d d r e s s o n t h e h e a d e r c a r d i s u s e d t o i n d i c a t e t h e l o a d p o i n t o f t h e m o d u l e . T h e e n t r y p o r n t m u s t b e c h a n g e d b y e i t h e r r e c r e a t i n g t h e m o d u l e o r u s i n g t h e E N T R Y p a r a m e t e r o n t h e O P T I O N S s t a t e m e n t .

T h e m o d u l e n a m e d re q u i r e s t h e a m o u n t o f m a i n s t o r a g e q i v e n b y n n n n n t o e x e c u t e .

T h e e n t r y p o i n t o f t h e r o o t s e g m e n t is s p e c i f i e d o y

X X X X .

T h e a m o u n t o f m a i n s t o r a g e th i s p r o g r a r n n e e d s to e x e c u t e w i t h o u t o v e r l a y s i s n n n n n n n n .

T h i s m e s s a g e i s i s s u e d w h e n t h e c o m p i l e r e n t r y i s u s e d to c a t a l o g a n o b j e c t m o d u l e .

T h i s d e s c r i b e s t h e l o a d m o d u l e c a t a l o g e d i n t o t h e o b j e c t l i b r a r y .

A p p e n d i x A , M e s s a g e s 4 t

MESSAGE D E S C R I P T I O N o L 1 0 5

o 1 1 0 6

o 1 1 0 7

T H E C O D E L E N G T H O F n a m e x x l S n n n n D E C I M A L .

T H E T O T A L C O R E U S E D F O R E X T E R N A L B U F F E R S B Y - n a m e x x l S n n n n n D E C I M A L .

T H E P A R T I T I O N S I Z E R E O U I R E D T O E X E C U T E T H I S P R O G R A M

l S x x K .

D e s c r i b e s t h e n u m b e r o f b y t e s i n t h e R m o d u l e c a t a l o g e d t o t h e l i b r a r y o r p u n c h e d . T h i s s i z e d o e s n o t i n c l u d e :

1 . B y t e s r e s e r v e d f o r C O M M O N .

2 . B y t e s b y p a s s e d f o r b o u n d a r y a l i g n m e n t . 3. Bytes used by routines referenced only by

E X - l - R N s .

T o t a l m a i n s t o r a g e u s e d f o r e x t e r n a l b u f f e r s .

T h e p a r t i t i o n s i z e is d e t e r m i n e d b y a d d i n g th e v a l u e s s p e c i f i e d i n m e s s a g e s O L 1 0 0 a n d O L 1 0 6 a n d r o u n d i n g u p t o a n e v e n m u l t i p l e o f 2 K .

4 2

The Ovcrlay Linkage Editor accepts object nrodules for

External reference (EXTRN) ESLs are clividccl urro scven s u b t y p e s . T h e s e s u b t y p e s a r e :

o Conditional external refercncc to a ruodule nantc (EXTRN subtype 6)

External Reference {EXTRN subtypes O and l2g)

T h i s E S L t ' i e l d s p e c i f i e s a s y m b o l t h a r i s d e { l n e d a s a n t o d _ staterrrent or as an R nrodule in the system input device), a l l o t h e r M F C U n r o c i u l e s r e f ' e r e n c e d b y e x t e r n a l r e f ' e r e n c e s a r e li n k e d i n t o t h e l o a d r n o d u l e .

, & o r e . T h i s s p e c r a l A U T O L I N K c l o e s n o t a p p l y t o M F C M m o d u l e s .

\ | P g 1 1 1 i . l J . ( ) i r t c e i i v e J \ { o d r r l e s . l - . }

For any otlrer nrodule name that begins with avalid char- lixternal BufJbrs(liXTRN subtype 7) PntgramNumber a c t e r . t h e o r d e r o l ' s c a r c h i s : 5 7 0 4 5 C 2 O n l v

l . T h e u s e r p a c k (i f s p e c i f i e d ) T h e O v e r l a y L i n k a g c E d i t o r a c c u n t u l a t c s t h e le n g t h o f t h e r e q u i r e d c x t c r n a l b u f l ' e r s a n d p l a c e s t h a t le n g t h i n t h e

l. The progranr pack object library directory entry for the program being

cataloged.

lf the user pack and the program pack are the sarne physi-cal pack' the pac:k is searched only once'

Text-Relocation Dictionary (RLD) Records

weak External Reference (E XTR N subtypes 3 and 131 ) J ,typ,t records contain the object code of modules to be ' link€dited. T type records also contain the infbrmation The lirnction ,1'the weak external reference is the same as needed to make the text relocatable' The load addresses firr tlre external rcf'erence except no AU'r'oLrNx ir o.r-

- on the text records nlust be in ascending order' and the Iornretl. It the overlay unkage Editor cann,t ,"r.rtu. tn. text nlust not overlap front one text record to the next-r e l c next-r e n c c d n a n i e , t h c w c a k e x t c r n a l r e t e r e n c c i s ig n o r e d

atrci rcmaitts ttrtresolved. Each record is 64 bytes long in the following format:

W\'te Contents GLOBAL COMMON Area (EXTRN subtype 4)

0 T ( d e n o t e s t e x t - R L D r e c o r d ) . This ESL record specifies a space allocation for a GLOBAL

COMMON arca. Tliis area is allocated at thc starl of the I tength minus 1 of object text contained prosram level. The sizc of the area is the size of'the largest in the record.

C O M M O N a r e a e n c o u n t c r e d . T h i s a r e a i s s a v e d a c r o s s

INVOKE (one FORTRAN program calling another and 24 Address o1'the rightnrost byte of object transftrring control to the calied program) il'the called text in the rccord.

prograin contains the GLOBAL COMMON ESL. The

Ovcrlay Linkage Editor sets the progrant common attribute +63 Objeci lext begins in byte 4; l-byte or

3-in the load rnoclule. byte RLD (relocation clictionary) entries

are inserted beginning in byte 63 from right to left. Unused bytes (at least one) between

LOCAL COMMON Area (EXTRN atbtype 5) text and RLD contain X'00'. RLD points

to right end of address (displaced from Tlie Overlay Linkage Editor allocates an area of main beginning of text).

storagc fbr the COMMON area either at the beginning of the progranr level or immediately following the storage

rescrvcd fcir the GLOBAL COMMON. This area is used One-byte RLD by nroduies within the same progrant and is not saved

across INVOKE. Each l-byte RLDentry contains the following:

Bit Meanins

Conditional External Reference (EXTRN subtype 6)

0 O=RLD points to the rightmost byte of an The tunction of thc conditional external reference is the address within this module.

sarne as for the external reference (in otl'rer words.

A U T O L I N K is p e r f o r n r e d ) . e x c e p t t h a t if t h e O v c r l a y I = R L D p o i n t s t o a n E X T R N . L i n k a g e E , d i t o r c a n n o t r e s o l v e ( f i n d ) t h e r e f e r c n c e d

n a m e . t h e c o n d i t i o n a l e x t e r r r a l r e l e r e n c e i s i g n o r e d a n d I g = l - b y t e RLD.

r c n t a i n s u n r e s t - r l v e d .

2-1 Dsplacement from the leftmost text byte in the record. Dsolacement count starts with 00.

. 1 4

Three-byte RLD

Three-byte RLDs are generated by the compiler ior exter-nal references when a displacement from an external sym_

bol is specified in a source statement. These RLDs are re quired to support progranls rel-erencing a common data area which may be considered external to all included modules. Each 3-byte RLD contains the followrns:

Evte

l - 2 ( l e f t m o s t )

Bit Meaning

all Relative EXTRN ESL count so name of the EXTRN can be found. Relative ESL count s t a r t s w i t h 0 0 0 1 .

3 (rightmost) 0 I = R L D p o i n t s t o a n E X T R N with a known displacement.

l = 3 - b y t e R L D .

Dsplacement from the left-most text byte in the record.

Three-byte RLDs are processed like l-byte RLDs except that the base address is the address definecl in the ESL entry corresponding to the relative EXTRN count.

End Record

An E-type record must be the last record of an obiect m o d u l e .

1 ' 7

A p p t ' n d i r B . O b j c c t t v c M o d u l r s 4 5

This page intentionally left blank

You can reduce the time required to link-edit a program by using one or more of the tbllowing procedures:

l. Do not request a cross-reference list. For many programs the time saved may be small, but for programs with many m o d u l e n a m e s a n d c n l r y p o i n t s . a l o n g w i t h m a n v re f c r -ences to these modulc names and clltry points, significant trrne saving can result. The time saved is not only the a m o u n t o f t i m e n e e d e d t o p r i n t t h e li s t . b u t also thc additional time needed during the link-edit to save all the information on disk.

2 . k r c a t e th e w o r k f i l e s . S W O R K a n d $ S O U R C E , o p t i m a l l y . a. On a rnulti-drive system, the program pack and user

pack (if one is used) should not be on the same drive as the $WORK and $SOURCE f'iles.

b. On a single drive systent. the work files should be located at the beginning ot'the library. This can be done by using the Library Maintenance program A L L O C A T E s t a t e m e n t t o f l r s t a l l o c a t e t h e s o u r c e library to 30 tracks ancl then deallocate it to 0 track.

The 30 tracks are then available at the slart of the library and can be used for the work files by specifying t h e L O C A T I O N p a r a r n e l e r o n t h e F I L E s t a r e m e n r s . c. On a single drive system. if tlie work files cannol be

located at the beginning of the library (as in step b).

they should be located opposite the object library on the other disk drive. For example, if the oblect l i b r a r y i s lo c a t e c l a t t r a c k s 2 8 o r j 7 o n F l . t h e w o r k f i l e s s h o u l d b e lo c a t e d a t t r a c k s 2 g t o 3 7 o n R l . d . F o r t h e M o d e l 1 5 . fl l e s should b e p l a c e d o n a 5 4 4 5

disk drive for best performance.

e . I f s t e p s a , b , c , a n d / o r d a r e n o t u s e < J t o o p t i m a l l y l o _ cate the work files, no FILE statements should be pro-vided. The linkage editor finds the work space needed.

Appendix C: Performance lmprovements

3. Load the Overlay Linkage Editor from a program pack containing only the Compiler, the Overlay Lrnkage Editor, and the R modules to be link-edited. This is more efficient than loading the Overlay Linkage Editor from the system pack.

4. Place the object modules (R modules) that will be used in the link-edrt ahead of the load modules in the object library. This would be most effective with step 2b.

5. Have the linkage editor locate the needed object modules via AUTOLINK rather than by you supplying multiple INCLUDE cards.

6. Use the memory resident overlay techniques to increase the performance of large overlay programs. Which technique to use depends on the impact that the 2K boundary restriction has on the program. Because adjusting ATRs takes less time than moving the data (especially for large overlay segments), REMAp object modules generally produce a larger execution storage size and fit f'ewer segments into the resident area of the partition, but generally execute in less time than MOVE object modules.

Appendir C. Performance Improvements 4?

This page intentionally left blank

4u

The fbllowing terms arc dellned as they are usetl in this m a n u a l . If y o u d o n o t l i n c l ll r e te rnt you are looking 1or.

rei-er to tlie index or to the lLlM Data lYr.tt'cssing Oktssan,, GC20- r 699.

ALrTOl,lNK. Process whcrcby thc Overlay Linkage lrditor searches the object library lirr obje ct r.noduies to resoll.e all unresolved nrodule narrre external ref'erences.

COM'\,|ON. An area at the hcginning o1'a partition or {'ol-l o w i n g a G L O B A L a r c a .

c'orttlitional cxtental rcJercnce. An cxtcrrral rcferencc tltlt c a u s c s A U T O L I N K t o b e p e r f ' o r n r e d . l l o w c v e r . i f r h e n r o d u l e n a r n e d b y t l r c c o n d i t i o n a l c x t c r n a l r e f e r e n c c r s n o t f o u r r d , n o e r r o r rn e s s a g c i s p r i n t e d a n c l t l r c c o r r c l i t i o n a l e x t e r t r a l r c f e r e n c e i s t r e a l e d a s a w e a k c x t e r r r a l r e l e r e n c c . descendant. In a callcr-called rclationshtp betwecn two m o d u l e s , t h e c a l l e d n r o c i u l e i s t h e c l e s c c n d a n t .

Jerc'h routine. The routine to l'ind the overluv on tirsk and I o a d i t t o s t o r a g e .

J c t t h t a b l e . T h e p a r a n r e t c r n c c d e d t o l o a d a s i r r g r c o v e n t y . G L O B A L . A n a r e a o 1 ' n r a i n s t o r a g c a t t h e b e g i n n i n g o f a p a r t i t i o n .

INVOKE. Process where one load module calls and trans_

fers control to another load module.

load module. The output of the linkage editor; a program in a format suitable for loading into main storage for e x e c u t i o n .

mainline. The first rnodule encountered when link-editing.

This module is always in the root segment.

memory-resident ovctrhy. The technique used to mcrease the performance of large overlay programs by ailowing certain overlay segments to remain in primary storage after the initial segment fetch.

Glossary

MRO. Menory resident overlay.

O rruttlule. A loacl rnodulc.

obiect library. An area on disk that contains load ntodules a n d o b j c c t m o d u l e s .

o b j e c f t n o d u l c . A r n o d u l e th a t i s t h c o u t p u t o 1 a n assern-b l c r o r c o n t p i l e r a n d i s i u p L r t t o t h e l i n k a g e c d i t o r . obicr:t pntgrarr. A lullv curlpiled or assembled and link-c d i t e d p r o g i a r n t h a t i s r e a i l v t o t r e lo a d e d in t o r n r i r r s t o r a g e .

ottcrlo!'. ( I ) The te chniqLrc of repcatecily usins the sanre b i o c k s o f j n t e r n a l s t o r a g c d u r i n g d i l - l ' c r c n t s l a g e s t l 1 ' a p r o -g r a r n . W h e n o n e n t o d u l e is r r o lo n -g c r n c e d e d il l s t o r a u c , a n o t h e r n t o d u l c c a r r rc p l a c e a l l o r p a r t o l ' i t . ( l ) A p r o -g r a m s e -g n t e n t o r n h a s c th a t i s l o a c l c d i n t o n r a i r r s t o r a g c . I t r e p l a c c s a l l o r p a r t o f I p r c v i o u s l y lo a d e d s c g n t e n t . overlal, rrutdule. A load rnodule lhal has been clivided intcr t l v c r l a y s c g r n e n t s , a n d t h a t h a s b c c n p r o v i d e d b y t h e O v c r l a y L i n k a g e [ : d i t o r w i t h i n f i t r r n a t i o n th a t e n a b l c s th e O v c r -l a y -l j e t c h R o u t i t r c tt r i r n p -l c n r e n t t h e r l e s i r e d lo a d i n g o l ' s c g l n e n t s w h c n r c q r , r e s l e d .

rnerlay program. A prograrn in which ccrtain control sec-t i o n s c a n u s e sec-t h c s a l n e s sec-t o r a g c l o c a t i o n s a t d i f f e r e n t t i n r e s d u r i n g e x c c u t i < i n .

rtverlay region. A conlinuous area ol rnain storagc in which s e q n r e n i s c a n b e l o a d e d in d e p e n d e n t l y o l ' o t h e r r c g r o n s . ctverla.I, segmeill. Sec segment.

program pack. The disk pack from which the Overlay Linkage Editor program is loaded.

root segment. That segment of an overlay program that remains in main storage at all times during the execution of the overlay prograln. the first segment in an overlay program. A root segntent cannot be overlaid.

R module. An object module.

segment. A part of a computer program divided into parts such that the prograrn can be executed without the entire program being in main storage at any clne time.

C i l o s s a r y 4 9

system pack. The disk pack from which the system is loaded ( l P L p a c k ) .

transfer vector. The linkage to each entry point in an overlay that allows the overlay to be loaded to storage before control is passed to the entry point.

user pack. A disk pack that contains object modules to be l i n k - e d i t e d .

weak external reference. An external reference that does not have to be resolved during linkage editing. If it is not resolved, it appears as though its value was resolved to zero.

a d d r e s s , li n k - e d i t s t a r t l 6

c x a t n p l e s i n c l u d i n g m o d u l e s i n r o ( ) t l 8

c x a l l t p l e l . O C L a n d c o n l r o l s t a t e m e n t s 2 3 l n c r e a s e s i z e c r f u s e r a r c a ( s e e e x a m p l e 7 ) c x a n r p l e 2 . O C L a n d c o n t r o l s t a t e m c n t s 2 4 i n f o r m a t r o n a l m e s s a g e s 3 8

e x a r t r p l c - 1 . O C I L . a n d c o n t r c l s t a t e m e n t s 2 5 I N V O K E f e a t u r c

c x a n r p l c - 1 . O C L z r r r d c o n t r o l s t a t e m e n l s G L O B A L C O M M O N 4 1

( l \ { o d e l 1 5 o r r l v ) 2 6 L O C A L C O M M O N 4 1

c x a r r t p l c 5 . O C L a n d c o n t r o l s t a t e m e n t s 2 6 m e m o r y r e s i d e n t o v e r l a y s 2 2 c r a r r r p l c 6 . ( ) v e r l a y s t r u c l u r e o f l o a d m o d u l e 2 7

e x u r n p l c 7 . o v c r l a - v s t r u c t u r e o f l o a d m o d u l e 2 9 e x a l l l p l c t { . o v e r l a t , s t r u c t u r e o f p r o g r a m 3 l c r a n r p l c 9 . o l e r l a _ v s t r u c t u r e o f p r o g r a m 3 2

e r a n r p l c 1 0 . o l c r l a v s l r u c t u r e o f p r o g r a m 3 3 l a n g u a g e tr a n s l a t o r I

c x l t t n p l c l l . o r c r l a y s t r u c t u r e o f p r o g r a m 3 4 l a s t c o n t r o l s t a t e m e n t ( s e e E N D s t a t e m e n t ) e x a n r p l c 1 2 . M O V F . t e c h n i q u e ( M o d e l 1 5 o n l y ) 3 5 L E V E L p a r a m e t e r

t x : r n r p l c 1 3 . R L M A P t e c h n i q u e ( M o d e l 1 5 o n l y ) 3 6 ( s e e e x a m p l e l )

e x t c n d c c l ro o t n r a i n l i n c 1 . 1 O P T I O N S s t a t e m e n l 7

c r t c r n a l b u f f e r s ( 5 7 0 4 - S C 2 o n l y ) 1 1 l i b r a r y f o r n r a t , o b j e c t 2 c x { e r n a l r e l c r c n c c , [ : . S [ - r e c o r d s 4 3 l i n k - e d i t s t a r l a d d r e s s e s 1 6

e x t c r n a l s v r n b o l l i s t r c c o r d s 1 3 L I N K A D D p a r a m e t e r , P H A S E s t a t e m e n t 6 , 1 6

t . X I ' R N ( s e c F . S [ - rc c o r d s ) l i n k a s e e d i t o r

c o n i r o l s t a t e m e n t s 5 f u n c t i o n s 2

l o a d i n g I F r o c q t t l t * |

l c t c h r o u l i r t c . o ' " ' e r l l y ( s e e o v e r l a y f e t c h l o a d a d d r c s s , o v e r l a y p r ( ) g r a m s 1 6

r o u t i n e ) l o a d m o d u l e

l c t c h t a b l c c o n t r o l s t a t e m c n t s 5

g e n c r r l i o n l . i d e s l i n a t i o n 6

r ( ) o t i l r c a I j e n t r y p o i n t l l J

[ : l [ . [ r s l a t e r n e n t s . 1 ( s e e E N T R Y p a r a m e t e r )

I ; ( ) R I R A N 2 2 . l - 1 i n t r o d u c t i o n I

n a m c 6 R E . T A I N t y p c 6 s i z e c h a n g e 3 , 1 4

( s e c C O R E p a r a m e t e r )

g c n c r i t t i ( ) n . o v c r l a y s s t o r a g e m a p l Z

n r e n r ( ) r v r e s i d c n t o v e r l a v s l 9 s t o r a g e s i z e 7

o v c r l a \ , | ' c t c h lo u t i n e 1 . 1 l o a d i n g l i n k a g e e d i t o r I

( ; t - ( ) U A l - C O M M O N a r e a 1 3 . 2 0 , 2 1 .2 2 L O C A L C O M M O N a r e a 1 3 . 2 0 , 2 1 . 2 2

( l R O L l P statenlcr)t 5. 9 l o c a t i o n o f u s e r m o d u l e s ( s e e U P A C K p a r a m e t e r )

( s c c c r a r n p l e s - l a n d 7 ) d c s c r i n t i o n l l t s v s t c n r r n o d u l e s l - t g r o u p i r r g r n o d u l c s l 8

m a i n l i n e r ( ) u l i n e a s s i g n m e n t 9 c a r d f o r m 1 1

( s e e cxarnPle 3)

h a l t s . e r r o r J e n t r y p o i n t ( s e e E N T R Y p a r a m e t e r )

h e a d e r r e c o r d : 1 3 I N C L U D E s t a t e m e n t ( s e e e x a m p l e s l , 2 , a n d 4 )

o v e r l a Y a s s i g n m e n t 1 4 r ( ) o t a r e a 1 3

M A P o a r a m c t e r . O P T I O N S s t a t e m e n t 8 m e m o r y r c s i d e n t o v e r l a y

I / O d c p e n c l c n t n r o d u l e s . u s e r o v e r l a y C o m m u n i c a t i o n s C o n t r o l P r o g r a m m i n g 1 9

i t r c a s 1 3 d e s c r i n t i o n 1 9

I / O i n c l e p c n d e n t n r o d u l c s . c o - r e s i d e n l e x a m p l c s 3 5 , 3 6

2 r r c : r 1 . 1 M C ) V E t e c h n i q u c 2 l

i r n p r o l c l n c r r t s . p c r f o r n r a n c c 4 7 p c d o r m a n c e c o n s i d e r a t i o n s 4 7

f N C L L I D I : s t a l c r r ) e n t 5 p r o g r a m e x e c u t i o n 2 0

t l c r c r i p t i o r r 9 R E M A P t e c h n i q u c 2 2

r n a i n l i n c r o u t i r r r 1 " 1 s u p e r v i s o r s u p p o r t 1 9

n r e s s a q c s l l i

\ . e { ) l l r l : U \ \ l ( ) f l t l l c f c q u l f c n l d n l s I v , \ l . t t t : p i t r a r n c r c r . ( , A ' l ' f - . ( i o R Y s l i r t c r r r c n t l 0

\ c g l l l e l l l \ . l o l t t j l t r { o r ' e t l l t \ l - 1 . 2 0 . l ? r r r r r i n g o v e r l l r \ \ t r u c l u r c ( s e c c x a n t p l c s ( r - l I ) : i z c . , r v c r l l t v l c l c l r r r L r l i n c 1 4 . l 9 v e c l ( ) r s . l r a n \ l c r ( s c c l r l r n s l c r . v c c t ( ) r \ ) s ( ) u r e c p r ( ) g | i i l r I

s t : t r 1 l r t l t l r c s s . l r n l : - c r l i t l 6

S t r r I l . \ t l d r c s s . \ l ( ) r ' i r { e l n i l l h e a d i n s l l s l l l l c n l c n t s . c ( ) n t r o l 5

s l l t t c l l t e l l l s . O ( [ - " 1 r , . r 1 1 p ! : p t c \ \ a e c \ ] l l

\ t ( ) l l l q e t l ) a p w c u k c r t e r n a l r c l c r c r r c c s . f : S L t c c o r d - . t - l

e ( ) r l l c n l \ | l l \ 1 . . \ [ ) p i r n u l c t c r l \

\ t o f i r s c r c q t r i r - c n t c l t l s p r i n l i r r l

s c c o n d i t r \ l

\ t ( ) n l g c s i t c . l o i r d n r t r d t r l c , 1

\ l ( ) r i r g r s i z e . r t o r r - t r t e r l l r t l l s t ( r r : r g c \ r / c . ( r \ c t l i l ) I l s r r h l v p e . c r t c r n a l r c l c r c n c c s . 1 3 s r r r b o l l i r l t c c ( ) r d s . c r l c r r L r l - 1 3 S \ S L ( ) ( ; ]

s r s l c n r e o r t l i g u r lr l i o r r - i s t s t e r n n r o c i t t l c s

s i r l e g r t r l r : r l r r c l o

\ \ \ l c n t ( ) \ c t l l t r ; t r e l t l J

\ \ \ t c n t D l ( ) ( l u l c \ . !l t t c q ( ) r V l l r l t r e C h a t t g c 9

\ \ \ l c n l ( ) \ c r l i t t ; i l c l r l - 1 ( s c c c r l r r r p l c s ( ) . 7 . l 0 - | 3 ) l r ( ) l u \ e L l l \ c t c \ i l n t p l c \ 8 i r r t d 9 )

\ \ \ l c r l r r ) \ e f l i t \ l c l c l t l t l c a l O . I I . 2 2 ( s c t e r r r r l p l e s ( ) . 7 . l 0 l - 1 )

r r r , l r : e r l r s c e l r l s o c r l r t r p l c s E . ( ) )

l u u l l n r q u e \ . n l e n t ( ) r ' \ r c r i c l e n l 0 l e r l i t t

\ l ( ) \ I t ( ) t < I \ t . . \ l , l ( )

l e n t n ( ) t i l l \ l o l t r l n t o t l L i l c s ( r l i t r r i r t r l n t e \ \ i l t c \ l X t t r l l { l . l ) r e c o r t l + - 1 l l r r e e - h r l r I t I l ) l ) l t l t n s l e t \ e ! l ( ) l \ I 1 l ! i l l l \ l . i l ( ) r . l r r r r L l r i , r i : e I

[ \ l I | ; 1 1 ; q 1 1 1 a 1 g y l \ ( l t I ) l \ l , r l r ' n l r l l 9 I ' l | \ \ l s l . r l e r r r r ' n t ( r

I I ' \ ( K ' r , l r , i l | ! t e r ( ) 1 , I l ( ) \ S \ { i l l e , | r l t t 1 l t \ ( t e t l l l \

l l C \ ! T l l r l l i i l l + l l l l ! l ( l t \ ] t t \ ( t ( ) \ e l l i r \ . i l ! i l I I

l \ f r . f \ . 1 | t | r ! \ t , I l l ) l l l t t o l t t : t t l t s q g q r , ; q 1 1 1 i r j 1 1 5 l r n t l ( ) )

\ r / ! l f

u \ r ' r i j \ ! t 1 . 1 \ l r l . l r . r r e . r l l ) . 1 1 . l l , \ a ( e \ , 1 1 ) l r l f \ l , I l r ) l l ) i l , ) j ) \ ! ( i 1 \ r ' ! f \ . l l n l r l f \ X ' ) l

G C 2 1 . 7 5 6 1 - 5

EEI=--==

lnternational Business Machines Corporation General Systems Division

5775D Glenridge Drive N.E.

Atlanta, Georgia 30301 ( U S A O n l y )

IBM World Trade Corporation

821 United Nations Plaza, New York, New York 10017 (lnternational)

=

o

a

t-m

=

'T1

z

(t)

= c'"

P oN)

!

(t

Documents relatifs