Document Navigation
Table Of Contents
Previous
Next

IX. OBJECT CODE PRODUCTION

The assembler is capable of producing two kinds of object code output. One is a binary file in the standard FLEX binary file format. The first section of this manual explains how to produce such a file and how to assign a name to it. The second type is a direct output to tape. This object code is produced in the standard Motorola '51-S9' tape format. This is an ASCII hex record format as shown:

S1BBAAAADDDDDDDDDD......DDDDCC

where
S1 is a record start marker
BB is a byte count which includes all bytes
in the record past the byte count itself
AAAA is the load address of the first data byte
DD is the actual data
CC is a checksum equivalent to the one's
complement of the modulo 256 sum of all
bytes preceding the checksum (except the S1)

This data is output, character at a time, through a jump vector located near the beginning of the assembler. As supplied this jump vector is pointing to the PUTCHR or output character routine of FLEX. If your tape device is located on the same port as your terminal, this should be satisfactory. If, however, you have a tape device located elsewhere, you will need to patch this jump vector to point to a routine you must supply to output a character to your tape device and then return. Directions for patching this address can be found in the section on adapting to your system.

Note that this data is output periodically during an assembly. If your tape device is on the same port as your terminal you will want to turn off the listing and symbol table printing options so that only the object code data is output to your tape.


Table Of Contents Previous Next
Document Navigation