[Prev] [Next] [Up] [Main] [New] [Search] [Home]
Front page

Amiga ROM Kernel Reference Manual: Exec

second print In English
ISBN: 0-201-11099-7 (Fennica) (HelMet) (Kirjastot.fi) (Library of Congress)
LCCN: 86-10887 (Library of Congress)
Publisher: Addison-Wesley Publishing Company, Inc.
July, 1986


The Amiga Computer is an exciting new high-performance microcomputer with superb graphics, sound, and multitasking capabilities. Its technologically advanced hardware, designed around the Motorola 68000 microprocessor, includes three sophisticated custome chips that control graphics, audio, and peripherals. The Amiga's unique system software is contained in 192K of read-only memory (ROM), providing programmers with unparalleled power, fexibility, and convience in designing and creating programs.

The AMIGA ROM KERNEL REFERENCE MANUAL: Exec, written by the technical staff at Commodore-Amiga, Inc., is a detailed description of Exec, the ROM-based multitasking system executive that controls the Amiga's underlying system execution environment. It includes:

For the serious programmer working in assembly language, C, or Pascal who wants to take full advantage of the Amiga's impressive capabilities, the AMIGA ROM KERNEL MANUAL: Exec is an essential reference.

Written by the technical staff at Commodore-Amiga, Inc., who designed the Amiga's hardware and system software, the AMIGA ROM KERNEL MANUAL: Exec is the definitive source of information on the system execution environment of this revolutionary microcomputer.

Table of Contents
 
PREFACE v
System Software Architechturev
Programmingvi
REGISTER CONVENTIONS
vi
DATA STRUCTURES
vi
OTHER PRACTICES
vii
68010 AND 68020 COMPABILITY
ix
USING AMIGA EXEC FUNCTIONS
ix
Contents of This Manualxi
 
Chapter 1 LISTS AND QUEUES 1
Introduction2
List Structure2
NODE STRUCTURE
2
NODE INTIALIZATION
3
HEADER STRUCTURE
4
HEADER INITIALIZATION
5
List Functions6
INSERTION AND REMOVAL
6
SPECIAL CASE INSERTION
7
SPECIAL CASE REMOVAL
7
PRIORITIZED INSERTION
7
SEARCHING BY NAME
8
List Macros8
Empty Lists9
Scanning a List10
 
Chapter 2 TASKS 11
Introduction12
SCHEDULING
12
TASK STATES
13
TASK QUEUES
14
PRIORITY
14
STRUCTURE
14
Creation15
STACK
18
Termination18
Signals19
ALLOCATION
20
WAITING FOR A SIGNAL
21
GENERATING A SIGNAL
22
Exclusion22
FORBIDDING
22
DISABLING
23
SEMAPHORES
25
Exceptions25
Traps26
HANDLERS
27
TRAP INSTRUCTIONS
27
 
Chapter 3 MESSAGES AND PORTS 29
Introduction29
Ports30
STRUCTURE
30
CREATION
32
DELETION
33
RENDEZVOUS
33
Messages33
PUTTING A MESSAGE
34
WAITING FOR A MESSAGE
35
GETTING A MESSAGE
36
REPLYING
37
 
Chapter 4 INPUT/OUTPUT 39
Introduction39
Request Structure40
Interface Functions43
Standard Commands44
Performing I/O45
PREPARATION
45
SYNCHRONOUS REQUESTS
46
ASYNCHRONOUS REQUESTS
47
CONCLUSION
48
QUICK I/O
48
Standard Devices49
 
Chapter 5 INTERRUPTS 51
Introduction51
SEQUENCE OF EVENTS
52
INTERRUPT PRIORITIES
53
NONMASKABLE INTERRUPT
55
Servicing Interrupts55
DATA STRUCTURE
55
ENVIRONMENT
56
INTERRUPT HANDLERS
56
INTERRUPT SERVERS
60
Software Interrupts62
Disabling Interrupts63
 
Chapter 6 MEMORY ALLOCATION 65
Introduction65
Using Memory Allocation Routines66
MEMORY REQUIREMENTS
66
MEMORY HANDLING ROUTINES
67
SAMPLE CALLS FOR ALLOCATING SYSTEM MEMORY
68
SAMPLE FUNCTION CALLS FOR FREEING SYSTEM MEMORY
68
ALLOCATING MULTIPLE MEMORY BLOCKS
69
Memory Allocation and Tasks71
MEMORY ALLOCATION AND MULTITASKING
72
MANAGING MEMORY WITH ALLOCATE() AND DEALLOCATE()
72
 
Chapter 7 LIBRARIES 75
What is a Library?76
How to Access a Library76
OPENING A LIBRARY
76
USING A LIBRARY TO CALL A ROUTINE
77
USING A LIBRARY TO REFERENCE DATA
78
CACHING LIBRARY POINTERS
78
CLOSING LIBRARY
79
Adding a Library79
MAKING A NEW LIBRARY
79
MINIMUM SUBSET OF LIBRARY CODE VECTORS
80
STRUCTURE OF A LIBRARY NODE
81
CHANGING THE CONTENTS OF A LIBRARY
82
Relationship of Libraries to Devices82
 
Chapter 8 ROM-WACK 83
Introduction83
Getting to Wack84
Keystrokes, Numbers, and Symbols84
Register Frame85
Display Frames86
Relative Positioning87
Absolute Positioning88
Altering Memory89
Execution Control91
Breakpoints91
Returning to Multitasking After a Crash91
 
Appendix A C EXEC INCLUDE FILES A-1
 
Appendix B OTHER ROUTINES B-1
Exec Support Library
Debug.lib Functions
Amiga.lib Functions
AmigaDOS General Information
Interchange File Format
 
Appendix C MEMORY/DISK INFORMATION C-1
Software Memory Map
Disk Format Information
 
Appendix D LIBRARY BASE OFFSETS D-1
 
Index Index-1



[Prev] [Next] [Up] [Main] [New] [Search] [Home]
This page has been created by Sami Rautiainen.
Read the small print. Last updated Mar 22, 2006