3 absolute values, 4 buffer addresses, 5 byte counts – Avago Technologies LSI53C1010 User Manual
Page 175: Absolute values, Buffer addresses, Byte counts

Patching
7-9
7.2.2.2 Procedure 2
1.
Create a buffer to hold all the individual relative buffers.
UCHAR rel_buffer[8]
2.
Patch all buffers in one loop if the main Patch array is accessed and
the Header record is used. The
-o
assembler option must be used
for this procedure to work.
for(i=0; i SCRIPT[Rel_Patches[i]] += VirttoPhys(rel_buffer); } See Chapter 5, “The NASM Output File,” for more information on the structures created for patching relative buffers. 7.2.3 ABSOLUTE Values ABSOLUTE values are patched exactly like EXTERN buffers. The -o compiler option must be used to patch Absolutes. See for more information on ABSOLUTE values. 7.2.4 Buffer Addresses Buffer addresses are usually patched into Block Move, Memory to SCRIPT[X_buffername_Used[n]] = VirttoPhys(c_buffer); Where X is either E (Extern), R (Relative), or A (Absolute) depending on the type of buffer used. n is the nth occurrence of this buffer in the SCRIPTS program. c_buffer is a buffer/array defined in ‘C’. See Chapter 5, “The NASM Output File,” for more information on the _Used array. 7.2.5 Byte Counts Byte counts are usually patched into Block Move, Memory to Memory, or
Memory, or Load/Store instructions. They are usually defined as
EXTERNS, RELATIVES, or ABSOLUTES. The general format of this
type of patch is:
Load/Store instructions. Since the byte count is usually encoded in the