El formato de archivo de objeto hexadecimal Intel , formato Intel hex o Intellec Hex es un formato de archivo que transmite información binaria en forma de texto ASCII , [10] haciendo posible almacenar en medios no binarios como cintas de papel , tarjetas perforadas , etc., para visualizarse en terminales de texto o imprimirse en impresoras orientadas a líneas . [11] El formato se usa comúnmente para programar microcontroladores , EPROM y otros tipos de dispositivos lógicos programables y emuladores de hardware . En una aplicación típica, un compilador o ensamblador convierte el código fuente de un programa (como en C o lenguaje ensamblador ) en código de máquina y lo genera en un objeto o archivo ejecutable en formato hexadecimal (o binario). En algunas aplicaciones, el formato hexadecimal de Intel también se utiliza como formato de contenedor que contiene paquetes de flujo de datos . [12] Las extensiones de archivo comunes utilizadas para los archivos resultantes son .HEX [1] o .H86. [5] [6] Luego, un programador lee el archivo HEX para escribir el código de máquina en una PROM o lo transfiere al sistema de destino para su carga y ejecución. [11] [13] Existen varias herramientas para convertir archivos entre formato hexadecimal y binario (es decir, HEX2BIN ) y viceversa (es decir, OBJHEX, OH, OHX, BIN2HEX).
El formato hexadecimal de Intel se diseñó originalmente para los sistemas de desarrollo de microcomputadoras Intellec de Intel [14] : 10–11 (MDS) en 1973 para cargar y ejecutar programas desde cinta de papel . También se utilizó para especificar el contenido de la memoria de Intel para la producción de ROM , [15] que anteriormente tenía que codificarse en el formato BNPF (Begin-Negative-Positive-Finish), mucho menos eficiente. [14] : 11 En 1973, el "grupo de software" de Intel estaba formado únicamente por Bill Byerly y Kenneth Burgett, y Gary Kildall como consultor externo que hacía negocios como Microcomputer Applications Associates (MAA) y fundaba Digital Research en 1974. [16] [17 ] [18] [9] A partir de 1975, el formato fue utilizado por los sistemas Intellec Serie II ISIS-II que admitían unidades de disquete, con archivos que utilizaban la extensión de archivo HEX. [19] Muchos dispositivos de programación PROM y EPROM aceptan este formato.
Intel HEX consta de líneas de texto ASCII separadas por caracteres de avance de línea o de retorno de carro , o ambos. Cada línea de texto contiene caracteres hexadecimales en mayúsculas que codifican varios números binarios. Los números binarios pueden representar datos, direcciones de memoria u otros valores, dependiendo de su posición en la línea y del tipo y longitud de la línea. Cada línea de texto se llama registro .
Un registro (línea de texto) consta de seis campos (partes) que aparecen en orden de izquierda a derecha: [11]
Como ayuda visual, los campos de los registros Intel HEX están coloreados a lo largo de este artículo de la siguiente manera:
Código de inicio recuento de bytes DIRECCIÓN Tipo de registro Datos Suma de comprobación
El byte de suma de verificación de un registro es el complemento a dos del byte menos significativo (LSB) de la suma de todos los valores de bytes decodificados en el registro que precede a la suma de verificación. Se calcula sumando los valores de bytes decodificados y extrayendo el LSB de la suma (es decir, la suma de comprobación de datos), y luego calculando el complemento a dos del LSB (por ejemplo, invirtiendo sus bits y sumando uno).
Por ejemplo, en el caso del registro : 03 0030 00 02337A 1E , la suma de los valores de bytes decodificados es 03+00+30+00+02+33+7A= E2
, que tiene valor LSB E2
. El complemento a dos de E2
es1E , que es el byte de suma de verificación que aparece al final del registro.
La validez de un registro se puede verificar calculando su suma de verificación y verificando que la suma de verificación calculada sea igual a la suma de verificación que aparece en el registro; Se indica un error si las sumas de verificación difieren. Dado que el byte de suma de verificación del registro es el complemento a dos (y, por lo tanto, el inverso aditivo ) de la suma de verificación de datos, este proceso se puede reducir a sumar todos los valores de bytes decodificados, incluida la suma de verificación del registro, y verificar que el LSB de la suma sea cero. Cuando se aplica al ejemplo anterior, este método produce el siguiente resultado: 03+00+30+00+02+33+7A+1E = 100
, que tiene valor LSB 00
.
Los registros Intel HEX suelen estar separados por uno o más caracteres de terminación de línea ASCII para que cada registro aparezca solo en una línea de texto. Esto mejora la legibilidad al delimitar visualmente los registros y también proporciona relleno entre registros que se puede utilizar para mejorar la eficiencia del análisis de la máquina . Sin embargo, los caracteres de terminación de línea son opcionales, ya que ' : ' se utiliza para detectar el inicio de un registro. [15] [5] [24] [20] [21] [22] [23]
Los programas que crean registros HEX normalmente utilizan caracteres de terminación de línea que se ajustan a las convenciones de sus sistemas operativos . Por ejemplo, los programas de Linux utilizan un único carácter LF ( avance de línea , valor hexadecimal 0A
) para terminar las líneas, mientras que los programas de Windows utilizan un CR ( retorno de carro , valor hexadecimal 0D
) seguido de un LF.
Intel HEX tiene seis tipos de registros estándar: [11]
Se han utilizado otros tipos de registros para las variantes, incluidos06(mensajes 'parpadeantes'/contenedor de protocolo de transmisión) por Wayne y Layne, [34] 0A(inicio de bloque),0B(final del bloque),0C(datos rellenados),0D(datos personalizados) y0E(otros datos) de la BBC / Micro:bit Educational Foundation , [35] y81(datos en el segmento de código ),82(datos en segmento de datos ),83(datos en el segmento de pila ),84(datos en segmento extra ),85( dirección de párrafo para segmento de código absoluto),86(dirección de párrafo para segmento de datos absolutos),87(dirección de párrafo para el segmento de pila absoluto) y88(dirección del párrafo para segmento extra absoluto) por Digital Research . [6] [20]
El formato original de cinta de papel Intellec Hex de 4 bits/8 bits y el formato de tarjeta perforada por computadora Intellec Hex en 1973/1974 admitían solo un tipo de registro.00. [36] [37] [25] Esto se amplió alrededor de 1975 [ ¿cuándo? ] para admitir también el tipo de registro01. [15] A veces llamado formato hexadecimal simbólico , [38] podría incluir un encabezado opcional que contenga una tabla de símbolos para la depuración simbólica , [25] [28] [26] [9] se ignoran todos los caracteres en un registro que precede a los dos puntos. [15] [5]
Alrededor de 1978 [ ¿cuándo? ] , Intel presentó los nuevos tipos de registros02y03(para agregar soporte para el espacio de direcciones segmentado de los entonces nuevos procesadores 8086/8088 ) en su formato Intellec Hex extendido . [ ¿ cuando? ]
A veces se utilizan nombres especiales para indicar los formatos de archivos HEX que emplean subconjuntos específicos de tipos de registros. Por ejemplo:
Este ejemplo muestra un archivo que tiene cuatro registros de datos seguidos de un registro de fin de archivo:
: 10 0100 00 214601360121470136007EFE09D21901 40 : 10 0110 00 2146017E17C20001FF5F160021480119 28 : 10 0120 00 194E7923462396577 8239EDA3F01B2CA A7 : 10 0130 00 3F0156702B5E712B722B732146013421 C7 : 00 0000 01FF
Código de inicio recuento de bytes DIRECCIÓN Tipo de registro Datos Suma de comprobación
Además de la propia extensión de Intel, varios terceros también han definido variantes y extensiones del formato hexadecimal de Intel, incluido Digital Research (como en el llamado "formato hexadecimal de Digital Research" [6] [20] ), Zilog , Mostek , [ 29] [30] TDL , [30] [31] Texas Instruments , Microchip , [39] [40] c't , Wayne y Layne, [34] y BBC / Micro:bit Educational Foundation (con su "Formato Hexadecimal Universal " [35] ). Estos pueden tener información sobre puntos de entrada del programa y contenidos de registros , un orden de bytes intercambiados en los campos de datos, valores de relleno para áreas no utilizadas, bits de fusión y otras diferencias.
El formato hexadecimal de Digital Research para procesadores 8086 admite información de segmentos agregando tipos de registros para distinguir entre código, datos, pila y segmentos adicionales. [5] [6] [20]
La mayoría de los ensambladores para CP/M-80 (y también XASM09 para Motorola 6809 ) no usan el tipo de registro 01h para indicar el final de un archivo, sino que usan una entrada de tipo de datos de longitud cero 00h. [41] [1] Esto facilita la concatenación de múltiples archivos hexadecimales. [42] [43] [1]
Texas Instruments define una variante en la que las direcciones se basan en el ancho de bits de los registros de un procesador, no en bytes.
Microchip define variantes INTHX8S [44] (INHX8L, [1] INHX8H [1] ), INHX8M, [44] [1] [45] INHX16 [44] (INHX16M [1] ) e INHX32 [46] para sus microcontroladores PIC .
También se sabe que el macroensamblador cruzado AS de Alfred Arnold, [1] el emulador 8051 SIM51 de Werner Hennig-Roleff , [26] y el convertidor cruzado BINTEL de Matthias R. Paul [47] definen extensiones al formato hexadecimal de Intel.
[…] Para los microcontroladores PIC , el interruptor -m <0..3> permite generar las tres variantes diferentes del formato Intel Hex. El formato 0 es INHX8M que contiene todos los bytes en orden bajo-alto. Las direcciones se vuelven el doble de grandes porque los PIC tienen un espacio de direcciones orientado a palabras que incrementa las direcciones solo en una por palabra. […] Con el formato 1 (INHX16M), los bytes se almacenan en su orden natural. Este es el formato que utiliza Microchip para sus propios dispositivos de programación. Formato 2 (INHX8L) resp. 3 (INHX8H) divide las palabras en sus resp. inferiores. bytes superiores. […] Desafortunadamente, en la literatura se encuentran declaraciones diferentes sobre la última línea de un archivo Intel-Hex. Por tanto, P2HEX conoce tres variantes diferentes que pueden seleccionarse […] :00000001FF […] :00000001 […] :0000000000 […] Por defecto se utiliza la variante 0, que parece ser la más común. […] Si el nombre del archivo de destino no tiene una extensión, se supone que tiene una extensión HEX. […]
El programador TI-gang necesita formato de archivo .int, .hex, .a43.
De forma predeterminada, este modo está habilitado para archivos con extensión .a90, .hex, .a43 o .ihx.
[…] Lo siguiente se genera únicamente desde ASM-86: 81 igual que 00, los datos pertenecen al
segmento de código
[…] 82 igual que 00, los datos pertenecen al
segmento de datos
[…] 83 igual que 00, los datos pertenecen a
la pila segmento
[…] 84 igual que 00, los datos pertenecen a
un segmento adicional
[…]
Dirección de 85 párrafos
para el segmento de código absoluto […] Dirección de 86 párrafos para el segmento de datos absolutos […] Dirección de 87 párrafos para el segmento de pila absoluta […] Dirección de 88 párrafos para segmento adicional absoluto […] Se ignoran todos los caracteres que preceden a los dos puntos de cada registro.
[…](17 páginas)
[…] El formato
Intel
es idéntico al formato definido por Intel para el
8086
.
El formato
Digital Research
es casi idéntico al formato Intel, pero agrega información de segmento a registros hexadecimales.
Los resultados de cualquier formato se pueden ingresar en
GENCMD
, pero el formato de Investigación Digital proporciona automáticamente la identificación del segmento.
Un segmento es la unidad más pequeña de un programa que se puede reubicar.
[…] Es en la definición de los tipos de registro 00 y 02 donde el formato hexadecimal de Digital Research difiere del de Intel.
Intel define un valor para el tipo de registro de datos y el tipo de dirección de segmento.
Digital Research identifica cada registro con el segmento que lo contiene.
[…] 00H para datos pertenecientes a los 8086 segmentos […] 81H para datos pertenecientes al
segmento CODE
[…] 82H para datos pertenecientes al
segmento DATA
[…] 83H para datos pertenecientes al
segmento STACK
[…] 84H para datos perteneciente al
segmento EXTRA
[…] 02H para todos los registros de direcciones de segmento […] 85H para una dirección de segmento absoluto CODE […] 86H para una dirección de segmento DATOS […] 87H para una dirección de segmento STACK […] 88H para un segmento EXTRA DIRECCIÓN […][1] (1+viii+122+2 páginas)
[…] el formato de archivo
Intel
HEX puede contener mucho más que "bytes de datos".
Siempre que las líneas no comiencen con dos puntos (":"), pueden contener cualquier cosa que desee.
[…] Una vez vi un gran archivo HEX […] Contenía, al principio, el código fuente de un programa
PL/M
, seguido, al final, por el archivo HEX resultante producido por el compilador PL/M.
[…] Encontré otro archivo HEX que contenía varias líneas de comentarios, no al principio ni al final, sino separando varias líneas de "registros absolutos".
[…] era de un "Simulador (Intel)
8008
".
Entonces, al comienzo de su uso, era bien sabido que los archivos HEX podían contener explicaciones.
[…] bajo
CP/M
o cualquier sistema de 8 bits 64K, queda un caso: "Direcciones de página".
Desde CP/M, es estándar mostrar las direcciones de memoria usando el sistema hexadecimal […] como dijimos para los archivos BIN/COM, las direcciones de memoria son 0000/0100.
Observe que esas direcciones de memoria se pueden escribir 00-00/01-00 […] para decir: Página cero, dirección cero / Página uno, dirección cero.
[…] la dirección de memoria más alta en una computadora de 8 bits y 64K es FFFF […] Página FF, dirección FF […] las direcciones más bajas están en la página cero (o 00) y las direcciones más altas están en la página FF.
[…] Los tipos de archivos CP/M tienen 3 letras de largo, se podrían usar tipos de archivos del formato P00-PFF […] para indicar en qué dirección de memoria cargar el archivo HEX.
[…] Noté que la mayoría de mis direcciones terminaban en "00", por lo que la dirección de carga podría reducirse a la dirección de la página, que […] podría colocarse dentro del tipo de archivo […]
[…] el
Intel Intellec 8
[…] apareció por primera vez en algún momento de 1972 o 1973, dos años o más antes del
Altair 8800,
a menudo acreditado como el "primer microordenador" según las historias estándar […]
Intel
sostiene que el 8 Mod 8 se produjo por primera vez en 1973 y se suspendió en 1975. Tony Duell tiene una placa de CPU 8 Mod 80 fechada en 1972, y el 8 Mod 8 y el 4 Mod 40 figuran en el Catálogo de datos Intel publicado en febrero de 1976, por lo que el El período de producción puede haber sido algo más largo.
(Los documentos pertinentes de Intel deben leerse detenidamente porque los nombres MCS4, MCS40, MCS8 y MCS80 se utilizaron casi indiscriminadamente para referirse a conjuntos de chips, computadoras o sistemas completos).(52 páginas) (NB. Este artículo no menciona Intel Hex, pero menciona específicamente que el sistema Intellec de Intel se introdujo oficialmente en 1973, pero existen algunas unidades con fecha de 1972).
[…] En el formato Intel Intellec Hex, un campo de datos puede contener datos de 8 o 4 bits.
Se deben utilizar dos caracteres hexadecimales ASCII para representar datos de 8 y 4 bits.
En el caso de datos de 4 bits, sólo uno de los caracteres tiene significado y debe especificarse en el formulario de pedido de Intel PROM/ROM.
[…] Antes del primer campo de datos y después del último campo de datos debe haber una longitud de encabezado/avance de al menos 25 caracteres nulos.
Se pueden colocar comentarios (excepto dos puntos) en la
cabecera de la cinta
.
[…] Si los datos son de 4 bits, entonces el dígito de orden superior o inferior representa los datos y el otro dígito del par puede ser cualquier dígito hexadecimal ASCII.
[…][9][10] (468 páginas) (NB. Este manual también describe un " Formato de cinta de papel BPNF ", un "Formato de cinta de papel hexagonal no Intellec" y un "Formato de tarjeta perforada por computadora PN".)
[…] Los programas habían sido escritos y probados por el grupo de software de Intel, formado por otras dos personas y yo, y estábamos listos para la máquina real.
[…]
[…] Lo siguiente se genera únicamente desde ASM-86: 81 igual que 00, los datos pertenecen al
segmento de código
[…] 82 igual que 00, los datos pertenecen al
segmento de datos
[…] 83 igual que 00, los datos pertenecen al
segmento de pila
[…] 84 igual que 00, los datos pertenecen al
segmento adicional
[…] *
dirección de 85 párrafos
para el segmento de código absoluto […] * dirección de 86 párrafos para el segmento de datos absolutos […] * párrafo 87 dirección para el segmento de pila absoluto […] * Dirección de 88 párrafos para el segmento adicional absoluto […] * 85, 86, 87 y 88 son Extensiones de investigación digital.
[…] Se ignoran todos los caracteres que preceden a los dos puntos de cada registro.
[…](346 páginas) (NB. Este manual marca solo los tipos 85, 86, 87 y 88 como extensiones de Digital Research, como si los tipos 81, 82, 83, 84 no lo fueran).
[…] Entrada […] Este espacio se puede utilizar para avance de línea, retorno de carro o comentarios.
[…] Salida […] 2) Cada línea termina con un avance de línea no imprimible, retornos de carro y valores nulos.
[…](1+ii+19 páginas)
[…] Retorno de carro no imprimible, avance de línea y nulos determinados por el recuento de nulos […](56 páginas)
[…] (g) Generalmente, se agrega un código de control (como CR y LF).
Los datos de este campo se omiten hasta que aparece el carácter inicial ":" de (a).
Dado que los campos (a), (b), (c), (d) y (f) siempre existen, la longitud mínima de un registro es de 11 bytes y la longitud máxima es de 521 bytes.
[…](4+x+350 páginas)
[…]
PIP
realiza una función especial si el destino es un archivo de disco con tipo "HEX" (un archivo de código de máquina con formato hexadecimal
de Intel
) y la fuente es un dispositivo periférico externo, como un
papel. lector de cintas
.
En este caso, el programa PIP verifica que el archivo fuente contenga un archivo hexadecimal formado correctamente, con valores hexadecimales legales y registros de suma de verificación.
Cuando se encuentra un registro de entrada no válido, PIP informa un mensaje de error en la
consola
y espera una acción correctiva.
Generalmente es suficiente abrir el lector y volver a pasar una sección de la cinta (tire de la cinta hacia atrás unas 20 pulgadas).
Cuando la cinta está lista para la relectura, se escribe un único
retorno de carro
en la consola y PIP intentará otra lectura.
Si la posición de la cinta no se puede leer correctamente, el usuario continúa la lectura (escribiendo un valor después del mensaje de error) e ingresa el registro manualmente con el programa ED después de que se construye el archivo del disco.
Para mayor comodidad, PIP permite
ingresar el
final del archivo
desde la consola si el archivo fuente es un dispositivo
RDR:.
En este caso, el programa PIP lee el dispositivo y monitorea el teclado.
Si se escribe
ctl-Z
en el teclado, la operación de lectura finaliza normalmente.
[…]
[…] Enviar 40
nulos
al dispositivo
de punzonado
;
Copie el archivo X.ASM en la perforadora, seguido de un final de archivo (ctl-Z) y 40 caracteres nulos más.
[…]
[…] Transferencia de datos HEX: se verifica que todos los datos tengan el formato de archivo hexadecimal Intel adecuado.
Los caracteres no esenciales entre registros hexadecimales se eliminan durante la operación de copia.
Se solicitará a la consola una acción correctiva en caso de que se produzcan errores.
[…]
[…] Ignore los registros ":00" en la transferencia de archivos de formato hexadecimal Intel (el parámetro I establece automáticamente el parámetro H).
[…]
[…] Primero copie X.HEX al dispositivo PUN: e ignore el registro final ":00" en X.HEX;
continúe la transferencia de datos leyendo Y.ZOT, que contiene registros HEX, incluidos los registros ":00" que contiene.
[…]
[13] (6+250 páginas)PIP PUN:=NUL:,X.ASM,EOF:,NUL:
H
I
PIP PUN:=X.HEX[i],Y.ZOT[h]
1 CARRY 05714
2 ZERO 05715
3 SIGN 05716
4 PARITY 05717
5 MEMORY 06000
23 SQUAREROOT 04003
[…]
83 MONITORUSES 05766
$
****************************************
:1008000044520A2E0B36D0F930FA31CF30D730F9B6
[…]
:100AF0000936F4C730D70401C8C20C0031F930F808
:040B0000445E0AFF46
****************************************
:0000000000
$
(1+i+100+1+11+1 páginas) (NB. Muestra un ejemplo que contiene separadores basados en asteriscos y un encabezado con sangría espacial con nombres de símbolos que serán procesados por el comando HEXOBJ de Intel ISIS así como por INTERP/ 8 o INTERP/80 para la depuración simbólica . Este encabezado opcional no está documentado como parte de los formatos hexadecimal o BNPF de Intel , sino en los manuales de programación en ensamblador y PL/M de Intel que producen dichas tablas de símbolos).[…] Beim Absolut-Hex Konvertierprogramm von
Keil
können opcional […] Symbol-Informationen in den Hex-File aufgenommen werden.
La información de símbolos se guarda en la entrada de archivos, antes que ':'.
La información de símbolos sind allerdings nicht sehr aussagekräftig, da nicht unterschieden wird zwischen Modul-Name, CODE, XDATA, DATA, IDATA, BIT, NUMBER.
Para que los símbolos incluidos no se utilicen caracteres ASCII.
Pro Zeile ist 1 Symbol angeschrieben und zwar in der Form: "0 SymbolName Wert" […][14][15] (NB. Esta es una versión anterior de SIM51, el software y la documentación se mantuvieron hasta 1996.)
[…] Información de depuración en Intel con un "$" an.
Dann kamen der Name des Symbols und die Adresse.
Kommentare hatten als erstes Zeichen ein ";".
[…] El ASM48 bajo
ISIS-2
produce solche Hexfiles, […] el ASM86 también.
[…]
[…] El código está formateado en bytes de datos hexadecimales.
El archivo contiene la representación ASCII de los bytes de datos hexadecimales.
El código objeto en sí está precedido por una tabla de símbolos.
Estas dos partes se pueden cargar o guardar juntas o por separado.
La tabla de símbolos es una serie de registros terminados con un signo de dólar.
Cada registro contiene tres campos separados por uno o más espacios ASCII: […] un campo numérico […] un campo de etiqueta que contiene la representación ASCII de un símbolo del programa fuente […] un campo de dirección que contiene la dirección hexadecimal asignada al símbolo [… ] La tabla de símbolos termina con un registro cuyo primer carácter que no está en blanco es un signo de dólar.
El código objeto […] sigue la tabla de símbolos […] Cada uno de estos registros o líneas físicas son seis campos lógicos de diferente longitud en caracteres o cuadros.
[…](90 páginas) (NB. El Intel 2920 fue un procesador de señales digitales lanzado en 1979).
[…] I […] Intel Hex con comentarios sobre la descarga y tolerancia de errores de suma de comprobación en la carga […](66 páginas)
[…] Cuadros 7,8: Tipo de registro […] Dos caracteres ASCII.
Actualmente (1974), todos los registros son del tipo 0. Este campo está reservado para futuras ampliaciones […][18]
[…] Debido a que el formato de archivo hexadecimal de Intel está orientado a bytes y la PC de 16 bits no, las secciones de la memoria del programa requieren un tratamiento especial. Cada palabra de programa de 24 bits se amplía a 32 bits mediante la inserción del llamado "byte fantasma". Cada dirección de memoria del programa se multiplica por 2 para obtener una dirección de byte. Por ejemplo, una sección ubicada en 0x100 en la memoria del programa se representará en el archivo hexadecimal como 0x200. Considere la siguiente fuente en lenguaje ensamblador: […] ; archivo test.s […] .section foo,code,address(0x100) […] .pword 0x112233 […] Se producirá el archivo […], con el siguiente contenido: […] :020000040000fa […] :040200003322110096 […] :00000001FF […] el registro de datos (línea 2) tiene una dirección de carga de 0200, mientras que el código fuente especifica la dirección 0x100. […]t los datos se representan en formato "little-endian", lo que significa que el byte menos significativo aparece primero. El byte fantasma aparece al final, justo antes de la suma de comprobación. […](277 páginas)
[…] Den Vorspann beschließt un Byte, dessen Wert den des Blockes angibt: 0 = Datenblock, 1 = Endblock.
Auf diese Unterscheidung kann jedoch verzichtet werden, wenn sich ein Endblock auch durch eine Blocklänge gleich Null eindeutig kennzeichnen läßt.
(Por lo tanto, coloque el ensamblador principal en
CP/M
, además del XASM09; el Typbyte es nulo).
[…][22] (NB. XASM09 es un ensamblador Motorola 6809 ).
[…] Los ensambladores para PIC16C5X pueden producir archivos de objetos PIC16C5X en varios formatos.
Un programador PIC16C5X debe poder aceptar y enviar datos en al menos uno de los siguientes formatos.
Se prefiere el formato combinado de 8 bits (INHX8M).
[…] formato […] INHX8S […] produce dos archivos hexadecimales de 8 bits.
Un archivo contendrá los pares de dirección/datos para los 8 bits de orden superior y el otro archivo contendrá los 8 bits de orden inferior.
Las extensiones de archivo para el código objeto serán '.obl' y '.obh' para archivos de orden bajo y alto […] formato […] INHX8M […] produce un archivo hexadecimal de 8 bits con una combinación de bytes bajos y bytes altos.
Dado que cada dirección sólo puede contener 8 bits en este formato, todas las direcciones se duplicarán.
Las extensiones de archivo para el código objeto serán '.obj' […] formato […] INHX16 […] produce un archivo hexadecimal de 16 bits.
La extensión de archivo para el código objeto será '.obj'.
[…][23][24]
Formato de objeto de dirección de palabra hexadecimal Intel […] Este formato es idéntico al formato de objeto hexadecimal de Intel, excepto que la dirección de cada línea de código de objeto se divide por dos, convirtiéndola así en una dirección de palabra (palabra de 16 bits). Todos los demás campos son idénticos. Aquí hay un ejemplo: […] :180800000102030405060708090A0B0C0D0E0F101112131415161718AC […] :02080C00191AA3 […] :00000001FF […](32 páginas)