Este es un formato estándar archivo hexadecimal de Intel utilizado por los enlazadores de muchos fabricantes.
El primer carácter siempre es ':'
Los siguientes dos dígitos hexadecimales son el conteo de bytes, en pares de dos dígitos, en el campo de datos de la línea. Así que la primera línea tiene dos bytes de datos, los siguientes ocho bytes y los últimos cero bytes.
Los siguientes cuatro dígitos hexadecimales son la dirección, en bytes. Olin ya ha mencionado por qué la dirección de inicio de 33 (0x21) se muestra como 0042.
Los siguientes dos dígitos hexadecimales son el tipo de registro. 02 es un tipo de dirección extendida, que permite que las direcciones se extiendan más allá del límite de 64K del formato original. Pero el campo de datos que sigue al 02 en la primera línea es 0000, por lo que realmente no hay ninguna extensión en este caso.
Los dos últimos dígitos hexadecimales son la suma de comprobación (consulte el artículo de Wikipedia para el cálculo).
En la segunda línea, el registro 00 dice que habrá un campo de dirección (por ejemplo, 0042) que precede al tipo de registro, y los ocho bytes de datos que siguen al tipo de registro (00, C0, ... a través de CF).
La última línea, con el tipo de registro 01, es un final de registro.