CHAPTER 6: HEX CONVERTER
108 EPSON S5U1C63000A MANUAL
(S1C63 FAMILY ASSEMBLER PACKAGE)
6.5 Output Hex Files
6.5.1 Hex File Configuration
Since each S1C63000 instruction has a 13-bit code, the hex converter always generates two hex files for the
high-order data and the low-order data of the program code. The low-order data hex file (".lsa" or "l.hex")
contains the low-order bytes (bits 7 to 0) of the object codes. The high-order data hex file (".hsa" or
"h.hex") contains the high-order bytes (bits 12 to 8 suffixed by high-order bits 0b000).
4-bit data for the data ROM is output to the ".csa" or "c.hex" file.
By specifying the -i option, the hex converter can convert the absolute object file into Intel-HEX files as
well as Motorola-S format. However, use Motorola-S format format when loading the hex files to the
debugger or creating the mask data by the mask data checker because the debugger and mask data
checker do not support Intel-HEX files.
6.5.2 Motorola-S Format
The hex converter converts an absolute object file in the IEEE-695 format into the Motorola-S2 format files
by default.
The files are generated with an extension ".hsa" for the high-order program file, ".lsa" for the low-order
program file and ".csa" for the data ROM file.
The following shows a sample data in Motorola-S2 format:
S224000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB
S224000020FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB
:
S22400010008E000F04200420606FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89
:
S804000000FB
length
address data sum
S2 (1 bytes): Indicates that the line is a data record.
S8 (1 bytes): Indicates that the line is an end record (end of data).
length (1 byte): Indicates the record length of "address + data + sum". The maximum length of a
data record is 0x24, while the end record is fixed at 0x04.
address (3 bytes): Indicates the address where the head data in a record is placed.
data (32 bytes max.): The object codes are placed here. This is not included in the end record.
sum (1 byte): This is a checksum (1's complement) from "length" to the last data.
The end records are always "S804000000FB".