Skip to content
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)
Clone this wiki locally