[comp.os.cpm] Intel HEX Format

marwood@NCS.DND.CA (Gordon Marwood) (11/19/88)

 
In response to Nick Sayer's query about the Intel HEX format, the following
information is given in "The Programmer's CP/M Handbook" by Johnson-Laird:-
 
        :   04  0158  00  64  00  01  80  BE
   
        ^    ^    ^    ^  (____________)   ^
        |    |    |    |        |          |
        |    |    |    |        |          |____  Checksum formed by adding up
        |    |    |    |        |                 all of the numbers after the
        |    |    |    |        |                 colon and subtracting their
        |    |    |    |        |                 sum from 00H.
        |    |    |    |        |
        |    |    |    |        |_______________  Data bytes
        |    |    |    | 
        |    |    |    |________________________  Record type, normally 00
        |    |    |
        |    |    |_____________________________  Load address for data bytes
        |    |                                    on current line.
        |    |
        |    |__________________________________  Number of data bytes on line
        |
        |_______________________________________  Beginning of line marker


I don't know if the record type is ever anything but 00.
 

                                  Gordon Marwood

gla@nixpbe.UUCP (11/24/88)

The Intel Hex Object format is documented in
	MCS 86 Absoulte Object Formats
	Order Number  9800821-01
	Issued 1979
and should be obtainable from Intel.

There are more record types:
	02 Extended Address (provides high order 16 of 24 bit address)
	03 Start Address (2 16-Bit values, namely CS and IP)
	01 End-Of-File Record (no data)

Rainer Glaschick, Nixdorf Computers, Germany
(... uunet!linus!nixbur!glaschick.pad )