Important: The information in this document is obsolete and should not be used for new development.
Chapter 8 - PEF Structure
This chapter describes the structure of the PEF storage standard, which is the format used to store programs in the Code Fragment Manager-based runtime architecture. You need this information if you read from or write to PEF containers--if you are writing a compiler or other development tool, for example.After a high-level view of a PEF container in the "Overview" section, there follow sections that describe the elements of a PEF container in more detail.
Note that the PEF storage standard is not exclusive to the CFM-based architecture. Other architectures can follow the specification described here and use PEF containers to store their code and data. In such cases, the appropriate PEF handler for that architecture takes the role of the Code Fragment Manager.
Chapter Contents
- Overview
- The Container Header
- PEF Sections
- The Section Name Table
- Section Contents
- Pattern-Initialized Data
- Pattern-Initialization Opcodes
- Zero (Opcode 000)
- blockCopy (Opcode 001)
- repeatedBlock (Opcode 010)
- interleaveRepeatBlockWithBlockCopy (Opcode 011)
- interleaveRepeatBlockWithZero (Opcode 100)
- The Loader Section
- The Loader Header
- Imported Libraries and Symbols
- Imported Library Descriptions
- The Imported Symbol Table
- Relocations
- The Relocation Headers Table
- The Relocation Area
- A Relocation Example
- Relocation Instruction Set
- RelocBySectDWithSkip
- The Relocate Value Group
- The Relocate By Index Group
- RelocIncrPosition
- RelocSmRepeat
- RelocSetPosition
- RelocLgByImport
- RelocLgRepeat
- RelocLgSetOrBySection
- The Loader String Table
- Exported Symbols
- The Export Hash Table
- The Export Key Table
- The Exported Symbol Table
- Hashing Functions
- The Name to Hash Word Function
- The Hash Word to Hash Index Function
- The Exported Symbol Count to Hash Table Size Function
- PEF Size Limits