-
Notifications
You must be signed in to change notification settings - Fork 0
cINTERSEG
ksherlock edited this page Jan 12, 2017
·
2 revisions
$F6 cINTERSEG – This record is the compressed version of the INTERSEG record. It is identical to the INTERSEG record, except that the offsets are 2 bytes long rather than 4 bytes, the segment number is 1 byte rather than 2 bytes, and it does not include the 2-byte file number. The cINTERSEG record can be used only if both offsets are less than $FFFF (65535), the segment number is less than 256, and the file number associated with the reference is 1. References to segments in run-time-library files must use INTERSEG records rather than cINTERSEG records.
The following example compares an INTERSEG record and a cINTERSEG record for the same reference (for an explanation of each line of these records, see the discussion of the INTERSEG record):
INTERSEG | cINTERSEG | |
---|---|---|
$E3 | $F6 | operation code |
$03 | $03 | number of bytes to be relocated |
$00 | $00 | bit-shift operator |
$00000720 | $0720 | offset of instruction |
$0001 | file number | |
$000A | $0a | segment number |
$00000345 | $0345 | offset of subroutine referenced |
(15 bytes) | (8 bytes) |