13.07.2015 Views

apple-pascal-1.3-manual

apple-pascal-1.3-manual

apple-pascal-1.3-manual

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

By the Way: Figure 2-4 shows lower addresses at the top (in contrast toI others in this <strong>manual</strong>) to match the structure of the Pascal segmentdictionary declaration.Each segment dictionary is composed ofo Five 16-element arrays-one element for each segment slot in thesegment dictionary of a codefile;o Information about the intrinsic segments used by the codefile;o An optional comment.Each element in the DISKINFO array consists of two words that describethe length and location of the segment within the codefile. For codesegments, the CODEADDR field contains the block number of the .start ofthe code part, and the CODELENG field contains the number of bytes in thecode part of the segment. For data segments, the CODEADDR field is 0, andthe CODELENG field contains the number of bytes to be allocated for dataat execution time (the length of the data segment). Unused slots have theirCODEADDR and CODELENG fields set to 0 (CODELENG=O defines anempty slot).Each element of the SEGNAME array is an eight-character array thatcontains the first eight characters of the user program, unit, SEGMENTprocedure, SEGMENT function, or assembly-language procedure name thatwas translated into the corresponding segment. If the name is shorter thaneight characters, it is padded on the right by spaces; if the name is longerthan eight characters, it is truncated to the first eight characters. Unusedsegment slots have SEGNAME fields filled with eight ASCII spacecharacters.The SEGKIND array describes the type of segment. The possible values areas follows:0: LINKED. A fully-executable segment. Either all references to Regularor Intrinsic Units have been resolved by the Linker, or none werepresent.1: HOSTSEG. The main segment of a user program with unresolvedexternal references.2: SEGPROC. A SEGMENT procedure or function. This type is currentlynot used.3: UNITSEG. A compiled Regular (as opposed to Intrinsic) Unit.Segment DictionariesIV-25

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!