Cryn, los registros de tipo
00, de datos, tienen el
Address inicial del primer byte a colocar con solo
16 bits, cuatro dígitos en hexadecimal ... sin embargo hay direcciones en los PIC's mayores que
0xFFFF por lo que entonces se usan los registros de tipo
04, sirven para
completar direcciones mayores, hasta
32 bits. Es como añadirle un
Offset a todas las direcciones de los registros que vengan a continuación.
Así si tenemos dos registros como estos (separo los dígitos significativos):
:02 0000 04 0030 CA:0E 0000 00 00 0C 1E 1F 00 83 81 00 0F C0 0F E0 0F 40 98El primero, el de tipo
04, indica que la dirección de los que le siguen deben completarse con
0030 para formar una dirección de
32 bits.
El siguiente registro, el de tipo
00, indica que hay que poner
0E bytes a partir de la dirección
0000, pero como tenemos un
offset anterior dado por el registro de tipo
04, la dirección real será
00300000 para el primer byte,
00300001 para el segundo,
00300002 para el tercero .... etc.
Fíjate que los HEX acostumbran a empezar por un registro de tipo 04 en la forma:
:020000040000FAque indica que lo que viene a continuación debe empezar en
0000. Esto sirve para prevenir que el PIC pueda haberse quedado con un offset anterior y que al recibir una nueva linea de datos lo envíe a cualquier sitio. Es como
inicializar el puntero de memoria para empezar a recibir datos.