9- 16
M68020 USER’S MANUAL
MOTOROLA
OPT
TYPE
ACCESS LEVEL
(RESERVED, MUST BE ZERO)
31
28
23
15
0
BASE
+$04
MODULE ENTRY WORD POINTER
MODULE DATA AREA POINTER
ADDITIONAL USER-DEFINED INFORMATION
+$08
+$0C
+$10
29
24
16
Figure 9-10. Module Descriptor Format
The opt field specifies how arguments are to be passed to the called module; the
MC68020/EC020 recognizes only the options of 000 and 100; all others cause a format
exception. The 000 option indicates that the called module expects to find arguments from
the calling module on the stack just below the module stack frame. In cases where there is
a change of stack pointer during the call, the MC68020/EC020 will copy the arguments
from the old stack to the new stack. The 100 option indicates that the called module will
access the arguments from the calling module through an indirect pointer in the stack of
the calling module. Hence, the arguments are not copied, but the MC68020/EC020 puts
the value of the stack pointer from the calling module in the module stack frame.
The type field specifies the type of the descriptor; the MC68020/EC020 only recognizes
descriptors of type $00 and $01; all others cause a format exception. The $00 type
descriptor defines a module for which there is no change in access rights, and the called
module builds its stack frame on top of the stack used by the calling module. The $01 type
descriptor defines a module for which there may be a change in access rights; such a
called module may have a separate stack area from that of the calling module.
The access level field is used only with the type $01 descriptor and is passed to external
hardware to change the access control.
The module entry word pointer specifies the entry address of the called module. The first
word at the entry address (see Figure 9-11) specifies the register to be saved in the
module stack frame and then loaded with the module descriptor data area pointer; the first
instruction of the module starts with the next word. The module descriptor data area
pointer field contains the address of the called module data area.
If the access change requires a change of stack pointer, the old value is saved in the
module stack frame, and the new value is taken from the module descriptor stack pointer
field. Any further information in the module descriptor is user defined.
OPERATION WORD OF FIRST INSTRUCTION
D/A
15
14
REGISTER
12
11
9
0
8
0
7
0
6
5
0
4
0
3
0
2
0
1
0
10
0
Figure 9-11. Module Entry Word
F
re
e
sc
a
le
S
e
m
ic
o
n
d
u
c
to
r,
I
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
n
c
..
.