Intel hex i CRC

Forum dotyczące ogólnie pojętego programowania - algorytmów, struktur danych, narzędzi programistycznych, itp - głównie w kontekście komputerów PC.
ODPOWIEDZ
Awatar użytkownika
GrzesiekG
Użytkownik
Posty: 160
Rejestracja: 11 sie 2006, 8:06
Lokalizacja: Annopol
Kontakt:

Intel hex i CRC

Post autor: GrzesiekG » 16 lip 2008, 13:17

Witam.
Piszę program do emulatora pamięci ROM i potrzebuję informacji na temat formatu intel-hex. 1. Czy dane zapisane w takim pliku to kod binarny czy znaki ASCII?
2. Czy przy odczycie potrzebuję do czegoś sumy kontrolnej?
3. Korzystając z ASM x86 i przerwania 21h do operacji na pliku, czy coś poprzedza ten ciąg: ":" RECLEN OFFSET RECTYPE INFO/DATA CRC (jakiś nagłówek czy coś w tym stylu)?
4. Jeśli w RECLEN podane jest np. 10h to znaczy, że jest 8 znaków czy 16 znaków w "paczce"?
5. Czy CRC zajmuje zawsze 1 bajt?
6. Jak odróżnia się intel-hex 8-bitowe od 16-bitowego itp?
Reszta wątpliwości wyjdzie w "praniu".
Proszę o pomoc.

Awatar użytkownika
Ertew
Użytkownik
Posty: 1414
Rejestracja: 03 lip 2005, 10:36
Lokalizacja: Leszno
Kontakt:

Post autor: Ertew » 17 lip 2008, 18:13

1) Dane w pliku intel-hex składają się z adresu (nie ma sensu opisywać z osobna każdego identycznego, pustego kawałka pamięci), danych, czasem sumy kontrolnej.
Wszystkie elementy są normalnymi znakami ASCI (cyfry i litery A,B,C,D,E,F).

2) Jeśli dane pochodzą z niepewnego źródła jak dyskietka to można sprawdzić ich poprawność, lecz nie jest to konieczne.

3) Nie wiem.

4) Litera h oznacza zapis szesnastkowy, czyli w tym przypadku 16, jeśli można ją zmienić, to warto sprawdzić, czy idzie tam podać znaki 8,9,A,B,C,D,E,F.

5) CRC może przybierać różne formy, nawet do powtórzenia całego ciągu jeszcze raz, lecz nie wiem jak jest w przypadku plików hex.

6) Nie wiem, chodzi chyba o ilość bajtów w jednej linijce.

ODPOWIEDZ