User manual
ST Assembler-Linker OBSEND
Doc ID 11392 Rev 4 45/89
6.2.4 Straight binary format
<format>= <none>
This is the simplest of the formats. It is nothing but a bit-for-bit copy of the original file. This is
the usual mode for sending to the EPROM emulators, etc., and is the default if no format
argument is given.
Note: When the destination is the screen (the destination code is "v"), do not use this format;
otherwise you get weird control codes.
<format>= <f>
This is the ‘filled’ straight binary format where gaps between adjacent segments are filled
with $FF.
6.2.5 Intel hex format
<format>= i
This format is very much more complex. Intel hex bears similarities to S-record that we look
at later. Let's look at a line of the Intel hex format in detail:
:10190000FFFFFFFFFFC00064FFC0006462856285E0
10 number of data bytes (16 in decimal)
1900 address
00 record type
... data bytes
E0 checksum
The first thing to note is that everything is in printable ASCII. Eight-bit numbers are
converted into two-character hexadecimal representation.
Each line begins with an ASCII ':' ($3A) character.
The next two characters form a byte that declares how many data bytes follow in the data
byte section a little further along.
The next four characters form a 16-bit high-byte first number that specifies the address for
the first byte of this data; the rest follows on sequentially.
i32 Intel hex with 32 bytes of data per line
ix Intel hex extended
s Motorola S-record (1 byte per address, for example ST7)
x Motorola S-record extended with symbol file
2 ST S-record 2 (2 bytes per address, for example D950)
4
ST S-record 4 (4 bytes per address, for example ST18932 program space)
f
'Filled' straight binary format
g
GP industrial binary format
Table 16. Output formats
<format>
Output format