Intel Hex tiedosto
Tässä on 250 e ohjelmointilaite
Tässä toinen

Tässä on sopiva ohjelmointilaite
http://probyte.fi/html/eprom_ohjelmointi.html
Tässä on pieni Intel hex-koodi tiedosto
:03800000028100FA
:0F810000E47F00EFF4F5907E50DEFEDFF680FEA8
:00000001FF
Vertaa sitä assembly koodiin
8000 12 cseg at 8000h
8000 028100 13 jmp main
14
8100 15 org 8100h
16
8100 E4 17 main: clr a
8101 7F00 18 mov r7,#0
8103 EF 19 loop: mov a,r7
8104 F4 20 cpl a
8105 F590 21 mov p1,a
8107 7E50 22 mov r6,#50h
8109 DEFE 23 djnz r6,$
810B DFF6 24 djnz r7,loop
810D 80FE 25 jmp $
26
27
28
29 end
Nyt voit tutkia allaolevan kuvan perusteella Hex-koodia.
'===================================
:10010000214601360121470136007EFE09D2190140
:100110002146017E17C20001FF5F16002148011928
:10012000194E79234623965778239EDA3F01B2CAA7
:100130003F0156702B5E712B722B732146013421C7
:00000001FF
Intel hex koodi on tavallinen ASCII tiedosto, jonka pääte on .hex
Tätä on käytettty ainakin 1974 vuodesta alkaen.
Sitä käytetään siirtämään kääntäjän tuottamaa koodia prommarille.
Melkein kaikki prommarit osaavat lukea Intel -Hex-koodia.
-Aloituskoodi ASCII kaksoispiste ":".
-Kaksi hex numeroa, joka osoittaa tavujen määrän (hex numero paria) datakentässä.
Tavujen enimmäismäärä on 255 (0xFF).
16 (0x10) ja 32 (0x20) käytetään yleisesti tavujen laskentaan.
- Prosessorin osoite, neljä hex numeroa,jotka edustavat 16-bittisistä muistia.
Fyysinen osoite sadaan lisäämällä tämä osoite aiemmin perustettuun perusosoitteeseen,jolloin muistiosoitus menee yli 64 kilotavurajojen. Tämä on 16-bittinen osoite.
Base osoitteet ja osoitteen siirtymät ilmaistaan aina iso endian arvoina.
- Kahdella hex numerolla, 00-05, määritellään merkitys datakentässä.
00 on data
01 on datan loppu
02 extended segment data
03 start of segment data
04 laajennettu lineeaarinen osoite
05 lineaarinen osoite
-Tarkistussumma, kaksi hex numeroa,laskennallista arvoa,jota voidaan
käyttää tarkistamaan, että datassa ei ole virheitä.
Esimerkiksi: 0300300002337A1E, summa dekoodatun tavujen arvoja on 03 + 00 + 30 + 00 + 02 + 33 + 7A = E2.
Kahden komplementti E2 on 1E, joka on tarkistussumma tavu esiintyvät lopussa.
Toinen esimerkki
:02000004FFFFFC
02 on monta byteä on rivllä
0000 on osoitekenttä. Extended linear address tietueeseessa, tämä kenttä on aina 0000.
04 Tietueen tyyppi on 04 (extended linear address-tietue).
FFFF on ylempi osa 16 bitin osoitteesta.
FC on lasketty arvo
01h + NOT(02h + 00h + 00h + 04h + FFh + FFh).
I8HEX tiedostot käyttävät vain tietuetyyppiä 00 ja 01 (16-bittinen osoitteet)
I16HEX tiedostot käyttävät vain tietuetyyppien 00 kautta 03 (20 bitin osoitteet)
I32HEX tiedostot käyttävät vain tietuetyyppejä 00, 01, 04, ja 05 (32 bit osoitteet)





