Intel iAPX 86 User Manual page 111

Table of Contents

Advertisement

iAPX 86,88 Absolute Object File Formats
iAPX 86,88 Family Utilities
A-12
The hexadecimal representation of binary is coded in ASCII. For example, the eight-
bit binary value 0011 1111 is 3F in hexadecimal. To code this ASCII, one eight-bit
byte containing the ASCII code for 3(00110011 or 33H) and one eight-bit byte con-
taining the ASCII code for F(0100 0110 or 46H) are required. This representation
(ASCII hexadecimal) requires twice as many bytes as the binary.
There are four different types of records that may make up an 8086 hexadecimal
object file. They are:
Extended Address Record
Start Address Record
Data Record
End of File Record
Each record begins with a RECORD MARK field containing 3AH, the ASCII code
for colon (:).
Each record has a REC LEN field which spec:ifies the number of bytes of informa-
tion or data which follows the RECTYP field of each record. Note that one byte is
represented by two ASCII characters.
Each record ends with a CHECKSUM field that contains the ASCII hexadecimal
representation of the two's complement of the eight-bit sum of the eight-bit bytes
that result from converting each pair of ASCII hexadecimal digits to one byte of
binary, from and including the RECORD LENGTH field to and including the last
byte of the DATA field. Therefore, the sum of all the ASCII pairs in a record after
converting to binary, from the RECORD LENGTH field to and including the
CHECKSUM field, is zero.
Extended Address Record
REGD
REG
REG
GHK
MARK
LEN
ZEROES
TYP
USBA
SUM
'.'
'02'
'0000'
'02'
The 8086 EXTENDED ADDRESS RECORD is used to specify bits 4-19 of the Seg-
ment Base Address (SBA) where bits 0-3 of the SBA are zero. Bits 4-19 of the SBA
are referred to as the Upper Segment Base Address (USBA). The absolute memory
address of a content byte in a subsequent DATA RECORD is obtained by adding
the SBA to an offset calculated by adding the Load Address Field of the containing
DATA RECORD to the index of the byte in the DATA RECORD (0, 1, 2, ... n).
The offset addition is done modulo 64K, ignoring a carry,
.::>0
that offset wrap-
around loading (from OFFFFH to OOOOOH) results in wrapping around from the end
to the beginning of the 64K segment defined by the SBA. The address at which a par-
ticular data byte is loaded is calculated as:
SBA
+
([DRLA
+
DRI] MOD 64K)
where
DRLA is the DATA RECORD LOAD ADDRESS.
DRI is the data byte index within a DATA RECORD.

Advertisement

Table of Contents
loading

This manual is also suitable for:

Iapx 88

Table of Contents