Upload
hrec-tacc
View
239
Download
0
Embed Size (px)
Citation preview
7/25/2019 AmigaDOS Technical Reference Manual
1/56
m i g a O S
e c h n i c a l e f e r e n c e
n u l
7/25/2019 AmigaDOS Technical Reference Manual
2/56
7/25/2019 AmigaDOS Technical Reference Manual
3/56
m i g a O S e c h n i c a l e f e r e n c e M a n u a l
7/25/2019 AmigaDOS Technical Reference Manual
4/56
T a b l e o f
C o n t e n t s
m i g a D O S F i l e
S t r u c t u r e
R o o t
l o c k
U s e r
D i r e c t o r y
B l o c k s
F i l e
H e a d e r
B l o c k
F i l e L i s t l o c k
D a t a l o c k
I S K T h e D i s k E d i t o r
7/25/2019 AmigaDOS Technical Reference Manual
5/56
m i g a O S T e c h n i c a l
R e f e r e n c e M a n u a l F i l i n g
S y s t e m
1 . 1 m i g a O S
F i l e S t r u c t u r e
T h e
A m i g a D O S f i l e
h a n d l e r
u s e s
d i s k
t h a t
f o r m a t t e d w i t h b l o c k s e q u a l s i z e . p r o v i d e s
i n d e f i n i t e l y d e e p
h i e r a r c h y
d i r e c t o r i e s , w h e r e
e a c h d i r e c t o r y
m a y c o n t a i n d i r e c t o r i e s f i l e s
j u s t
f i l e s .
s t r u c t u r e
a p u r e
t r e e
t h a t
l o o p s
a r e n o t a l l o w e d .
T h e r e
s u f f i c i e n t r e d u n d a n c y m e c h a n i s m a l l o w p a t c h t o g e t h e r
m o s t ,
a l l
c o n t e n t s d i s k a f t e r
s e r i o u s
h a r d w a r e e r r o r , e x a m p l e . T o p a t c h t h e c o n t e n t s d i s k ,
I S K E c o m m a n d . f u r t h e r d e t a i l s s y n t a x D I S K E D s e e s e c t i o n 1 . 2 , D I S K E D T h e
D i s k
E d i t o r ,
l a t e r t h i s c h a p t e r . B e f o r e p a t c h t o g e t h e r t h e c o n t e n t s d i s k , m u s t
u n d e r s t a n d l a y o u t .
s u b s e c t i o n s
b e l o w d e s c r i b e t h e
l a y o u t d i s k
p a g e s .
1 . 1 . 1 R o o t B l o c k
T h e r o o t o f t h e t r e e R o o t
B l o c k ,
w h i c h f i x e d p l a c e d i s k . T h e r o o t
l i k e o t h e r
d i r e c t o r y ,
e x c e p t t h a t
h a s n o
p a r e n t ,
s e c o n d a r y
t y p e
d i f f e r e n t .
m i g a O S
s t o r e s
n a m e
o f t h e
d i s k
v o l u m e
n a m e f i e l d
o f t h e
r o o t b l o c k .
E a c h f i l i n g s y s t e m b l o c k c o n t a i n s a c h e c k s u m
w h e r e
s u m i g n o r i n g o v e r f l o w ) o f w o r d s
b l o c k
z e r o .
T h e f i g u r e
f o l l o w i n g
p a g e
d e s c r i b e s
t h e l a y o u t r o o t
b l o c k .
7/25/2019 AmigaDOS Technical Reference Manual
6/56
F i l i n g
S y s t e m
A m i g a D O S T e c h n i c a l R e f e r e n c e M a n u a l
/
\
S I Z E - 5 1
S I Z E - 5 0
S I Z E - 4 9
S I Z E - 2 4
S I Z E - 2 3
S I Z E - 2 2
S I Z E - 2 1
S I Z E - 2 0
S I Z E - 7
S I Z E - 6
S I Z E - 5
S I Z E - 4
S I Z E - 3
S I Z E - 2
S I Z E - 1
T . S H O R T
H T
S I Z E
C H E C K S U M
h a s h
t a b l e
/
\
M F L G
B i t m a p
p a g e s
D A Y S
M I N S
T I C K S
D I S K
N A M E
C R E A T E D A Y S
C R E A T E M I N S
C R E A T E T I C K S |
S T . R O O T
T y p e
H e a d e r k e y a l w a y s
z e r o
H i g h e s t s e q n u m b e r
a l w a y s
z e r o
H a s h t a b l e s i z e b l o c k s i z e - 5 6
T R U E
B i t m a p
d i s k v a l i d
U s e d i n d i c a t e
b l o c k s
c o n t a i n i n g b i t m a p
V o l u m e l a s t a l t e r e d
d a t e
a n d
t i m e
V o l u m e n a m e B C P L
s t r i n g
o f < = c h a r a c t e r s
V o l u m e c r e a t i o n
d a t e
t i m e
N e x t e n t r y o n t h i s h a s h c h a i n a l w a y s z e r o
P a r e n t d i r e c t o r y
a l w a y s z e r o
E x t e n s i o n a l w a y s z e r o
S e c o n d a r y t y p e
i n d i c a t e s r o o t
b l o c k
F i g u r e R o o t B l o c k
7/25/2019 AmigaDOS Technical Reference Manual
7/56
A m i g a D O S
T e c h n i c a l
R e f e r e n c e
M a n u a l
F i l i n g S y s t e m
U s e r D i r e c t o r y B l o c k s
T h e f o l l o w i n g f i g u r e d e s c r i b e s t h e l a y o u t o f t h e c o n t e n t s a u s e r d i r e c t o r y b l o c k
T . S H O R T
O W N K E Y
C H E C K S U M
h a s h
t a b l e
/
\
/
\
S I Z E - 5 1
S I Z E - 5 0
S I Z E - 4 8
S I Z E - 4 7
S I Z E - 4 6
S I Z E - 2 4
S I Z E - 2 3
S I Z E - 2 2
S I Z E - 2 1
S I Z E - 2 0
S I Z E - 4
S I Z E - 3
S I Z E - 2
S I Z E - 1
S p a r e
P R O T E C T
C O M M E N T
D A Y S
M I N S
T I C K S
D I R E C T O R Y
N A M E
H A S H C H A I N
P A R E N T
S T U S E R D I R
T y p e
H e a d e r k e y p o i n t e r t o s e l f
H i g h e s t
n u m b e r a l w a y s z e r o
P r o t e c t i o n
b i t s
U n u s e d
a l w a y s z e r o
S t o r e d a s B C P L s t r i n g
C r e a t i o n
d a t e a n d
t i m e
S t o r e d
B C P L s t r i n g
o f < = c h a r a c t e r s
N e x t
e n t r y w i t h
s a m e
h a s h v a l u e
B a c k p o i n t e r p a r e n t d i r e c t o r y
E x t e n s i o n a l w a y s z e r o
s e c o n d a r y
t y p e
F i g u r e U s e r D i r e c t o r y B l o c k s
7/25/2019 AmigaDOS Technical Reference Manual
8/56
F i l i n g S y s t e m m i g a D O S T e c h n i c a l R e f e r e n c e M a n u a l
U s e r d i r e c t o r y b l o c k s h a v e t y p e
T S H O R T
s e c o n d a r y t y p e S T . U S E R D I R E C T O R Y .
i n f o r m a t i o n w o r d s
s t a r t
o f t h e
b l o c k
a l s o i n d i c a t e b l o c k s o w n t h a t
b l o c k
n u m b e r
c o n s i s t e n c y
c h e c k
s i z e
h a s h t a b l e .
i n f o r m a t i o n
w o r d s o f t h e
b l o c k
c o n t a i n
d a t e
t i m e c r e a t i o n , n a m e d i r e c t o r y ,
p o i n t e r
n e x t f i l e o r d i r e c t o r y
h a s h c h a i n , p o i n t e r d i r e c t o r y a b o v e .
f i n d
f i l o r s u b - d i r e c t o r y , m u s t f i r s t h a s h
f u n c t i o n
n a m e . T h i s h a s h f u n c t i o n
y i e l d s
o f f s e t
h a s h t a b l e ,
w h i c h f i r s t b l o c k c h a i n
l i n k i n g t h o s e
w i t h
s a m e
h a s h v a l u e
z e r o , t h e r e a r e n o n e ) .
A m i g a D O S r e a d s b l o c k w i t h
t h i s
a n d c o m p a r e s
n a m e b l o c k w i t h r e q u i r e d n a m e . n a m e s d o n o t m a t c h r e a d s n e x t b l o c k
c h a i n ,
7/25/2019 AmigaDOS Technical Reference Manual
9/56
A m i g a D O S T e c h n i c a l
R e f e r e n c e
M a n u a l
F i l i n g
S y s t e m
F i l e
H e a d e r B l o c k
T h e
f o l l o w i n g
f i g u r e
d e s c r i b e s
t h e l a y o u t
h e a d e r b l o c k
T S H O R T
O W N K E Y
H I G H E S T
S E Q |
D A T A
S I Z E
F I R S T
D A T A |
C H E C K S U M
\ \
S I Z E 5 1
S I Z E 5 0
S I Z E 4 8
S I Z E 4 7
S I Z E 4 6
S I Z E 2 4
S I Z E 2 3
S I Z E 2 2
S I Z E 2 1
S I Z E 2 0
S I Z E 4
S I Z E 3
S I Z E 2
S I Z E 1
D A T A
B L K
D A T A
B L K
D A T A B L K
S p a r e
P R O T E C T
B Y T E S I Z E
C O M M E N T
D A Y S
M I N S
T I C K S
F I L E
N A M E
H A S H C H A I N
P A R E N T
E X T E N S I O N
S T F I L E
T y p e
H e a d e r
k e y
T o t a l n u m b e r d a t a b l o c k s
f i l e
N u m b e r d a t a b l o c k s l o t s u s e d
F i r s t
d a t a b l o c k
l i s t d a t a
b l o c k
k e y s
P r o t e c t i o n b i t s
T o t a l s i z e o f f i l e
b y t e s
C o m m e n t B C P L s t r i n g
C r e a t i o n
d a t e a n d
t i m e
S t o r e d
a s
B C P L
s t r i n g
o f < = c h a r a c t e r s
N e x t e n t r y w i t h s a m e h a s h v a l u e
B a c k p o i n t e r p a r e n t d i r e c t o r y
Z e r o
p o i n t e r f i r s t
e x t e n s i o n b l o c k
S e c o n d a r y t y p e
F i g u r e F i l e
H e a d e r B l o c k
7/25/2019 AmigaDOS Technical Reference Manual
10/56
F i l i n g
S y s t e m
A m i g a D O S T e c h n i c a l R e f e r e n c e
M a n u a l
E a c h
t e r m i n a l f i l e s t a r t s w i t h
f i l e
h e a d e r b l o c k w h i c h t y p e T . S H O R T
a n d s e c o n d a r y t y p e
S T . F I L E .
T h e s t a r t a n d
e n d
o f t h e
b l o c k
c o n t a i n
n a m e , t i m e a n d r e d u n d a n c y i n f o r m a t i o n s i m i l a r
t h a t
d i r e c t o r y b l o c k .
T h e
b o d y
f i l e c o n s i s t s D a t a b l o c k s w i t h
s e q u e n c e
n u m b e r s f r o m
u p w a r d s .
A m i g a D O S s t o r e s a d d r e s s e s t h e s e b l o c k s c o n s e c u t i v e
w o r d s
d o w n w a r d s
f r o m o f f s e t
s i z e 5 1 b l o c k . g e n e r a l
A m i g a D O S d o e s s p a c e t h i s l i s t
a n d
l a s t d a t a
b l o c k
f u l l
1 . 1 . 4 F i l e L i s t B l o c k
t h e r e m o r e
b l o c k s f i l e
t h a n c a n s p e c i f i e d b l o c k l i s t t h e n E X T E N S I O N f i e l d
n o n z e r o a n d p o i n t s a n o t h e r d i s k b l o c k w h i c h c o n t a i n s f u r t h e r d a t a b l o c k l i s t
T h e
f o l l o w i n g f i g u r e
e x p l a i n s t h e s t r u c t u r e o f f i l e l i s t b l o c k .
T . L I S T
O W N
B L O C K
D A T A
K E Y
C O U N T
S I Z E
F I R S T D A T A |
C H E C K S U M
T y p e
H e a d e r k e y
n u m b e r d a t a
b l o c k s
b l o c k l i s t
S a m e
a b o v e
F i r s t d a t a b l o c k
\ \
S I Z E - 5 1
S I Z E - 5 0
S I Z E - 4
S I Z E - 3
S I Z E - 2
S I Z E - 1
B L O C K N + 3
B L O C K N + 2
B L O C K N + l
i n f o
P A R E N T
E X T E N S I O N
S T . F I L E
E x t e n d e d l i s t o f d a t a b l o c k k e y s
u n u s e d
N e x t h a s h l i s t a l w a y s z e r o
F i l e h e a d e r b l o c k t h i s f i l e
N e x t
e x t e n s i o n b l o c k
s e c o n d a r y
t y p e
F i g u r e
I D : F i l e L i s t
B l o c k
T h e r e
a r e a s m a n y f i l e
e x t e n s i o n
b l o c k s
a s r e q u i r e d
l i s t
d a t a
b l o c k s t h a t
m a k e f i l e
l a y o u t o f t h e b l o c k v e r y s i m i l a r t h a t o f f i l e
h e a d e r
b l o c k e x c e p t t h a t t h e t y p e d i f f e r e n t
d a t e f i l e n a m e f i e l d s a r e n o t u s e d .
7/25/2019 AmigaDOS Technical Reference Manual
11/56
m i g a O S T e c h n i c a l
R e f e r e n c e M a n u a l
F i l i n g S y s t e m
1 . 1 . 5
D a t a
B l o c k
T h e
f o l l o w i n g
f i g u r e e x p l a i n s l a y o u t a d a t a b l o c k .
T . D A T A
H E A D E R
S E Q
N U M
D A T A S I Z E
N E X T D A T A
C H E C K S U M
T
t y p e
h e a d e r k e y
s e q u e n c e
n u m b e r
n e x t
d a t a b l o c k
F i g u r e
I E :
D a t a B l o c k
D a t a b l o c k s c o n t a i n o n l y w o r d s f i l i n g s y s t e m i n f o r m a t i o n .
T h e s e
w o r d s r e f e r f o l l o w i n g :
t y p e T . D A T A
p o i n t e r f i l e h e a d e r
b l o c k
s e q u e n c e n u m b e r o f t h e d a t a
b l o c k
n u m b e r
w o r d s
d a t a
p o i n t e r n e x t d a t a b l o c k
c h e c k s u m
N o r m a l l y , d a t a b l o c k s e x c e p t t h e
l a s t f u l l t h a t
t h e y h a v e s i z e = b l o c k s i z e - 6 . T h e l a s t d a t a
b l o c k
a f o r w a r d p o i n t e r o f z e r o .
7/25/2019 AmigaDOS Technical Reference Manual
12/56
F i l i n g S y s t e m A m i g a D O S T e c h n i c a l
R e f e r e n c e
M a n u a l
1 . 2
D I S K E D T h e D i s k E d i t o r
T o
i n s p e c t o r
p a t c h d i s k
b l o c k s , m a y m i g a D O S
d i s k e d i t o r , D I S K E D .
B e c a u s e
D I S K E D
w r i t e s t h e d i s k
d i r e c t l y , s h o u l d u s e w i t h c a r e . N e v e r t h e l e s s , y o u c a n g o o d e f f e c t
r e c o v e r i n g
i n f o r m a t i o n f r o m a c o r r u p t f l o p p y
d i s k ,
e x a m p l e . d i s k d o e s n o t h a v e i n s e r t e d
e x a m i n e d D I S K E D .
Y o u
s h o u l d o n l y
D I S K E D w i t h
r e f e r e n c e
t h e l a y o u t
m i g a D O S
d i s k . d e s c r i p t i o n
l a y o u t ,
s u b s e c t i o n s
1 . 1 . 1 t h r o u g h
1 . 1 . 5
f i r s t
p a r t c h a p t e r .
D I S K E D k n o w s
a b o u t
t h i s s t r u c t u r e
e x a m p l e , R R o o t b l o c k c o m m a n d p r i n t s o f t h e r o o t b l o c k . G
b l o c k c o m m a n d f o l l o w e d t h i s n u m b e r r e a d s b l o c k i n t o m e m o r y , w h e r e u p o n
I n f o r m a t i o n c o m m a n d
p r i n t s
i n f o r m a t i o n c o n t a i n e d f i r s t
l a s t l o c a t i o n s , w h i c h
i n d i c a t e t y p e
b l o c k , n a m e , h a s h l i n k s , s p e c i f y n a m e a f t e r H H a s h
c o m m a n d ,
D I S K E D g i v e s o f f s e t d i r e c t o r y
p a g e t h a t s t o r e s a s t h e
f i r s t
h e a d e r s w i t h
n a m e s
t h a t
h a s h n a m e
s u p p l i e d .
t h e n
t y p e t h e
n u m b e r
t h a t D I S K E D
r e t u r n s
f o l l o w e d
s l a s h D I S K E D d i s p l a y s t h a t h e a d e r p a g e . Y o u t h e n r e a d t h i s w i t h f u r t h e r G
c o m m a n d s , a n d
C o n s i d e r
d e l e t i n g
f i l e
t h a t ,
h a r d w a r e
e r r o r s ,
m a k e s
f i l i n g
s y s t e m
r e s t a r t
p r o c e s s
f a i l .
F i r s t , m u s t l o c a t e d i r e c t o r y
p a g e t h a t
h o l d s r e f e r e n c e f i l e . Y o u t h i s s e a r c h i n g
d i r e c t o r y s t r u c t u r e f r o m r o o t b l o c k , u s i n g h a s h c o d e s . T h e n ,
m u s t
l o c a t e s l o t t h a t
r e f e r e n c e s t h e f i l e t h i s e i t h e r d i r e c t o r y b l o c k a h e a d e r b l o c k s a m e h a s h c h a i n . T h i s
s l o t s h o u l d c o n t a i n t h e f i l e s h e a d e r
b l o c k .
T o s l o t t o z e r o , t y p e t h e s l o t o f f s e t ,
f o l l o w e d
s l a s h f o l l o w e d z e r o t h a t o f f s e t > / 0 . T h e n
c o r r e c t
c h e c k s u m
w i t h
K
c h e c K s u m
c o m m a n d .
Y o u s h o u l d
d i s a b l e
t h e w r i t e
p r o t e c t i o n w i t h
X w r i t e
b a c k u p d a t e d
b l o c k
w i t h P b l o c k o r W i n d u p .
T h e r e
n o n e e d d o a n y t h i n g e l s e , t h e b l o c k s t h a t
f i l e u s e d e r r o r b e c o m e a v a i l a b l e o n c e m o r e a f t e r R E S T R T p r o c e s s s u c e s s f u l l y s c a n n e d
d i s k .
D I S K E D
c o m m a n d s s i n g l e
c h a r a c t e r s , s o m e t i m e s
w i t h
a r g u m e n t s .
7/25/2019 AmigaDOS Technical Reference Manual
13/56
A m i g r a D O S T e c h n i c a l R e f e r e n c e
M a n u a l
F i l i n g
S y s t e m
T h e f o l l o w i n g
c o m p l e t e
l i s t t h e a v a i l a b l e
c o m m a n d s .
C o m m a n d F u n c t i o n
B l o g i c a l b l o c k n u m b e r b a s e
C n D i s p l a y
n
c h a r a c t e r s f r o m c u r r e n t
o f f s e t
G
b l o c k
f r o m
d i s k ( d e f a u l t c u r r e n t
b l o c k
n u m b e r
H
n a m e
C a l c u l a t e h a s h
v a l u e n a m e
D i s p l a y
b l o c k
i n f o r m a t i o n
K C h e c k b l o c k c h e c k s u m c o r r e c t w r o n g
L [ l w b u p b ] L o c a t e w o r d s t h a t m a t c h V a l u e u n d e r
M a s k
( l w b a n d
r e s t r i c t
s e r c h
M a s k
( f o r L N c o m m a n d s
N [ l w b u p b ] L o c a t e w o r d s t h a t m a t c h V a l u e u n d e r M a s k
P
b l o c k
m e m o r y b l o c k
d i s k
( d e f a u l t
c u r r e n t b l o c k n u m b e r
R D i s p l a y b l o c k n u m b e r R o o t B l o c k
Q Q u i t w r i t e d i s k )
c h a r
d i s p l a y
S t y l e
c h a r = C - > c h a r a c t e r s
S > s t r i n g
O >
o c t a l
X > h e x
D >
d e c i m a l
T u p b T y p e
r a n g e o f f s e t s b l o c k
V
V a l u e N c o m m a n d s
W i n d u p =
X I n v e r t
w r i t e p r o t e c t
s t a t e
Y c Y l i n d e r
b a s e
Z e r o w o r d s
o f b u f f e r
n u m b e r S e t c u r r e n t w o r d o f f s e t b l o c k =
D i s p l a y
v a l u e s p r o g r a m
D i s p l a y
w o r d c u r r e n t o f f s e t
u p d a t e v l u e
c h a r s 1 c h a r s c u r r e n t o f f s e t
c h a r s s t r i n g c u r r e n t o f f s e t
T a b l e
1 . A : D I S K E D C o m m a n d s
T o
i n d i c a t e o c t a l o r h e x , s t a r t n u m b e r s
w i t h
X ( t h a t o c t a l , X h e x ) . Y o u
a l s o i n c l u d e i n c l u d e
B C P L
s t r i n g e s c a p e s a n d f o r t h ) s t r i n g s .
7/25/2019 AmigaDOS Technical Reference Manual
14/56
7/25/2019 AmigaDOS Technical Reference Manual
15/56
C h a p t e r :
m i g a
B i n a r y F i l e
S t r u c t u r e
T h i s c h a p t e r
d e s c r i b e s t h e
s t r u c t u r e
b i n a r y o b j e c t
f i l e s
m i g a p r o d u c e d b y
a s s e m b l e r s
a n d c o m p i l e r s
a l s o
d e s c r i b e s f o r m a t
b i n a r y l o a d
f i l e s w h i c h p r o d u c e d
b y
l i n k e r a n d
r e a d
i n t o m e m o r y
l o a d e r
7/25/2019 AmigaDOS Technical Reference Manual
16/56
7/25/2019 AmigaDOS Technical Reference Manual
17/56
m i g a D O S T e c h n i c a l
R e f e r e n c e
M a n u a l A m i g a B i n a r y
F i l e
S t r u c t u r e
2 . 1 I n t r o d u c t i o n
T h i s
c h a p t e r d e s c r i b e s s t r u c t u r e o f
b i n a r y
o b j e c t f i l e s
A m i g a p r o d u c e d a s s e m b l e r s
c o m p i l e r s .
a l s o
d e s c r i b e s f o r m a t
b i n a r y l o a d
f i l e s w h i c h p r o d u c e d l i n k e r
r e a d i n t o m e m o r y l o a d e r .
T h e
f o r m a t
l o a d
f i l e s s u p p o r t s o v e r l a y i n g . A p a r t f r o m
d e s c r i b i n g
f o r m a t
l o a d
f i l e s
t h i s
c h a p t e r
e x p l a i n s t h e
c o m m o n s y m b o l s
a b s o l u t e
e x t e r n a l
r e f e r e n c e s ,
a n d p r o g r a m u n i t s .
2 . 1 . 1 T e r m i n o l o g y
S o m e
o f t h e t e c h n i c a l
t e r m s
u s e d
t h i s
c h a p t e r a r e e x p l a i n e d
b e l o w .
E x t e r n a l R e f e r e n c e s
Y o u
n a m e
s p e c i f y r e f e r e n c e
b e t w e e n
s e p a r a t e p r o g r a m u n i t s . T h e d a t a s t r u c t u r e l e t s
h a v e a
n a m e
l o n g e r
t h a n 1 6 M b y t e s a l t h o u g h
l i n k e r
r e s t r i c t s
n a m e s
c h a r a c t e r s .
W h e n
l i n k o b j e c t f i l e s
i n t o s i n g l e l o a d f i l e
m u s t e n s u r e
t h a t e x t e r n a l r e f e r e n c e s
m a t c h
c o r r e s p o n d i n g e x t e r n a l d e f i n i t i o n s . T h e e x t e r n a l r e f e r e n c e m a y s i z e b y t e , w o r d l o n g ; e x t e r n a l
d e f i n i t i o n s r e f e r t o r e l o c a t a b l e v a l u e s , a b s o l u t e v a l u e s , o r
r e s i d e n t
l i b r a r i e s . R e l o c a t a b l e b y t e
w o r d
r e f e r e n c e s
r e f e r t o P C
r e l a t i v e a d d r e s s
m o d e s a n d t h e s e a r e e n t i r e l y h a n d l e d l i n k e r .
H o w e v e r
h a v e p r o g r a m
c o n t a i n i n g
l o n g w o r d
r e l o c a t a b l e
r e f e r e n c e s ,
r e l o c a t i o n m a y t a k e p l a c e
w h e n l o a d p r o g r a m
N o t e
t h a t t h e s e s i z e s
o n l y r e f e r l e n g t h r e l o c a t i o n f i e l d ; p o s s i b l e l o a d w o r d
f r o m
l o n g e x t e r n a l a d d r e s s ,
e x a m p l e t h e l i n k e r m a k e s
n o a t t e m p t c h e c k t h a t
c o n s i s t e n t
y o u r
e x t e r n a l s .
O b j e c t
F i l e
n
a s s e m b l e r
c o m p i l e r p r o d u c e s b i n a r y
i m a g e
c a l l e d
o b j e c t
f i l e
n
o b j e c t f i l e c o n t a i n s
m o r e
p r o g r a m
u n i t s .
m a y
a l s o
c o n t a i n
e x t e r n a l
r e f e r e n c e s o t h e r
o b j e c t
f i l e s
L o a d F i l e
T h e l i n k e r p r o d u c e s b i n a r y i m a g e
f r o m n u m b e r o b j e c t f i l e s T h i s
b i n a r y i m a g e c a l l e d l o a d
f i l e l o a d
f i l e
d o e s
n o t c o n t a i n
u n r e s o l v e d e x t e r n a l r e f e r e n c e s .
P r o g r a m U n i t
p r o g r a m
u n i t s m a l l e s t
e l e m e n t
t h e l i n k e r h a n d l e .
p r o g r a m
u n i t
c o n t a i n
m o r e
h u n k s ; o b j e c t
f i l e s
c o n t a i n
m o r e
p r o g r a m u n i t s .
l i n k e r
f i n d s s u i t a b l e e x t e r n a l
r e f e r e n c e
w i t h i n
p r o g r a m
u n i t
w h e n i n s p e c t s s c a n n e d l i b r a r i e s , i n c l u d e s t h e e n t i r e p r o g r a m
u n i t t h e l o a d f i l e n
a s s e m b l e r
u s u a l l y p r o d u c e s s i n g l e
p r o g r a m
u n i t f r o m o n e a s s e m b l y
c o n t a i n i n g m o r e h u n k s ; c o m p i l e r
s u c h
F O R T R N p r o d u c e s
p r o g r a m
u n i t e a c h
s u b r o u t i n e , m a i n p r o g r a m
L O C K
D A T A H u n k n u m b e r i n g s t a r t s f r o m z e r o w i t h i n e a c h p r o g r a m
u n i t ; o n l y w a y y o u c a n
r e f e r e n c e
o t h e r p r o g r a m u n i t s
t h r o u g h
e x t e r n a l r e f e r e n c e s .
7/25/2019 AmigaDOS Technical Reference Manual
18/56
A m i g a B i n a r y F i l e S t r u c t u r e m i g a O S T e c h n i c a l
R e f e r e n c e
M a n u a l
H u n k s
h u n k
c o n s i s t s b l o c k c o d e
d a t a , r e l o c a t i o n
i n f o r m a t i o n , l i s t
d e f i n e d r e f e r e n c e d
e x t e r n a l
s y m b o l s D a t a h u n k s m a y
s p e c i f y
i n i t i a l i z e d d a t a o r u n i n i t i a l i z e d d a t a b s s ) . h u n k s m a y
c o n t a i n e x t e r n a l d e f i n i t i o n s e x t e r n a l r e f e r e n c e s v a l u e s r e q u i r i n g r e l o c a t i o n .
p l a c e i n i t i a l i z e d
d a t a b l o c k s
o v e r l a y s ,
l i n k e r
s h o u l d n o r m a l l y a l t e r
t h e s e d a t a
b l o c k s ,
s i n c e
r e l o a d s
t h e m
f r o m d i s k d u r i n g o v e r l a y p r o c e s s .
H u n k s
m a y n a m e d u n n a m e d a n d t h e y m a y
c o n t a i n s y m b o l
t a b l e
o r d e r p r o v i d e s y m b o l i c d e b u g g i n g
i n f o r m a t i o n .
T h e y
m a y
a l s o c o n t a i n
f u r t h e r d e b u g g i n g i n f o r m a t i o n
h i g h l e v e l
l a n g u a g e
d e b u g g i n g
t o o l s . E a c h h u n k
w i t h i n
p r o g r a m
u n i t a n u m b e r s t a r t i n g f r o m z e r o .
R e s i d e n t L i b r a r y
L o a d f i l e s a l s o k n o w n l i b r a r i e s 1 . L o a d f i l e s m a y r e s i d e n t m e m o r y ; a l t e r n a t i v e l y ,
o p e r a t i n g s y s t e m m a y l o a d t h e m a s p a r t
l i b r a r y o p e n c a l l
Y o u
r e f e r e n c e r e s i d e n t
l i b r a r i e s
t h r o u g h e x t e r n a l
r e f e r e n c e s ;
d e f i n i t i o n s
h u n k
c o n t a i n i n g c o d e
j u s t
l i s t o f r e s i d e n t
l i b r a r y d e f i n i t i o n s . U s u a l l y , p r o d u c e t h e s e h u n k s a s s e m b l e f i l e c o n t a i n i n g n o t h i n g b u t
a b s o l u t e e x t e r n a l d e f i n i t i o n s t h e n p a s s t h r o u g h a s p e c i a l
s o f t w a r e
t o o l t o c o n v e r t t h e a b s o l u t e
d e f i n i t i o n s r e s i d e n t
l i b r a r y d e f i n i t i o n s . T h e l i n k e r
u s e s h u n k n a m e
a s t h e
n a m e r e s i d e n t
l i b r a r y ,
p a s s e s t h i s
t h r o u g h
i n t o
t h e l o a d f i l e t h a t t h e l o a d e r
o p e n
t h e r e s i d e n t l i b r a r y
b e f o r e
u s e .
S c a n n e d l i b r a r y
s c a n n e d
l i b r a r y c o n s i s t s o b j e c t f i l e s t h a t
c o n t a i n p r o g r a m
u n i t s w h i c h o n l y l o a d e d t h e r e
a n y o u t s t a n d i n g
e x t e r n a l r e f e r e n c e s t h e m Y o u m a y
o b j e c t f i l e s l i b r a r i e s p r o v i d e
t h e m
p r i m a r y i n p u t l i n k e r , i n w h i c h c a s e i n p u t i n c l u d e s p r o g r a m u n i t s o b j e c t f i l e s
c o n t a i n .
N o t e
t h a t m a y c o n c a t e n a t e o b j e c t
f i l e s
N o d e
n o d e c o n s i s t s l e a s t
h u n k
n o v e r l a i d l o a d f i l e
c o n t a i n s r o o t n o d e ,
w h i c h r e s i d e n t
m e m o r y t i m e
t h a t
p r o g r a m r u n n i n g , n u m b e r o v e r l a y n o d e s w h i c h b r o u g h t
i n t o
m e m o r y r e q u i r e d .
2 . 2 O b j e c t F i l e S t r u c t u r e
n
o b j e c t
f i l e i s u t u t o f t h e a s s e m b l e r l a n g u a g e t r a n s l a t o r . T o o b j e c t f i l e
m u s t
f i r s t r e s o l v e t h e e x t e r n a l
r e f e r e n c e s . t h i s , p a s s o b j e c t f i l e t h r o u g h
l i n k e r .
n
o b j e c t
f i l e
c o n s i s t s m o r e p r o g r a m u n i t s . E a c h p r o g r a m u n i t s t a r t s w i t h a h e a d e r
f o l l o w e d
s e r i e s
h u n k s
j o i n e d e n d ,
e a c h
w h i c h
c o n t a i n s
n u m b e r
b l o c k s
v a r i o u s
t y p e s .
E a c h b l o c k s t a r t s w i t h l o n g w o r d
w h i c h
d e f i n e s
t y p e ,
t h i s f o l l o w e d
z e r o m o r e
a d d i t i o n a l l o n g w o r d s . N o t e
t h a t
e a c h b l o c k a l w a y s
r o u n d e d
t h e n e a r e s t
l o n g w o r d
b o u n d a r y
T h e
p r o g r a m u n i t h e a d e r a l s o b l o c k w i t h t h i s f o r m a t .
T h e
f o r m a t
p r o g r a m u n i t f o l l o w s :
P r o g r a m
u n i t h e a d e r
b l o c k
H u n k s
7/25/2019 AmigaDOS Technical Reference Manual
19/56
A m i g a D O S T e c h n i c a l R e f e r e n c e M a n u a l A m i g a B i n a r y F i l e
S t r u c t u r e
T h e b a s i c f o r m a t h u n k f o l l o w s :
u n k n a m e
b l o c k
R e l o c a t a b l e
b l o c k
R e l o c a t i o n
i n f o r m a t i o n
b l o c k
E x t e r n a l
s y m b o l
i n f o r m a t i o n
b l o c k
S y m b o l t a b l e
b l o c k
D e b u g
b l o c k
E n d
b l o c k
Y o u
m a y o m i t
t h e s e
b l o c k t y p e s , e x c e p t b l o c k .
T h e f o l l o w i n g
s u b s e c t i o n s
d e s c r i b e f o r m a t e a c h
t h e s e
b l o c k s . T h e
v a l u e
o f t h e t y p e
w o r d
a p p e a r s
d e c i m a l
a n d a f t e r t h e t y p e
n a m e , e x a m p l e , h u n k u n i t v a l u e d e c i m a l
i n h e x .
2 . 2 . 1 h u n k _ u n i t 9 9 9 / 3 E 7
T h i s s p e c i f i e s s t a r t
p r o g r a m
u n i t .
c o n s i s t s t y p e
w o r d , f o l l o w e d
l e n g t h
t h e u n i t
n a m e
l o n g w o r d s ,
f o l l o w e d
n a m e i t s e l f p a d d e d a
l o n g w o r d
b o u n d a r y
w i t h
z e r o s ,
r e q u i r e d .
d i a g r a m a t i c f o r m , t h e f o r m a t f o l l o w s :
h u n k _ u n i t
l o n g w o r d s
n m
F i g u r e 2 - A : H u n k _ u n i t 9 9 9 / 3 E 7
2 . 2 . 2 h u n k n a m e 1 0 0 0 / 3 E 8
T h i s d e f i n e s n a m e h u n k . N a m e s o p t i o n a l ; l i n k e r f i n d s m o r e n a m e d h u n k s w i t h
s a m e n a m e ,
c o m b i n e s
h u n k s
i n t o
s i n g l e
h u n k .
N o t e
t h a t
p r o g r a m
c o u n t e r
r e l a t i v e e x t e r n a l
r e f e r e n c e s
o n l y r e s o l v e d b e t w e e n h u n k s w i t h s a m e n a m e .
A n y
e x t e r n a l
r e f e r e n c e s
l o a d f o r m a t f i l e b e t w e e n d i f f e r e n t h u n k s a n d r e q u i r e
r e l o c a t a b l e
r e f e r e n c e s ;
a l t h o u g h , a s t h e
l o a d e r
s c a t t e r l o a d s t h e
h u n k s
i n t o m e m o r y , y o u c a n n o t a s s u m e
t h a t
t h e y a r e w i t h i n
3 2 K e a c h
o t h e r . N o t e
t h a t t h e l e n g t h
l o n g w o r d s
a n d
n a m e
b l o c k , l i k e b l o c k s , r o u n d e d
u p l o n g w o r d b o u n d a r y b y p a d d i n g w i t h z e r o s . T h e f o r m a t f o l l o w s :
7/25/2019 AmigaDOS Technical Reference Manual
20/56
A m i g a B i n a r y F i l e
S t r u c t u r e
A m i g a D O S T e c h n i c a l R e f e r e n c e M a n u a l
h u n k _ n a m e
i n
l o n g w o r d s
n a m e
F i g u r e 2 - B : u n k n a m e 1 0 0 0 / 3 E 8
2 . 2 . 3
h u n k _ c o d e 1 0 0 1 / 3 E 9
T h i s
d e f i n e s b l o c k c o d e t h a t l o a d e d i n t o m e m o r y a n d p o s s i b l y r e l o c a t e d . f o r m a t
f o l l o w s :
h u n k c o d e
l o n g w o r d s
c o d e
F i g u r e
1 - C : H u n k _ c o d e
1 0 0 1 / 3 E 9
2 . 2 . 4 h u n k _ d a t a
1 0 0 2 / 3 E A
T h i s
d e f i n e s b l o c k
i n i t i a l i z e d d a t a
w h i c h l o a d e d
i n t o m e m o r y
a n d p o s s i b l y r e l o c a t e d .
T h e
l i n k e r s h o u l d
a l t e r
t h e s e b l o c k s t h e y p a r t
o v e r l a y
n o d e , m a y n e e d
r e r e a d
t h e m
f r o m d i s k d u r i n g o v e r l a y h a n d l i n g . T h e f o r m a t f o l l o w s :
7/25/2019 AmigaDOS Technical Reference Manual
21/56
A m i g a D O S T e c h n i c a l R e f e r e n c e
M a n u a l
A m i g a B i n a r y F i l e S t r u c t u r e
h u n k _ d a t a
N
l o n g w o r d s
d a t a
F i g u r e I D : H u n k _ d a t a 1 0 0 2 / 3 E A
2 . 2 . 5 h u n k _ b s s 1 0 0 3 / 3 E B
T h i s s p e c i f i e s b l o c k u n i n i t i a l i z e d w o r k s p a c e
w h i c h a l l o c a t e d
b y
l o a d e r
b l o c k s u s e d
s u c h
t h i n g s s t a c k s
a n d
F O R T R N O M M O N
b l o c k s . p o s s i b l e
r e l o c a t e i n s i d e
a
b l o c k s y m b o l s c a n d e f i n e d w i t h i n o n e .
f o r m a t f o l l o w s :
h u n k b s s
F i g u r e I E : H u n k _ b s s 1 0 0 3 / 3 E B
w h e r e
N
s i z e
b l o c k
y o u
r e q u i r e
l o n g w o r d s .
T h e
m e m o r y
u s e d
b s s b l o c k s z e r o e d
b y
l o a d e r w h e n a l l o c a t e d .
T h e r e l o c a t a b l e b l o c k w i t h i n h u n k m u s t b e o n e h u n k c o d e h u n k d a t a h u n k b s s .
2 . 2 . 6
h u n k _ r e l o c 3 2
1 0 0 4 / 3 E C
h u n k _ r e l o c 3 2 b l o c k s p e c i f i e s r e l o c a t i o n t h a t l i n k e r p e r f o r m w i t h i n c u r r e n t
r e l o c a t a b l e
b l o c k .
T h e r e l o c a t i o n i n f o r m a t i o n
a
r e f e r e n c e l o c a t i o n w i t h i n
c u r r e n t h u n k
a n y
o t h e r
w i t h i n p r o g r a m
u n i t .
E a c h h u n k w i t h i n t h e u n i t n u m b e r e d , s t a r t i n g f r o m
z e r o .
T h e
l i n k e r
a d d s a d d r e s s
b a s e s p e c i f i e d h u n k
e a c h o f t h e l o n g w o r d s p r e c e d i n g
r e l o c a t a b l e
b l o c k
t h a t
l i s t
o f f s e t s i n d i c a t e s .
T h e
o f f s e t
l i s t
o n l y
i n c l u d e s r e f e r e n c e d
h u n k s a n d
a
c o u n t o f z e r o i n d i c a t e s e n d l i s t f o r m a t f o l l o w s :
7/25/2019 AmigaDOS Technical Reference Manual
22/56
A m i g a B i n a r y F i l e
S t r u c t u r e
m i g a O S T e c h n i c a l
R e f e r e n c e
M a n u a l
h u n k _ r e l o c 3 2
N l
H u n k N u m b e r
N l
o f f s e t s
N 2
H u n k N u m b e r
o f f s e t s
N n
H u n k
N u m b e r
n
N n
o f f s e t s
F i g u r e 2 - F : H u n k _ r e l o c 3 2
1 0 0 4 / 3 E C
2 . 2 . 7
h u n k _ r e l o c l 6
1 0 0 5 / 3 E D
h u n k _ r e l o c l 6
b l o c k
s p e c i f i e s
r e l o c a t i o n
t h a t t h e
l i n k e r
s h o u l d
p e r f o r m
w i t h i n c u r r e n t
r e l o c a t a b l e
b l o c k .
T h e r e l o c a t i o n
i n f o r m a t i o n r e f e r s
p r o g r a m c o u n t e r r e l a t i v e r e f e r e n c e s
o t h e r h u n k s p r o g r a m u n i t . T h e f o r m a t
s a m e h u n k
r e l o c 3 2 b l o c k s . T h e s e r e f e r e n c e s
m u s t h u n k s w i t h s a m e n a m e , t h a t l i n k e r
p e r f o r m
t h e r e l o c a t i o n w h i l e c o a g u l a t e s
t h a t g a t h e r s t o g e t h e r s i m i l a r l y n a m e d h u n k s .
7/25/2019 AmigaDOS Technical Reference Manual
23/56
m i g a O S T e c h n i c a l
R e f e r e n c e M a n u a l
A m i g a
B i n a r y
F i l e S t r u c t u r e
2 . 2 . 8
h u n k _ r e l o c 8 1 0 0 6 / 3 E E
h u n k r e l o c 8 b l o c k s p e c i f i e s r e l o c a t i o n t h a t t h e l i n k e r s h o u l d p e r f o r m w i t h i n
c u r r e n t
r e l o c a t a b l e b l o c k . r e l o c a t i o n i n f o r m a t i o n r e f e r s
p r o g r a m
c o u n t e r r e l a t i v e r e f e r e n c e s
o t h e r h u n k s p r o g r a m u n i t . T h e f o r m a t
s a m e
h u n k r e l o c 3 2 b l o c k s . T h e s e r e f e r e n c e s
m u s t h u n k s w i t h s a m e
n a m e ,
s o t h a t t h e l i n k e r p e r f o r m r e l o c a t i o n w h i l e c o a g u l a t e s
s i m i l a r l y n a m e d h u n k s .
2 . 2 . 9 h u n k _ e x t 1 0 0 7 / 3 E F
T h i s b l o c k c o n t a i n s e x t e r n a l s y m b o l i n f o r m a t i o n . c o n t a i n s e n t r i e s b o t h d e f i n i n g s y m b o l s l i s t i n g
r e f e r e n c e s t h e m . f o r m a t f o l l o w s :
h u n k _ e x t
S y m b o l
d a t a
u n i t
S y m b o l
d a t a
u n i t
F i g u r e 2 - G :
H u n k _ e x t 1 0 0 7 / 3 E F
w h e r e
t h e r e s y m b o l
d a t a
u n i t 1 e a c h
s y m b o l u s e d ,
b l o c k e n d s
w i t h
z e r o w o r d .
E a c h
s y m b o l d a t a
u n i t
c o n s i s t s t y p e
b y t e , s y m b o l n a m e l e n g t h
t h r e e
b y t e s ) , s y m b o l n a m e
i t s e l f
f u r t h e r
d a t a .
Y o u
s p e c i f y
s y m b o l
n a m e l e n g t h l o n g w o r d s ,
a n d p a d
n a m e
f i e l d t o
n e x t
l o n g w o r d
b o u n d a r y
w i t h z e r o s .
T h e t y p e b y t e s p e c i f i e s w h e t h e r s y m b o l d e f i n i t i o n r e f e r e n c e , e t c . m i g a O S u s e s
v a l u e s
0 - 1 2 7 s y m b o l d e f i n i t i o n s , 2 8 2 5 5 r e f e r e n c e s .
7/25/2019 AmigaDOS Technical Reference Manual
24/56
A m i g a B i n a r y F i l e S t r u c t u r e m i g a D O S
T e c h n i c a l
R e f e r e n c e M a n u a l
m o m e n t v a l u e s
a r e a s f o l l o w s :
N a m e V a l u e M e a n i n g
s y m b
e x t _ d e f
e x t _ r e f 3 2
c o m m o n
r e f l 6
r e f 8
S y m b o l
t a b l e s y m b o l b l o c k b e l o w
R e l o c a t a b l e
d e f i n i t i o n
A b s o l u t e
d e f i n i t i o n
R e s i d e n t
l i b r a r y
d e f i n i t i o n
3 2 b i t r e f e r e n c e s y m b o l
3 2 b i t r e f e r e n c e C O M M O N
1 6 b i t r e f e r e n c e s y m b o l
8 b i t r e f e r e n c e
s y m b o l
T a b l e 2 - A :
E x t e r n a l
S y m b o l s
T h e l i n k e r f a u l t s o t h e r v a l u e s . t h e r e d a t a w o r d , v a l u e o f t h e s y m b o l . T h i s
m e r e l y o f f s e t s y m b o l f r o m s t a r t
h u n k .
t h e r e a l s o d a t a v a l u e ,
w h i c h
t h e a b s o l u t e
v a l u e a d d e d i n t o c o d e . T h e l i n k e r t r e a t s v a l u e r e s i n
s a m e w a y
d e f , e x c e p t t h a t
a s s u m e s
h u n k n a m e
l i b r a r y
n a m e c o p i e s
t h i s
n a m e
t h r o u g h
t h e l o a d
f i l e
t y p e
b y t e s
r e f 3 2 ,
e x t r e f l 6
r e f 8
f o l l o w e d
c o u n t l i s t r e f e r e n c e s ,
a g a i n
s p e c i f i e d o f f s e t s f r o m
s t a r t
o f t h e h u n k .
t y p e e x t c o m m o n
s a m e
s t r u c t u r e e x c e p t t h a t h a s a O O N b l o c k s i z e b e f o r e t h e
c o u n t .
T h e
l i n k e r t r e a t s
s y m b o l s
s p e c i f i e d
c o m m o n
f o l l o w i n g w a y :
e n c o u n t e r s
d e f i n i t i o n
a s y m b o l
r e f e r e n c e d c o m m o n t h e n
u s e s
t h i s v a l u e
o n l y t i m e
d e f i n i t i o n s h o u l d a r i s e
F O R T R N B l o c k
D a t a
c a s e .
O t h e r w i s e a l l o c a t e s
s u i t a b l e s p a c e u s i n g m a x i m u m
s i z e
s p e c i f i e d e a c h
c o m m o n s y m b o l
r e f e r e n c e .
T h e l i n k e r h a n d l e s e x t e r n a l
r e f e r e n c e s
d i f f e r e n t l y
a c c o r d i n g
t y p e c o r r e s p o n d i n g
d e f i n i t i o n . a d d s a b s o l u t e v a l u e s l o n g ,
w o r d b y t e
f i e l d g i v e s
e r r o r
t h e s i g n e d
v a l u e
d o e s f i t
R e l o c a t a b l e
3 2 b i t r e f e r e n c e s h a v e s y m b o l v a l u e
a d d e d f i e l d a n d r e l o c a t i o n
r e c o r d
p r o d u c e d l o a d e r . 8 b i t
r e f e r e n c e s a r e h a n d l e d P C r e l a t i v e r e f e r e n c e s m a y
o n l y
m a d e
h u n k s w i t h
s a m e
n a m e
t h a t t h e h u n k s c o a g u l a t e d
l i n k e r
b e f o r e t h e y
l o a d e d . a l s o
p o s s i b l e
P C r e l a t i v e r e f e r e n c e s f a i l t h e r e f e r e n c e a n d d e f i n i t i o n
f a r a p a r t . T h e l i n k e r m a y o n l y a c c e s s r e s i d e n t l i b r a r y d e f i n i t i o n s w i t h 3 2 b i t r e f e r e n c e s , w h i c h t h e n
h a n d l e s r e l o c a t a b l e 3 2 b i t r e f e r e n c e s . T h e s y m b o l d a t a u n i t f o r m a t s a r e a s f o l l o w s :
e x t _ d e f a b s r e s
t y p N a m e L e n g t h N L
N L
l o n g w o r d s
s y m b o l
n a m e
S y m b o l v a l u e
F i g u r e 2 - H :
S y m b o l
D a t a U n i t
7/25/2019 AmigaDOS Technical Reference Manual
25/56
A m i g a D O S T e c h n i c a l
R e f e r e n c e
M a n u a l A m i g a B i n a r y S t r u c t u r e
e x t _ r e f 3 2 6 8
t y p N a m e L e n g t h N L
N L
l o n g w o r d s
o f
s y m b o l n a m e
C o u n t o f r e f e r e n c e s
N R
N R
l o n g w o r d s
o f s y m b o l
r e f e r e n c e s
e x t _ c o m m o n
1 3 0 N a m e L e n g t h N L
N L l o n g w o r d s
o f s y m b o l n a m e
S i z e o f c o m m o n b l o c k
C o u n t
o f
r e f e r e n c e s N R
N R
l o n g w o r d s
o f s y m b o l
r e f e r e n c e s
c o n t i n u a t i o n
F i g u r e
7/25/2019 AmigaDOS Technical Reference Manual
26/56
A m i g a
B i n a r y
F i l e
S t r u c t u r e
A m i g a D O S T e c h n i c a l R e f e r e n c e
M a n u a l
2 . 2 . 1 0
h u n k _ s y m b o l
1 0 0 8 / 3 F 0
Y o u t h i s
b l o c k a t t a c h s y m b o l t a b l e h u n k
t h a t s y m b o l i c
d e b u g g e r
c o d e . l i n k e r p a s s e s s y m b o l t a b l e b l o c k s t h r o u g h a t t a c h e d h u n k a n d , h u n k s
c o a g u l a t e d ,
c o a g u l a t e s s y m b o l
t a b l e s . T h e l o a d e r d o e s n o t l o a d
s y m b o l
t a b l e b l o c k s i n t o m e m o r y ;
w h e n
t h i s r e q u i r e d , d e b u g g e r
e x p e c t e d
r e a d
t h e l o a d f i l e T h e f o r m a t
s y m b o l t a b l e
b l o c k s a m e e x t e r n a l
s y m b o l i n f o r m a t i o n b l o c k
w i t h
s y m b o l
t a b l e
u n i t s e a c h n a m e
u s e .
T h e t y p e c o d e o f z e r o u s e d w i t h i n s y m b o l d a t a u n i t s . T h e v a l u e s y m b o l
o f f s e t
s y m b o l
f r o m s t a r t
h u n k T h u s f o r m a t
f o l l o w s :
h u n k s y m b o l
y m b o l
d a t a
u n i t
y m b o l
d a t a
u n i t
F i g u r e H u n k _ s y m b o l
1 0 0 8 / 3 F O
w h e r e e a c h s y m b o l d a t a u n i t f o l l o w i n g f o r m a t .
N a m e
L e n g t h
N L
N L l o n g w o r d s
o f s y m b o l n a m e
S y m b o l v a l u e
F i g u r e 2 - J : S y m b o l D a t a
U n i t
7/25/2019 AmigaDOS Technical Reference Manual
27/56
A m i g a D O S T e c h n i c a l R e f e r e n c e
M a n u a l
A m i g a B i n a r y F i l e S t r u c t u r e
2 . 2 . 1 1
h u n k _ d e b u g 1 0 0 9 / 3 F 1
A m i g a D O S
p r o v i d e s t h e d e b u g
b l o c k t h a t
a n
o b j e c t f i l e
c a n
c a r r y f u r t h e r
d e b u g g i n g
i n f o r m a t i o n .
e x a m p l e ,
h i g h l e v e l l a n g u a g e c o m p i l e r s m a y n e e d m a i n t a i n d e s c r i p t i o n s o f
d a t a
s t r u c t u r e s
b y h i g h l e v e l d e b u g g e r s .
T h e
d e b u g b l o c k
m a y
h o l d t h i s
i n f o r m a t i o n . A m i g a D O S
d o e s n o t
i m p o s e
f o r m a t
d e b u g
b l o c k e x c e p t t h a t m u s t s t a r t w i t h h u n k d e b u g l o n g w o r d a n d b e f o l l o w e d
a l o n g w o r d t h a t
i n d i c a t e s s i z e t h e b l o c k l o n g w o r d s .
T h u s
f o r m a t f o l l o w s :
h u n k d e u g
l o n g w o r d s
d e b u g
d a t a
F i g u r e
2 - K :
H u n k _ d e b u g 1 0 0 9 / 3 F 1
2 . 2 . 1 2 h u n k _ e n d 1 0 1 0 / 3 F 2
T h i s s p e c i f i e s e n d a h u n k . c o n s i s t s o f s i n g l e l o n g w o r d , h u n k e n d .
2 . 3 L o a d F i l e s
T h e f o r m a t
l o a d
f i l e t h a t o u t p u t f r o m
l i n k e r
s i m i l a r t h a t o f a n o b j e c t f i l e .
p a r t i c u l a r , c o n s i s t s o f n u m b e r h u n k s w i t h a
s i m i l a r
f o r m a t t h o s e a n o b j e c t
f i l e .
T h e
m a i n
d i f f e r e n c e t h a t t h e h u n k s n e v e r c o n t a i n a n e x t e r n a l s y m b o l i n f o r m a t i o n b l o c k , e x t e r n a l
s y m b o l s h a v e b e e n r e s o l v e d , a n d
p r o g r a m
u n i t i n f o r m a t i o n i n c l u d e d . s i m p l e l o a d f i l e
t h a t o v e r l a i d , f i l e c o n t a i n s a h e a d e r
b l o c k w h i c h
i n d i c a t e s t o t a l n u m b e r h u n k s
l o a d
f i l e
a n d a n y
r e s i d e n t l i b r a r i e s p r o g r a m r e f e r e n c e d . T h i s b l o c k
f o l l o w e d
h u n k s ,
w h i c h
m a y
r e s u l t o f
c o a g u l a t i n g n u m b e r i n p u t
h u n k s t h e y
h a d
s a m e
n a m e . T h i s
c o m p l e t e
s t r u c t u r e r e f e r r e d n o d e .
L o a d
f i l e s
m a y
a l s o c o n t a i n o v e r l a y
i n f o r m a t i o n . t h i s
c a s e ,
a n
o v e r l a y
t a b l e f o l l o w s p r i m a r y n o d e ,
s p e c i a l
b r e a k
b l o c k
s e p a r a t e s t h e
o v e r l a y n o d e s . T h u s
t h e l o a d f i l e s t r u c t u r e s u m m a r i z e d f o l l o w s , w h e r e
i t e m s m a r k e d
w i t h a n a s t e r i s k
o p t i o n a l .
P r i m a r y n o d e
O v e r l a y t a b l e b l o c k
O v e r l a y n o d e s s e p a r a t e d b y b r e a k b l o c k s
r e l o c a t i o n b l o c k s
w i t h i n h u n k s
a l w a y s t y p e h u n k r e l o c 3 2 ,
i n d i c a t e
r e l o c a t i o n
b e p e r f o r m e d l o a d
t i m e .
T h i s
i n c l u d e s b o t h r e l o c a t i o n
s p e c i f i e d w i t h h u n k r e l o c 3 2
b l o c k s
o b j e c t
f i l e e x t r a r e l o c a t i o n
r e q u i r e d t h e r e s o l u t i o n o f
e x t e r n a l
s y m b o l s .
2 - 1 1
7/25/2019 AmigaDOS Technical Reference Manual
28/56
A m i g a
B i n a r y
F i l e S t r u c t u r e
m i g a O S
T e c h n i c a l R e f e r e n c e
M a n u a l
E a c h e x t e r n a l r e f e r e n c e o b j e c t f i l e s i s
h a n d l e d
f o l l o w s . T h e l i n k e r s e a r c h e s t h e p r i m a r y i n p u t
m a t c h i n g e x t e r n a l d e f i n i t i o n .
d o e s f i n d
o n e ,
s e a r c h e s s c a n n e d
l i b r a r y
i n c l u d e s
l o a d e n t i r e p r o g r a m
u n i t w h e r e d e f i n i t i o n w a s d e f i n e d .
T h i s
m a y m a k e f u r t h e r
e x t e r n a l r e f e r e n c e s b e c o m e o u t s t a n d i n g . A t f i r s t p a s s ,
l i n k e r
k n o w s t h e e x t e r n a l
d e f i n i t i o n s t o t a l n u m b e r h u n k s t h a t g o i n g t o u s e . T h e s e i n c l u d e t h e h u n k s w i t h i n
l o a d h u n k s a s s o c i a t e d w i t h
r e s i d e n t l i b r a r i e s . O n
s e c o n d p a s s , l i n k e r
p a t c h e s
l o n g w o r d
e x t e r n a l
r e f e r e n c e s t h a t
t h e y
r e f e r r e q u i r e d o f f s e t w i t h i n h u n k
w h i c h
d e f i n e s
s y m b o l
p r o d u c e s
e x t r a e n t r y
r e l o c a t i o n
b l o c k
t h a t ,
w h e n
h u n k s
l o a d e d , a d d s e a c h e x t e r n a l r e f e r e n c e t h e b a s e a d d r e s s o f t h e h u n k d e f i n i n g t h e s y m b o l T h i s
m e c h a n i s m a l s o w o r k s r e s i d e n t
l i b r a r i e s .
B e f o r e t h e l o a d e r m a k e t h e s e
c r o s s
h u n k
r e f e r e n c e s ,
n e e d s
k n o w
n u m b e r a n d s i z e o f t h e
h u n k s t h e n o d e s .
T h e
h e a d e r b l o c k
p r o v i d e s t h i s
i n f o r m a t i o n ,
d e s c r i b e d
b e l o w . T h e
l o a d
f i l e m a y
a l s o
c o n t a i n o v e r l a y
i n f o r m a t i o n
o v e r l a y t a b l e b l o c k . B r e a k b l o c k s s e p a r a t e
o v e r l a y
n o d e s .
2 . 3 . 1 h u n k _ h e a d e r 1 0 1 1 / 3 F 3
T h i s
b l o c k
g i v e s i n f o r m a t i o n a b o u t n u m b e r h u n k s t h a t
l o a d e d , a n d
s i z e e a c h o n e .
a l s o
c o n t a i n s
n a m e s
r e s i d e n t
l i b r a r i e s
w h i c h
m u s t
o p e n e d
w h e n
n o d e
l o a d e d .
h u n k _ h e a d e r
N l
N l
l o n g w o r d s
o f
n a m e
l o n g w o r d s
o f n a m e
T a b l e
s i z e
F i r s t H u n k
F
L a s t H u n k
L
F
s i z e s
F i g u r e 2 - L : H u n k _ h e a d e r 1 0 1 1 / 3 F 3
7/25/2019 AmigaDOS Technical Reference Manual
29/56
A m i g a D O S T e c h n i c a l R e f e r e n c e M a n u a l A m i g a B i n a r y F i l e S t r u c t u r e
T h e f o r m a t h u n k h e a d e r d e s c r i b e d F i g u r e 2 - L .
T h e f i r s t
p a r t h e a d e r b l o c k c o n t a i n s
n a m e s o f r e s i d e n t l i b r a r i e s
t h a t
t h e l o a d e r m u s t o p e n w h e n t h i s n o d e l o a d e d .
E a c h
n a m e
c o n s i s t s
l o n g
w o r d i n d i c a t i n g l e n g t h o f t h e n a m e l o n g w o r d s t e x t n a m e p a d d e d l o n g w o r d
b o u n d a r y w i t h z e r o s . T h e n a m e l i s t e n d s w i t h a l o n g w o r d z e r o . T h e n a m e s o r d e r
w h i c h
t h e l o a d e r o p e n t h e m .
W h e n l o a d s a p r i m a r y n o d e , t h e l o a d e r a l l o c a t e s t a b l e i n m e m o r y w h i c h u s e s k e e p t r a c k
h u n k s
l o a d e d .
T h i s
t a b l e
m u s t
l a r g e
e n o u g h
h u n k s
l o a d
f i l e
i n c l u d i n g t h e
h u n k s i n o v e r l a y s . T h e l o a d e r a l s o
u s e s
t h i s t a b l e k e e p a c o p y o f t h e h u n k t a b l e s a s s o c i a t e d w i t h
r e s i d e n t l i b r a r i e s . T h e n e x t l o n g w o r d i n t h e h e a d e r b l o c k t h e r e f o r e t h i s t a b l e s i z e , w h i c h e q u a l
m a x i m u m
h u n k
n u m b e r r e f e r e n e p l u s
o n e .
T h e
n e x t l o n g w o r d
F
r e f e r s f i r s t s l o t h u n k
t a b l e t h e l o a d e r s h o u l d u s e w h e n l o a d i n g .
p r i m a r y n o d e t h a t d o e s n o t
r e f e r e n c e
r e s i d e n t
l i b r a r y ,
t h i s v a l u e
z e r o ; o t h e r w i s e , n u m b e r
h u n k s
r e s i d e n t l i b r a r i e s .
T h e l o a d e r
c o p i e s
t h e s e
e n t r i e s
f r o m
h u n k t a b l e
a s s o c i a t e d w i t h
l i b r a r y
f o l l o w i n g
l i b r a r y
o p e n
c a l l . a n
o v e r l a y
n o d e ,
t h i s
v a l u e
n u m b e r h u n k s
r e s i d e n t l i b r a r i e s
p l u s t h e
n u m b e r h u n k s
a l r e a d y
l o a d e d a n c e s t o r n o d e s .
T h e n e x t l o n g w o r d L r e f e r s l a s t
h u n k s l o t
l o a d e r l o a d
p a r t t h i s
l o a d e r c a l l . T h e t o t a l
n u m b e r h u n k s l o a d e d t h e r e f o r e
L
F
T h e h e a d e r b l o c k c o n t i n u e s w i t h L F
l o n g w o r d s
w h i c h i n d i c a t e s i z e s e a c h h u n k w h i c h
l o a d e d a s
p a r t
t h i s c a l l .
T h i s
e n a b l e s t h e l o a d e r p r e a l l o c a t e t h e s p a c e h u n k s a n d h e n c e
p e r f o r m r e l o c a t i o n b e t w e e n h u n k s w h i c h r e q u i r e d a s t h e y a r e l o a d e d . O n e h u n k m a y t h e b s s
h u n k
w i t h
s i z e g i v e n a s z e r o ; i n t h i s
c a s e
l o a d e r u s e s a n o p e r a t i n g
s y s t e m
v a r i a b l e g i v e t h e s i z e
d e s c r i b e d h u n k b s s a b o v e .
2 . 3 . 2 h u n k _ o v e r l a y 1 0 1 3 / 3 F 5
o v e r l a y
t a b l e
b l o c k i n d i c a t e s
l o a d e r t h a t
l o a d i n g
o v e r l a i d p r o g r a m c o n t a i n s
d a t a
o v e r l a y
t a b l e . O n e n c o u n t e r i n g t h e l o a d e r
s e t s
u p t a b l e ,
a n d r e t u r n s ,
l e a v i n g t h e
i n p u t c h a n n e l t h e l o a d f i l e s t i l l o p e n . f o r m a t f o l l o w s :
7/25/2019 AmigaDOS Technical Reference Manual
30/56
A m i g a B i n a r y
F i l e
S t r u c t u r e
A m i g a D O S T e c h n i c a l
R e f e r e n c e
M a n u a l
h u n k _ o v e r l a y
T a b l e s i z e
M
M
z e r o s
O v e r l a y
d a t a
t a b l e
F i g u r e 2 - M : H u n k _ o v e r l a y ( 1 0 1 3 / 3 F 5 )
T h e
f i r s t
l o n g w o r d u p p e r
b o u n d c o m p l e t e
o v e r l a y t a b l e l o n g w o r d s .
m a x i m u m l e v e l o v e r l a y t r e e u s e s w i t h
r o o t
l e v e l b e i n g z e r o .
T h e
n e x t
+ 1
w o r d s
f o r m t h e o r d i n a t e t a b l e s e c t i o n o f o v e r l a y t a b l e .
r e s t t h e b l o c k o v e r l a y
d a t a t a b l e , s e r i e s e i g h t - w o r d
e n t r i e s ,
e a c h
o v e r l a y
s y m b o l .
0
m a x i m u m
o v e r l a y
n u m b e r
u s e d ,
t h e n
s i z e o v e r l a y
d a t a t a b l e
1 * 8 ,
s i n c e
f i r s t o v e r l a y n u m b e r z e r o . o v e r l a y
t a b l e
s i z e
e q u a l + 1 ) * 8 +
2 . 3 . 3 h u n k _ b r e a k ( 1 0 1 4 / 3 F 6 )
A b r e a k
b l o c k
i n d i c a t e s o v e r l a y n o d e .
c o n s i s t s s i n g l e
l o n g w o r d , h u n k b r e a k .
2 . 4 E x a m p l e s
T h e f o l l o w i n g s i m p l e
s e c t i o n s
c o d e s h o w h o w t h e l i n k e r l o a d e r h a n d l e
e x t e r n a l
s y m b o l s .
e x a m p l e ,
I D N T A
X R E F
B I L L Y , J O H N
X D E F M A R Y
T h e n e x t l o n g w o r d r e q u i r e s r e l o c a t i o n
0 0 0 0 0 0 0 0
0 0 0 8 D C . L
F R E D
0 0 0 4 1 2 3 C 0 0 F F M O V E . B
F F , D 1
0 0 0 8 7 0 0 1
F R E D M O V E Q
l , D 0
E x t e r n a l
e n t r y p o i n t
0 0 0 A 1 4 E 7 1 M A R Y N O P
0 0 0 C 1 4 E B 9 0 0 0 0 0 0 0 0
B I L L Y
C a l l e x t e r n a l
0 0 1 2 2 2 3 9
0 0 0 0 0 0 0 0
M O V E . L
J O H N , D 1
R e f e r e n c e
e x t e r n a l
E N D
2 - 1 4
7/25/2019 AmigaDOS Technical Reference Manual
31/56
A m i g a D O S T e c h n i c a l R e f e r e n c e
M a n u a l A m i g a B i n a r y S t r u c t u r e
p r o d u c e s t h e f o l l o w i n g
o b j e c t
h u n k _ u n i t
0 0 0 0 0 0 0 1
S i z e l o n g w o r d s
4 1 0 0 0 0 0 0
N a m e , p a d d e d
l w o r d
h u n k _ _ c o d e
0 0 0 0 0 0 0 6
S i z e l o n g w o r d s
0 0 0 0 0 0 0 8 1 2 3 C 0 0 F F 7 0 0 1 4 E 7 1 4 E B 9 0 0 0 0 0 0 0 0 2 2 3 9 0 0 0 0 0 0 0 0
h u n k _ r e l o c 3 2
0 0 0 0 0 0 0 1
N u m b e r h u n k
0 0 0 0 0 0 0 0 H u n k
0 0 0 0 0 0 0 0 O f f s e t t o b e
r e l o c a t e d
0 0 0 0 0 0 0 0 Z e r o t o m a r k e n d
h u n k _ e x t
0 1 0 0 0 0 0 1
X D E F ,
S i z e
l o n g w o r d
4 D 4 1 5 2 5 9
M A R Y
0 0 0 0 0 0 0 A O f f s e t d e f i n i t i o n
8 1 0 0 0 0 0 1
X R E F , S i z e l o n g w o r d
4 A 4 F 4 8 4 E J O H N
0 0 0 0 0 0 0 1
N u m b e r r e f e r e n c e s
0 0 0 0 0 0 1 4
O f f s e t r e f e r e n c e
8 1 0 0 0 0 0 2
X R E F ,
S i z e
l o n g w o r d s
4 2 4 9 4 C 4 C B I L L Y
5 9 0 0 0 0 0 0
z e r o s
t o p a d )
0 0 0 0 0 0 0 1 N u m b e r r e f e r e n c e s
0 0 0 0 0 0 0 E O f f s e t r e f e r e n c e
0 0 0 0 0 0 0 0
E n d
e x t e r n a l b l o c k
h u n k _ e n d
m a t c h i n g
p r o g r a m
t o t h i s f o l l o w s
0 0 0 0 1
2 A 3 C
E x t e r n a l
0 0 0 6 1
4 E 7 1
E x t e r n a l
0 0 0 8 1 7 2 0 1
A A A A
e n t r y
e n t r y
C a l l e x t e r n a l
0 0 0 A 4 E F 9 0 0 0 0
A A A A
p o i n t
B I L L Y
p o i n t
J O H N
r e f e r e n c e
0 0 0 0
I D N T
X D E F
X R E F
M O V E . L
N O P
M O V E Q
J M P
E N D
B
B I L L Y , J O H N
M A R Y
A A A A A A A A , D 5
1 , D 1
M A R Y
c o r r e s p o n d i n g o u t p u t c o d e w o u l d
2 - 1 5
7/25/2019 AmigaDOS Technical Reference Manual
32/56
A m i g a
B i n a r y
F i l e S t r u c t u r e A m i g a D O S T e c h n i c a l R e f e r e n c e M a n u a l
h u n k _ u n i t
0 0 0 0 0 0 0 1
S i z e
l o n g w o r d s
4 2 0 0 0 0 0 0 U n i t n a m e
h u n k _ c o d e
0 0 0 0 0 0 0 4 S i z e
l o n g w o r d s
2 A 3 C A A A A
A A A A 4 E 7 1 7 2 0 1 4 E F 9
0 0 0 0 0 0 0 0
h u n k _ e x t
0 1 0 0 0 0 0 1
X D E F
S i z e l o n g w o r d
4 A 4 F 4 8 4 E
J O H N
0 0 0 0 0 0 0 8
O f f s e t d e f i n i t i o n
0 1 0 0 0 0 0 2 X D E F S i z e l o n g w o r d s
4 2 4 9 4 C 4 C B I L L Y
5 9 0 0 0 0 0 0
z e r o s t o p a d
0 0 0 0 0 0 0 6
O f f s e t d e f i n i t i o n
8 1 0 0 0 0 0 1 X R E F S i z e l o n g w o r d
4 D 4 1 5 2 5 9
M A R Y
0 0 0 0 0 0 0 1 N u m b e r r e f e r e n c e s
0 0 0 0 0 0 0 C O f f s e t r e f e r e n c e
0 0 0 0 0 0 0 0 E n d e x t e r n a l b l o c k
h u n k _ _ e n d
O n c e y o u
p a s s e d t h i s
t h r o u g h l i n k e r t h e l o a d w o u l d h a v e t h e f o l l o w i n g f o r m a t
h u n k _ J i e a d e r
0 0 0 0 0 0 0 0
N o h u n k n a m e
0 0 0 0 0 0 0 2 S i z e h u n k t a b l e
0 0 0 0 0 0 0 0 F i r s t h u n k
0 0 0 0 0 0 0 1 L a s t h u n k
0 0 0 0 0 0 0 6 S i z e h u n k
0 0 0 0 0 0 0 4 S i z e h u n k
h u n k _ _ c o d e
0 0 0 0 0 0 0 6
S i z e c o d e
l o n g w o r d s
0 0 0 0 0 0 0 8 1 2 3 C 0 0 F F 7 0 0 1 4 E 7 1 4 E B 9 0 0 0 0 0 0 0 6 2 2 3 9 0 0 0 0 0 0 0 8
h u n k _ r e l o c 3 2
0 0 0 0 0 0 0 1 N u m b e r h u n k
0 0 0 0 0 0 0 0 H u n k
0 0 0 0 0 0 0 0 O f f s e t t o b e r e l o c a t e d
0 0 0 0 0 0 0 2
N u m b e r h u n k
0 0 0 0 0 0 0 1
H u n k
0 0 0 0 0 0 1 4 O f f s e t b e r e l o c a t e d
0 0 0 0 0 0 0 E O f f s e t r e l o c a t e d
0 0 0 0 0 0 0 0
Z e r o
m a r k
e n d
h u n k _ e n d
h u n k _ _ c o d e
0 0 0 0 0 0 0 4 S i z e c o d e l o n g w o r d s
2 A 3 C A A A A A A A A 4 E 7 1
7 2 0 1 4 E F 9
0 0 0 0 0 0 0 A
h u n k _ r e l o c 3 2
0 0 0 0 0 0 0 1 N u m b e r h u n k
0 0 0 0 0 0 0 0
H u n k
0 0 0 0 0 0 0 C O f f s e t t o b e r e l o c a t e d
0 0 0 0 0 0 0 0 Z e r o m a r k
h u n k e n d
2 - 1 6
7/25/2019 AmigaDOS Technical Reference Manual
33/56
A m i g a D O S T e c h n i c a l R e f e r e n c e M a n u a l
A m i g a
B i n a r y F i l e
S t r u c t u r e
W h e n t h e l o a d e r l o a d s t h i s c o d e i n t o m e m o r y r e a d s h e a d e r b l o c k a n d
a l l o c a t e s
h u n k t a b l e
l o n g w o r d s .
t h e n a l l o c a t e s s p a c e
c a l l i n g
o p e r a t i n g
s y s t e m
r o u t i n e r e q u e s t i n g a r e a s
s i z e s a n d
l o n g w o r d s r e s p e c t i v e l y .
A s s u m i n g
t w o
a r e a s r e t u r n e d
w e r e
l o c a t i o n s 3 0 0 0
a n d
7 0 0 0 h u n k t a b l e
w o u l d
c o n t a i n 3 0 0 0 7 0 0 0 .
T h e l o a d e r r e a d s f i r s t h u n k a n d p l a c e s t h e c o d e
3 0 0 0 ;
t h e n h a n d l e s r e l o c a t i o n . T h e f i r s t
i t e m
s p e c i f i e s r e l o c a t i o n w i t h r e s p e c t h u n k a d d s 3 0 0 0 l o n g w o r d o f f s e t 0 c o n v e r t i n g t h e
v a l u e
s t o r e d
t h e r e
f r o m 0 0 0 0 0 0 0 8
0 0 0 0 3 0 0 8 .
T h e
s e c o n d i t e m
s p e c i f i e s
r e l o c a t i o n
w i t h
r e s p e c t
h u n k A l t h o u g h t h i s
l o a d e d
w e k n o w t h a t w i l l l o a d e d l o c a t i o n 7 0 0 0 t h i s
a d d e d
t h e v a l u e s
s t o r e d 3 0 0 E a n d 3 0 1 4 . N o t e t h a t l i n k e r a l r e a d y i n s e r t e d o f f s e t s 0 0 0 0 0 0 0 6
a n d
0 0 0 0 0 0 0 8 i n t o
t h e r e f e r e n c e s
h u n k
t h a t t h e y
r e f e r
c o r r e c t
o f f s e t h u n k
d e f i n i t i o n .
T h u s
l o n g w o r d s s p e c i f y i n g t h e
e x t e r n a l r e f e r e n c e s e n d
u p c o n t a i n i n g v a l u e s
0 0 0 0 7 0 0 6
0 0 0 0 7 0 0 8 w h i c h c o r r e c t p l a c e o n c e s e c o n d h u n k l o a d e d .
I n t h e s a m e w a y t h e l o a d e r l o a d s t h e s e c o n d h u n k i n t o m e m o r y a t l o c a t i o n 7 0 0 0 a n d t h e r e l o c a t i o n
i n f o r m a t i o n
s p e c i f i e d a l t e r s l o n g w o r d
7 0 0 C f r o m
O O O O O O O A
o f f s e t R Y f i r s t
h u n k
0 0 0 0 3 0 0 A
a d d r e s s R Y
m e m o r y .
T h e l o a d e r h a n d l e s
r e f e r e n c e s
r e s i d e n t l i b r a r i e s i n s a m e w a y e x c e p t
t h a t
a f t e r h a s o p e n e d
l i b r a r y
c o p i e s t h e
l o c a t i o n s o f
h u n k s
c o m p r i s i n g
l i b r a r y i n t o s t a r t
o f t h e
h u n k
t a b l e .
t h e n p a t c h e s r e f e r e n c e s r e s i d e n t l i b r a r y t o r e f e r t o c o r r e c t
p l a c e
b y a d d i n g b a s e
l i b r a r y h u n k s .
2 - 1 7
7/25/2019 AmigaDOS Technical Reference Manual
34/56
7/25/2019 AmigaDOS Technical Reference Manual
35/56
h a p t e r
: m i g a O S a t a S t r u c t u r e s
T h i s
c h a p t e r d e s c r i b e s
m i g a O S d a t a
s t r u c t u r e s
m e m o r y f i l e s
d o e s d e s c r i b e
l a y o u t d i s k w h i c h d e s c r i b e d h a p t e r
7/25/2019 AmigaDOS Technical Reference Manual
36/56
7/25/2019 AmigaDOS Technical Reference Manual
37/56
T a b l e o f C o n t e n t s
I n t r o d u c t i o n
P r o c e s s D a t a S t r u c t u r e s
G l o b a l
D a t a S t r u c t u r e
I n f o S u b s t r u c t u r e
m o r y A l l o c a t i o n
S e g m e n t
L i s t s
F i l e
H a n d l e s
L o c k s
P a c k e t s
P a c k e t t y p e s
7/25/2019 AmigaDOS Technical Reference Manual
38/56
B P T R
L O N G
P T R
L O N G
B P T R
L O N G
B P T R
B P T R
B P T R
P T R
P T R
B P T R
P T R
P T R
P T R
S e g r r a y
S t a c k S i z e
G l o b V e c
T a s k N u m
S t a c k B a s e
I o E r r
C u r r e n t D i r
C I S
C O S
C o H a n d
F i H a n d
C L I S t r u c t
R e t u r n d d r
P k t W a i t
W i n d o w P t r
D a t a
S t r u c t u r e s m i g a D O S T e c h n i c a l R e f e r e n c e M a n u a l
m i g a D O S
p r o c e s s
v a l u e s a r e a s
f o l l o w s :
V a l u e F u n c t i o n D e s c r i p t i o n
r r a y
S e g L i s t s u s e d
b y
t h i s p r o c e s s
S i z e
p r o c e s s
s t a c k b y t e s
G l o b a l V e c t o r
t h i s
p r o c e s s
C L I T a s k n u m b e r z e r o
P o i n t e r h i g h
m e m o r y
p r o c e s s
s t a c k
V a l u e s e c o n d a r y r e s u l t f r o m l a s t
c a l l
L o c k a s s o c i a t e d
w i t h c u r r e n t
d i r e c t o r y
C u r r e n t
C L I
i n p u t
s t r e a m
C u r r e n t
C L I
o u t p u t
s t r e a m
C o n s o l e
h a n d l e r
p r o c e s s
c u r r e n t
w i n d o w
F i l e
h a n d l e r
p r o c e s s
c u r r e n t d r i v e
P o i n t e r a d d i t i o n a l i n f o r m a t i o n
P o i n t e r p r e v i o u s s t a c k f r a m e
F u n c t i o n c a l l e d w h e n a w a i t i n g m e s s a g e
P o i n t e r w i n d o w
T o i d e n t i f y s e g m e n t s t h a t p a r t i c u l a r p r o c e s s u s e s S e g A r r a y . S e g A r r a y a n a r r a y
l o n g w o r d s w i t h s i z e S e g A r r a y [ O ] . O t h e r e l e m e n t s a r e e i t h e r z e r o o r B P T R S e g L i s t .
C r e a t e P r o c c r e a t e s t h i s a r r a y w i t h f i r s t t w o e l e m e n t s o f t h e a r r a y p o i n t i n g r e s i d e n t c o d e a n d
t h i r d e l e m e n t
b e i n g
S e g L i s t p a s s e d a r g u m e n t . W h e n p r o c e s s t e r m i n a t e s
F r e e M e m
u s e d
r e t u r n s p a c e S e g A r r a y .
S t a c k S i z e i n d i c a t e s s i z e t h e p r o c e s s s t a c k a s s u p p l i e d
u s e r
w h e n c a l l i n g C r e a t e P r o c . N o t e
t h a t t h e p r o c e s s s t a c k s a m e c o m m a n d
s t a c k
C L I u s e s w h e n c a l l s a p r o g r a m . T h e
C L I o b t a i n s
c o m m a n d
s t a c k
j u s t
b e f o r e r u n s a p r o g r a m a n d m a y a l t e r s i z e t h i s s t a c k
w i t h S T C K c o m m a n d .
W h e n
y o u
c r e a t e
p r o c e s s A m i g a D O S o b t a i n s t h e p r o c e s s s t a c k a n d
s t o r e s s i z e i n
S t a c k S i z e .
T h e p o i n t e r
s p a c e
t h e p r o c e s s c o n t r o l b l o c k t h e s t a c k a l s o
s t o r e d M e m E n t r y
f i e l d
t a s k s t r u c t u r e . W h e n
p r o c e s s t r m i n t s t h i s
s p a c e
r e t u r n e d
c a l l F r e e M e m . Y o u a l s o c h a i n m e m o r y o b t a i n
i n t o
t h i s
l i s t
s t r u c t u r e
t h a t
t o o
g e t s b a c k w h e n
t a s k
t e r m i n a t e s .
c a l l C r e a t e P r o c c r e a t e s
p r o c e s s
G l o b V e c
p o i n t e r S h a r e d
G l o b a l V e c t o r . H o w e v e r
s o m e
i n t e r n a l h a n d l e r p r o c e s s e s p r i v a t e G l o b V e c .
T h e v a l u e T a s k N u m n o r m a l l y z e r o ; C L I p r o c e s s s t o r e s s m a l l i n t e g e r
t h a t
i d e n t i f i e s
i n v o c a t i o n h e r e .
T h e
p o i n t e r
S t a c k B a s e
p o i n t s h i g h m e m o r y p r o c e s s s t a c k . T h i s s t a c k
w h e n u s i n g l a n g u a g e s s u c h C
A s s e m b l e r ;
b a s e o f t h e s t a c k l a n g u a g e s s u c h
B C P L .
T h e v a l u e s o f I o E r r C u r r e n t D i r a r e t h o s e h a n d l e d t h e s i m i l a r l y n a m e d m i g a D O S c a l l s .
C I S
a n d
C O S v a l u e s I n p u t
a n d
O u t p u t r e t u r n s
a n d
r e f e r f i l h a n d l e s s h o u l d
w h e n
r u n n i n g a p r o g r a m u n d e r C L I . o t h e r c a s e s C I S a n d C O S z e r o .
C o H a n d F i h a n d r e f e r t h e c o n s o l e h a n d l e r t h e c u r r e n t w i n d o w f i l h a n d l e r
c u r r e n t d e v i c e . Y o u t h e s e
v a l u e s
w h e n a t t e m p t i n g o p e n d e v i c e f i l
r e l a t i v e
p a t h
n a m e
7/25/2019 AmigaDOS Technical Reference Manual
39/56
A m i s r a D O S
T e c h n i c a l R e f e r e n c e
M a n u a l
D a t a
S t r u c t u r e s
T h e C L I S t r u c t
p o i n t e r
n o n z e r o o n l y
C L I
p r o c e s s e s . I n t h i s c a s e r e f e r s t o f u r t h e r s t r u c t u r e
u s e s w i t h
f o l l o w i n g f o r m a t :
V a l u e F u n c t i o n
L O N G R e s u l t
B S T R
S e t N a m e
B P T R C o m m a n d D i r
L O N G R e t u r n C o d e
B S T R
C o m m a n d N a m e
L O N G F a i l L e v e l
B S T R P r o m p t
B P T R S t a n d a r d l n
B P T R C u r r e n t l n
B S T R
C o m m a n d F i l e
L O N G
I n t e r a c t i v e
L O N G B a c k g r o u n d
B P T R C u r r e n t O u t
L O N G
D e f a u l t S t a c k
B P T R S t a n d a r d O u t
B P T R M o d u l e
D e s c r i p t i o n
V a l u e I o E r r f r o m
l a s t
c o m m a n d
N a m e o f c u r r e n t d i r e c t o r y
L o c k
a s s o c i a t e d
w i t h c o m m a n d d i r e c t o r y
R e t u r n c o d e f r o m l a s t c o m m a n d
N a m e c u r r e n t c o m m a n d
F a i l
l e v e l b y
F A I L A T
C u r r e n t p r o m p t
b y P R O M P T
D e f a u l t t e r m i n a l C L I i n p u t
C u r r e n t i n p u t
N a m e E X E C U T E c o m m a n d f i l e
B o o l e a n ; T r u e p r o m p t s r e q u i r e d
B o o l e a n ; T r u e C L I
c r e a t e d b y
R U N
C u r r e n t C L I
o u t p u t
S t a c k s i z e
o b t a i n e d
l w o r d s
D e f a u l t t e r m i n a l C L I o u t p u t
S e g L i s t
c u r r e n t l y l o a d e d c o m m a n d
T h e E x i t f u n c t i o n u s e s t h e
v a l u e
R e t u r n A d d r w h i c h p o i n t s j u s t a b o v e r e t u r n a d d r e s s
c u r r e n t l y a c t i v e
s t a c k .
p r o g r a m
e x i t s p e r f o r m i n g R T S e m p t y s t a c k t h e n
c o n t r o l p a s s e s
c o d e
a d d r e s s p u s h e d
o n t o
t h e s t a c k
C r e a t e P r o c C L I . p r o g r a m
t e r m i n a t e s w i t h
c a l l E x i t t h e n
A m i g a D O S
u s e s
t h i s p o i n t e r
e x t r a c t
s a m e r e t u r n
a d d r e s s .
T h e v a l u e P k t W a i t n o r m a l l y z e r o . n o n z e r o
t h e n
A m i g a D O S c a l l s P k t W a i t w h e n e v e r
p r o c e s s a b o u t
s l e e p
a w a i t s i g n a l i n d i c a t i n g t h a t a m e s s a g e a r r i v e d . I n t h e s a m e w a y
G e t M s g , t h e f u n c t i o n s h o u l d r e t u r n m e s s a g e w h e n a v a i l a b l e . U s u a l l y t h i s f u n c t i o n
f i l t e r p r i v a t e m e s s a g e s a r r i v i n g s t a n d a r d p r o c e s s m e s s a g e p o r t t h a t n o t i n t e n d e d
A m i g a D O S .
T h e
v a l u e
W i n d o w P t r
u s e d
w h e n A m i g a D O S
d e t e c t s a n e r r o r t h a t
n o r m a l l y r e q u i r e s
u s e r
t a k e
s o m e
a c t i o n . E x a m p l e s t h e s e e r r o r s a t t e m p t i n g w r i t e w r i t e p r o t e c t e d d i s k
w h e n
t h e d i s k f u l l . v l u W i n d o w P t r t h e n e r r o r r e t u r n e d c a l l i n g p r o g r a m
e r r o r c o d e f r o m
A m i g a D O S
c a l l O p e n , W r i t e
w h a t e v e r . v a l u e
z e r o t h e n
A m i g a D O S
p l a c e s r e q u e s t b o x o n W o r k B e n c h s c r e e n i n f o r m i n g t h e u s e r t h e e r r o r p r o v i d i n g t h e
o p p o r t u n i t y
r e t r y t h e
o p e r a t i o n c a n c e l
u s e r
s e l e c t s
c a n c e l t h e n
A m i g a D O S r e t u r n s
e r r o r
c o d e c a l l i n g
p r o g r a m . u s e r
s e l e c t s r e t r y
i n s e r t s d i s k t h e n
A m i g a D O S a t t e m p t s
t h e o p e r a t i o n o n c e m o r e .
p l a c e
p o s i t i v e
v l u i n t o W i n d o w P t r f i e l d t h e n A m i g a D O S t h i s t o p o i n t e r
W i n d o w s t r u c t u r e . N o r m a l l y y o u w o u l d p l a c e t h e W i n d o w s t r u c t u r e o f t h e w i n d o w c u r r e n t l y
u s i n g h e r e . t h i s c a s e
A m i g a D O S d i s p l a y s
e r r o r m e s s a g e w i t h i n t h e w i n d o w h a v e
s p e c i f i e d
r a t h e r t h a n W o r k B e n c h s c r e e n . Y o u c a n a l w a y s l e a v e t h e W i n d o w P t r
f i e l d
z e r o
a r e u s i n g
a n o t h e r s c r e e n
t h e n m e s s a g e s A m i g a D O S d i s p l a y s a p p e a r
W o r k B e n c h s c r e e n
p o s s i b l y o b s c u r e d y o u r o w n
s c r e e n .
T h e i n i t i a l v a l u e W i n d o w P t r i n h e r i t e d f r o m t h e p r o c e s s t h a t c r e a t e d t h e c u r r e n t o n e . d e c i d e
t o a l t e r W i n d o w P t r f r o m w i t h i n p r o g r a m t h a t r u n s u n d e r C L I , t h e n s h o u l d s a v e o r i g i n a l
v a l u e r e s t o r e w h e n f i n i s h ; o t h e r w i s e t h e p r o c e s s c o n t a i n s W i n d o w P t r t h a t r e f e r s
w i n d o w
t h a t
l o n g e r p r e s e n t .
7/25/2019 AmigaDOS Technical Reference Manual
40/56
D a t a S t r u c t u r e s m i g a D O S T e c h n i c a l R e f e r e n c e M a n u a l
3 . 3 G l o b a l D a t a S t r u c t u r e
T h i s
d a t a
s t r u c t u r e o n l y e x i s t s o n c e ; h o w e v e r m i g a D O S p r o c e s s e s m a k e c a l l t o
O p e n L i b r a r y o b t a i n t h e l i b r a r y b a s e p o i n t e r . b a s e d a t a s t r u c t u r e p o s i t i v e o f f s e t
f r o m l i b r a r y
b a s e
p o i n t e r . l i b r a r y
b a s e
p o i n t e r p o i n t s t h e f o l l o w i n g s t r u c t u r e :
L i b r a r y N o d e s t r u c t u r e
P T R D O S R o o t N o d e
P T R D O S S h a r e d
G l o b a l
V e c t o r
D O S p r i v a t e r e g i s t e r d u m p
A l l i n t e r n a l
m i g a D O S c a l l s
S h a r e d
G l o b a l V e c t o r , w h i c h
j u m p
t a b l e .
Y o u
s h o u l d
n o r m a l l y e x c e p t t h r o u g h t h e s u p p l i e d i n t e r f a c e c a l l s , l i a b l e t o c h a n g e w i t h o u t w a r n i n g
R o o t N o d e s t r u c t u r e
f o l l o w s :
V a l u e F u n c t i o n D e s c r i p t i o n
P T R
T a s k T a b l e
r r a y
C L I p r o c e s s e s
c u r r e n t l y r u n n i n g
P T R C L I S e g L i s t S e g L i s t C L I
L O N G D a y s N u m b e r
d a y s
c u r r e n t t i m e
L O N G M i n s
N u m b e r m i n u t e s c u r r e n t t i m e
L O N G T i c k s N u m b e r o f t i c k s c u r r e n t t i m e
P T R R e s t a r t S e g S e g L i s t d i s k v a l i d a t o r p r o c e s s
P T R I n f o P o i n t e r I n f o
s u b s t r u c t u r e
T a s k T a b l e
a r r a y
w i t h s i z e o f t h e a r r a y s t o r e d
T a s k T a b l e [ O ] .
p r o c e s s i d o t h e r
w o r d s , M s g P o r t
a s s o c i a t e d
w i t h p r o c e s s
e a c h s t o r e d
a r r a y . T h e
p r o c e s s i d
w i t h T a s k N u m s t o r e d T a s k T a b l e [ n ] . n
e m p t y s l o t
f i l l e d w i t h
z e r o .
c o m m a n d s
R U N
N E W C L I s c a n
T a s k T a b l e
i d e n t i f y n e x t f r e e s l o t t h i s a s t h e T a s k N u m
c r e a t e d .
C L I S e g L i s t S e g L i s t c o d e C L I . R U N N E W C L I
t h i s v l u
c r e a t e
i n s t a n c e C L I
T h e r o o t n o d e s t o r e s c u r r e n t d a t e
t i m e ;
n o r m a l l y s h o u l d A m i g a D O S f u n c t i o n
D a t e S t a m p
r e t u r n c o n s i s t e n t
o f v a l u e s .
v a l u e s D a y s M i n s T i c k s s p e c i f y t h e d a t e
t i m e . T h e v a l u e D a y s n u m b e r d a y s s i n c e J a n u a r y 1 s t 1 9 7 8 . T h e v a l u e M i n s n u m b e r
m i n u t e s s i n c e m i d n i g h t .
t i c k
f i f t i e t h s e c o n d ,
t i m e
o n l y u p d a t e d o n c e p e r
s e c o n d .
T h e R e s t a r t S e g S e g L i s t c o d e o f t h e
d i s k
v a l i d a t o r , w h i c h p r o c e s s t h a t A m i g a D O S
c r e a t e s
w h e n e v e r
i n s e r t
n e w
d i s k
i n t o
d r i v e .
7/25/2019 AmigaDOS Technical Reference Manual
41/56
A m i g a D O S
T e c h n i c a l R e f e r e n c e
M a n u a l
D a t a
S t r u c t u r e s
3 . 3 . 1 I n f o
S u b s t r u c t u r e
T o a c c e s s f u r t h e r s u b s t r u c t u r e w i t h t h e f o l l o w i n g
f o r m a t ,
I n f o p o i n t e r .
V a l u e
F u n c t i o n
D e s c r i p t i o n
B P T R
M c N a m e
N e t w o r k n a m e
t h i s
m a c h i n e ;
c u r r e n t l y
z e r o
B P T R D e v l n f o D e v i c e
l i s t
B P T R D e v i c e s C u r r e n t l y
z e r o
B P T R H a n d l e r s C u r r e n t l y z e r o
P T R N e t H a n d N e t w o r k h a n d l e r p r o c e s s i d c u r r e n t l y z e r o
M o s t
f i e l d s I n f o
s u b s t r u c t u r e a r e
e m p t y m o m e n t , C o m m o d o r e - A m i g a
i n t e n d
t h e m e x p a n d i n g
s y s t e m .
T h e D e v l n f o
s t r u c t u r e
l i n k e d l i s t Y o u
i d e n t i f y
t h e d e v i c e
n a m e s
t h a t m i g a D O S
k n o w s a b o u t ;
t h i s
i n c l u d e s A S S I G N e d n a m e s d i s k v o l u m e n a m e s . T h e r e p o s s i b l e f o r m a t s
l i s t e n t r i e s d e p e n d i n g w h e t h e r e n t r y r e f e r s d i s k v o l u m e n o t . e n t r y
d e s c r i b i n g d e v i c e d i r e c t o r y A S S I G N t h e e n t r y f o l l o w s :
V a l u e F u n c t i o n
D e s c r i p t i o n
B P T R N e x t P o i n t e r
n e x t l i s t e n t r y
z e r o
L O N G T y p e
L i s t e n t r y t y p e d e v i c e
o r d i r
P T R
T a s k
H a n d l e r p r o c e s s o r
z e r o
B P T R L o c k F i l e s y s t e m l o c k z e r o
B S T R H a n d l e r F i l e n a m e o f h a n d l e r z e r o
L O N G S t a c k S i z e S t a c k s i z e
h a n d l e r
p r o c e s s
L O N G
P r i o r i t y P r i o r i t y
h a n d l e r
p r o c e s s
L O N G
S t a r t u p
S t a r t u p v a l u e t o b e p a s s e d t o h a n d l e r
p r o c e s s
B P T R S e g L i s t S e g L i s t h a n d l e r
p r o c e s s
z e r o
B P T R
G l o b V e c
G l o b a l
v e c t o r
f o r h a n d l e r
p r o c e s s
o r z e r o
B S T R N a m e
N a m e
d e v i c e S S I G N e d
n a m e
N e x t f i e l d l i n k s l i s t e n t r i e s t o g e t h e r , n a m e l o g i c a l d e v i c e n a m e h e l d
N a m e f i e l d .
T y p e f i e l d d e v i c e d i r . Y o u
m a k e d i r e c t o r y e n t r y
w i t h
S S I G N
c o m m a n d . T h i s c o m m a n d
a l l o c a t e s
n a m e
d i r e c t o r y t h a t t h e n u s e a s
d e v i c e n a m e .
l i s t e n t r y r e f e r s d i r e c t o r y , t h e n T a s k r e f e r s f i l e
s y s t e m p r o c e s s
h a n d l i n g t h a t d i s k ,
L o c k f i e l d c o n t a i n s p o i n t e r l o c k t h a t d i r e c t o r y .
l i s t
e n t r y
r e f e r s d e v i c e ,
t h e n
t h e d e v i c e
m a y
m a y
r e s i d e n t . r e s i d e n t ,
T a s k
i d e n t i f i e s h a n d l e r p r o c e s s , L o c k n o r m a l l y z e r o . t h e d e v i c e r e s i d e n t , t h e n
T a s k z e r o m i g a D O S
u s e s t h e r e s t
l i s t s t r u c t u r e .
S e g L i s t z e r o , t h e n c o d e d e v i c e m e m o r y . T h e
H a n d l e r
f i e l d s t r i n g
s p e c i f y i n g f i l e
c o n t a i n i n g c o d e
e x a m p l e ,
S Y S : L / R A M - H A N D L E R .
c a l l L o a d S e g
l o a d s
c o d e f r o m f i l e a n d i n s e r t s r e s u l t i n t o S e g L i s t f i e l d
A m i g a D O S n o w c r e a t e s n e w h a n d l e r p r o c e s s w i t h t h e S e g L i s t , S t a c k S i z e , a n d v a l u e s . T h e n e w
p r o c e s s B C P L p r o c e s s a n d
r e q u i r e s G l o b a l
V e c t o r ; t h i s e i t h e r t h e
v a l u e y o u
s p e c i f i e d
G l o b V e c
n e w
p r i v a t e g l o b a l v e c t o r G l o b V e c z e r o .
7/25/2019 AmigaDOS Technical Reference Manual
42/56
D a t a S t r u c t u r e s
A m i g a D O S
T e c h n i c a l
R e f e r e n c e M a n u a l
T h e n e w
p r o c e s s
p a s s e d
m e s s a g e c o n t a i n i n g n a m e
o r i