EasyManua.ls Logo

Motorola MC68020 - Page 271

Motorola MC68020
306 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
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.
O
PERATION WORD OF FIRST INSTRUCTIO
N
D
/
A
15
14
R
EGISTE
R
12
11
9
0
8
0
7
0
6
5
0
0 0
4
0
3
0
2
0
1
000
10
0
Figure 9-11. Module Entry Word

Table of Contents

Related product manuals