commit e3ae10069edd98593b2bcfcaa411ef4fc0f7ab9c Author: Jens Ahrensfeld Date: Sat Jul 19 07:44:42 2014 +0000 Initial import git-svn-id: http://moon:8086/svn/software/trunk/libsrc/ihexparse@1 b431acfa-c32f-4a4a-93f1-934dc6c82436 diff --git a/ihexparse.c b/ihexparse.c new file mode 100755 index 0000000..a5f0330 --- /dev/null +++ b/ihexparse.c @@ -0,0 +1,108 @@ +/*************************************************************************/ +/* ihexparse.h +/*************************************************************************/ +#include +#include +#include +#include + +UINT32 HexCreate(HEXREC *pObj, char *name) +{ + pObj->pFile = fopen(name,"wa"); + if (pObj->pFile <= 0) + return -1; + return 0; +} + +UINT32 HexOpen(HEXREC *pObj, char *name) +{ + pObj->pFile = fopen(name,"ra"); + if (pObj->pFile <= 0) + return -1; + return 0; +} + +UINT32 HexReadRecord(HEXREC *pObj) +{ + UINT8 val8; + UINT16 i; + UINT32 val32; + INT32 status; + + val8 = 0; + /* Read Record Start character */ + while (val8 != ':') + { + status = fscanf(pObj->pFile,"%c",&val8); + if (status <= 0) + return HEXREC_ERROR; + } + + /* Read Record Length */ + fscanf(pObj->pFile,"%2x",&pObj->length); + + /* check if hex file is finished */ + if (pObj->length == 0) + { + status = fscanf(pObj->pFile,"%8x",&val32); + if (status <= 0) + return HEXREC_ERROR; + if (val32 == 0x000001FF) + return HEXREC_END; + } + + /* Read Start Address */ + fscanf(pObj->pFile,"%4x",&pObj->dataStart); + + /* Read Record Type */ + fscanf(pObj->pFile,"%2x",&pObj->type); + + /* Read Record Data */ + for (i=0; i length; i++) + fscanf(pObj->pFile,"%2x",&pObj->recData[i]); + + /* Read Checksum */ + fscanf(pObj->pFile,"%2x",&pObj->checksum); + if (pObj->checksum != HexCalcChecksum(pObj)) + return HEXREC_ERROR; + + return i; +} + +UINT32 HexWriteRecord(HEXREC *pObj) +{ + UINT16 i; + + fprintf(pObj->pFile,":%2.2X%4.4X%2.2X",pObj->length,pObj->dataStart,pObj->type); + + for (i=0; i < pObj->length; i++) + fprintf(pObj->pFile, "%2.2X",pObj->recData[i]); + + pObj->checksum = HexCalcChecksum(pObj); + fprintf(pObj->pFile, "%2.2X\n",pObj->checksum); + + return i; +} + +UINT32 HexClose(HEXREC *pObj) +{ + pObj->length=0; + pObj->type=0x01; + pObj->dataStart=0x0000; + return HexWriteRecord(pObj); +} + +UINT8 HexCalcChecksum(HEXREC *pObj) +{ + UINT16 i; + UINT8 sum; + + sum = pObj->dataStart & 0xFF; + sum += (pObj->dataStart >> 8) & 0xFF; + sum += pObj->length + pObj->type; + + for (i=0; i < pObj->length; i++) + sum += pObj->recData[i]; + + return (0xFF - sum + 1); +} diff --git a/ihexparse.h b/ihexparse.h new file mode 100755 index 0000000..f5a92ad --- /dev/null +++ b/ihexparse.h @@ -0,0 +1,34 @@ +/*************************************************************************/ +/* ihexparse.h +/*************************************************************************/ + +/*************************************************************************/ +/* Function prototypes +/*************************************************************************/ +#ifndef IHEX_H +#define IHEX_H + +typedef struct _sHEXREC +{ + UINT8 length; + UINT16 dataStart; + UINT8 type; + UINT8 recData[255]; + UINT8 checksum; + FILE *pFile; +#define HEXREC_MAXLEN 16 +#define HEXREC_END 0 +#define HEXREC_ERROR 0x80000000 +} HEXREC; + +/*************************************************************************/ +/* Function prototypes +/*************************************************************************/ +UINT32 HexCreate(HEXREC *pRec, char *name); +UINT32 HexOpen(HEXREC *pRec, char *name); +UINT32 HexReadRecord(HEXREC *pRec); +UINT8 HexCalcChecksum(HEXREC *pRec); +UINT32 HexWriteRecord(HEXREC *pRec); +UINT32 HexClose(HEXREC *pRec); + +#endif /* IHEX_H */ \ No newline at end of file diff --git a/test/Debug/Test.hex b/test/Debug/Test.hex new file mode 100755 index 0000000..767f0ed --- /dev/null +++ b/test/Debug/Test.hex @@ -0,0 +1,35 @@ +:0300000002001EDD +:03001B000200627E +:10001E0075812153E88075985043878043D880C2FC +:10002E00ACD299C298758D38758B387588007589E4 +:10003E002275A90975B90075A800D2ABD2AFD28EC0 +:10004E0012007EF5F843F880700500000080F10084 +:10005E00000080EC1200C512006932C0D0A20592D9 +:10006E00E8A20492E9A20692EEA20892EAD0D02269 +:10007E00120098D2051201B33002F8C2054008D220 +:10008E00041200E4C2042202017F750932751500C4 +:10009E00C204C205C206C207C208D200D203D201F0 +:1000AE00C202221201CB30020B1201CB200205E557 +:1000BE0015700122740822200105D50A02D201D53D +:1000CE000913750932200005D50802D20020030558 +:1000DE00D50B02D20322780C7A007B001201B320DA +:1000EE000205500602017C02017FEB0B9002079382 +:1000FE0012018F30020302017F120117700AE5F020 +:10010E00F608E515B43AE3E422A915B9070302018E +:10011E0078B90E03020178B9140630E55102017860 +:10012E00B91C0820D010547F020178B9230B20D0BF +:10013E0005543F020178020182B929061201850297 +:10014E000178B92C06120185020178B93106120127 +:10015E0085020178B9391A1201851201B3200211F4 +:10016E00C5F0EA3330D005020182F5F0E4227401C5 +:10017E0022740422740222A2D0C0E0EA33FAD0E044 +:10018E0022F5F0C0F0E41201B3300203D0F02213D6 +:10019E00D5F0F3D0F0C0E07408C395F0F5F0D0E0E0 +:1001AE0003D5F0FC22C0E01201CB20020D75080F22 +:1001BE00C2003000FD1201F99206D0E022750B64E8 +:1001CE00C2031201F920032040F8750B64C203121A +:1001DE0001F920031350F8C20805153002077515F2 +:1001EE0000D208C202D20722D20222A2EF40087524 +:1001FE000A05C2013001FDB32207070608070603F0 +:02020E000508E1 +:00000001FF diff --git a/test/Debug/ihexparse.exe b/test/Debug/ihexparse.exe new file mode 100755 index 0000000..fe605f0 Binary files /dev/null and b/test/Debug/ihexparse.exe differ diff --git a/test/Debug/ihexparse.ilk b/test/Debug/ihexparse.ilk new file mode 100755 index 0000000..2bdf341 Binary files /dev/null and b/test/Debug/ihexparse.ilk differ diff --git a/test/Debug/ihexparse.obj b/test/Debug/ihexparse.obj new file mode 100755 index 0000000..b832a3e Binary files /dev/null and b/test/Debug/ihexparse.obj differ diff --git a/test/Debug/ihexparse.pch b/test/Debug/ihexparse.pch new file mode 100755 index 0000000..8a07758 Binary files /dev/null and b/test/Debug/ihexparse.pch differ diff --git a/test/Debug/ihexparse.pdb b/test/Debug/ihexparse.pdb new file mode 100755 index 0000000..fbef15a Binary files /dev/null and b/test/Debug/ihexparse.pdb differ diff --git a/test/Debug/main.obj b/test/Debug/main.obj new file mode 100755 index 0000000..de6a29e Binary files /dev/null and b/test/Debug/main.obj differ diff --git a/test/Debug/test.bin b/test/Debug/test.bin new file mode 100755 index 0000000..c9ab771 Binary files /dev/null and b/test/Debug/test.bin differ diff --git a/test/Debug/vc60.idb b/test/Debug/vc60.idb new file mode 100755 index 0000000..31b9ae3 Binary files /dev/null and b/test/Debug/vc60.idb differ diff --git a/test/Debug/vc60.pdb b/test/Debug/vc60.pdb new file mode 100755 index 0000000..09abea5 Binary files /dev/null and b/test/Debug/vc60.pdb differ diff --git a/test/Main.c b/test/Main.c new file mode 100755 index 0000000..266941c --- /dev/null +++ b/test/Main.c @@ -0,0 +1,68 @@ +#include +#include + +#include "types.h" +#include "ihexparse.h" +#include + +#define BUFSIZE 65536 +UINT8 *pBuffer; + +int main(int argc, char *argv[]) +{ + FILE *pFile; + HEXREC recIn, recOut; + INT32 count; + UINT16 maxAddress, fileLen; + + if (argc < 2) + { + printf("Usage: IHexParse \n"); + return 1; + } + + HexOpen(&recIn, argv[1]); + HexCreate(&recOut, "out.hex"); + + pFile = fopen("out.bin","wb"); + if (pFile <= 0) + return 1; + + pBuffer = malloc(BUFSIZE); + memset(pBuffer, 0xFF, BUFSIZE); + maxAddress = 0; + + count = 1; + + while (count > 0) + { + count = HexReadRecord(&recIn); + if (count > 0) + { + memcpy(recOut.recData, recIn.recData, recIn.length); + recOut.dataStart = recIn.dataStart; + recOut.length = recIn.length; + recOut.type = recIn.type; + HexWriteRecord(&recOut); + } + if (maxAddress > recIn.dataStart) + continue; + else + { + maxAddress = recIn.dataStart; + fileLen = maxAddress + recIn.length; + } + } + memcpy(&pBuffer[recIn.dataStart], recIn.recData, recIn.length); + if ((INT32)count < 0) + printf("Error in HEX file\n"); + + HexClose(&recOut); + HexClose(&recIn); + + fwrite(pBuffer, sizeof(UINT8), fileLen, pFile); + fclose (pFile); + free(pBuffer); + return 0; +} + diff --git a/test/hex.txt b/test/hex.txt new file mode 100755 index 0000000..767f0ed --- /dev/null +++ b/test/hex.txt @@ -0,0 +1,35 @@ +:0300000002001EDD +:03001B000200627E +:10001E0075812153E88075985043878043D880C2FC +:10002E00ACD299C298758D38758B387588007589E4 +:10003E002275A90975B90075A800D2ABD2AFD28EC0 +:10004E0012007EF5F843F880700500000080F10084 +:10005E00000080EC1200C512006932C0D0A20592D9 +:10006E00E8A20492E9A20692EEA20892EAD0D02269 +:10007E00120098D2051201B33002F8C2054008D220 +:10008E00041200E4C2042202017F750932751500C4 +:10009E00C204C205C206C207C208D200D203D201F0 +:1000AE00C202221201CB30020B1201CB200205E557 +:1000BE0015700122740822200105D50A02D201D53D +:1000CE000913750932200005D50802D20020030558 +:1000DE00D50B02D20322780C7A007B001201B320DA +:1000EE000205500602017C02017FEB0B9002079382 +:1000FE0012018F30020302017F120117700AE5F020 +:10010E00F608E515B43AE3E422A915B9070302018E +:10011E0078B90E03020178B9140630E55102017860 +:10012E00B91C0820D010547F020178B9230B20D0BF +:10013E0005543F020178020182B929061201850297 +:10014E000178B92C06120185020178B93106120127 +:10015E0085020178B9391A1201851201B3200211F4 +:10016E00C5F0EA3330D005020182F5F0E4227401C5 +:10017E0022740422740222A2D0C0E0EA33FAD0E044 +:10018E0022F5F0C0F0E41201B3300203D0F02213D6 +:10019E00D5F0F3D0F0C0E07408C395F0F5F0D0E0E0 +:1001AE0003D5F0FC22C0E01201CB20020D75080F22 +:1001BE00C2003000FD1201F99206D0E022750B64E8 +:1001CE00C2031201F920032040F8750B64C203121A +:1001DE0001F920031350F8C20805153002077515F2 +:1001EE0000D208C202D20722D20222A2EF40087524 +:1001FE000A05C2013001FDB32207070608070603F0 +:02020E000508E1 +:00000001FF diff --git a/test/ihexparse.dsp b/test/ihexparse.dsp new file mode 100755 index 0000000..fc49f6b --- /dev/null +++ b/test/ihexparse.dsp @@ -0,0 +1,104 @@ +# Microsoft Developer Studio Project File - Name="ihexparse" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** NICHT BEARBEITEN ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=ihexparse - Win32 Debug +!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE +!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl +!MESSAGE +!MESSAGE NMAKE /f "ihexparse.mak". +!MESSAGE +!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben +!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel: +!MESSAGE +!MESSAGE NMAKE /f "ihexparse.mak" CFG="ihexparse - Win32 Debug" +!MESSAGE +!MESSAGE Für die Konfiguration stehen zur Auswahl: +!MESSAGE +!MESSAGE "ihexparse - Win32 Release" (basierend auf "Win32 (x86) Console Application") +!MESSAGE "ihexparse - Win32 Debug" (basierend auf "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "ihexparse - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD BASE RSC /l 0x407 /d "NDEBUG" +# ADD RSC /l 0x407 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 + +!ELSEIF "$(CFG)" == "ihexparse - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD BASE RSC /l 0x407 /d "_DEBUG" +# ADD RSC /l 0x407 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "ihexparse - Win32 Release" +# Name "ihexparse - Win32 Debug" +# Begin Group "Quellcodedateien" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\ihexparse.c +# End Source File +# Begin Source File + +SOURCE=.\main.c +# End Source File +# End Group +# Begin Group "Header-Dateien" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Ressourcendateien" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/test/ihexparse.dsw b/test/ihexparse.dsw new file mode 100755 index 0000000..ff46d7c --- /dev/null +++ b/test/ihexparse.dsw @@ -0,0 +1,29 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00 +# WARNUNG: DIESE ARBEITSBEREICHSDATEI DARF NICHT BEARBEITET ODER GELÖSCHT WERDEN! + +############################################################################### + +Project: "ihexparse"=.\ihexparse.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/test/ihexparse.ncb b/test/ihexparse.ncb new file mode 100755 index 0000000..f550beb Binary files /dev/null and b/test/ihexparse.ncb differ diff --git a/test/ihexparse.opt b/test/ihexparse.opt new file mode 100755 index 0000000..a872249 Binary files /dev/null and b/test/ihexparse.opt differ diff --git a/test/ihexparse.plg b/test/ihexparse.plg new file mode 100755 index 0000000..21a94a8 --- /dev/null +++ b/test/ihexparse.plg @@ -0,0 +1,33 @@ + + +
+

Erstellungsprotokoll

+

+--------------------Konfiguration: ihexparse - Win32 Debug-------------------- +

+

Befehlszeilen

+Erstellen der temporären Datei "D:\WIN98\TEMP\RSP10D4.TMP" mit Inhalten +[ +/nologo /MLd /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Debug/ihexparse.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c +"E:\home\Develop\80x86\libsrc\ihexparse\ihexparse.c" +] +Creating command line "cl.exe @D:\WIN98\TEMP\RSP10D4.TMP" +Erstellen der temporären Datei "D:\WIN98\TEMP\RSP10D5.TMP" mit Inhalten +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:yes /pdb:"Debug/ihexparse.pdb" /debug /machine:I386 /out:"Debug/ihexparse.exe" /pdbtype:sept +.\Debug\ihexparse.obj +.\Debug\main.obj +] +Erstellen der Befehlzeile "link.exe @D:\WIN98\TEMP\RSP10D5.TMP" +

Ausgabefenster

+Kompilierung läuft... +ihexparse.c +Linker-Vorgang läuft... + + + +

Ergebnisse

+ihexparse.exe - 0 Fehler, 0 Warnung(en) +
+ + diff --git a/test/out.bin b/test/out.bin new file mode 100755 index 0000000..46b3084 --- /dev/null +++ b/test/out.bin @@ -0,0 +1 @@ +˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ \ No newline at end of file diff --git a/test/out.hex b/test/out.hex new file mode 100755 index 0000000..d72f379 --- /dev/null +++ b/test/out.hex @@ -0,0 +1,120 @@ +:03000000020100FA +:03000B000203B23B +:03001300020411D3 +:10010000758131750932750A32751D00750D0075DE +:100110001C20D210C290C211D212D214D213758CEC +:1001200038758A38758BFD758DFD75880075892247 +:1001300075B80275A800D28E12035612041F12035E +:100140008C12036C120471D2AFD2A9D28C12021697 +:1001500070AE12033712017F120397E51D6012B4CF +:100160000103020179B4020302017BB403E402013A +:100170007D1201B712032E80D980D780D580D3128B +:10018000035D5002F50822C20C120787C0E0C0824E +:10019000C083C0D07480120719900450751F00C22C +:1001A0000DC20E1207E1D0D0D083D082D0E0E51D81 +:1001B00012037E12034022E5086012B46806750837 +:1001C000000201D5B46D327508000201E830122931 +:1001D000208210C212E50B120352B42401E4F50B85 +:1001E00012020F208313C212E50C120352B46001F5 +:1001F000E4F50C1201FA12020F22C2A9750D007566 +:100200000932750A32758A38D210C28DD2A92212EB +:10021000024912023322D290120457701312048A38 +:10022000700E1201FA852C0B852B0CD21412041CB3 +:10023000C29022900000780BE61205E91202F3A3A7 +:1002400008E61205E91202F322740D120364780B1A +:10025000E612037E120349743A12036408E612039D +:100260007E120349743A12036408E612037E1203F5 +:100270004922C0E0C0D0C0F0D20BC0E0C082C08331 +:10028000C0D07480120719900441751F00C20DC2BE +:100290000E1207E1D0D0D083D082D0E0748612074E +:1002A00019E50B12037E120340743A120768E50C3D +:1002B00012037E120340E51C120768E50D12037E4F +:1002C000120340D0F0D0D0D0E022900000120636C9 +:1002D0001202F3B423030202DC4001E4780BF6A31C +:1002E0001206361202F3B459030202EF4001E47819 +:1002F0000CF622400122C0E0C20C120787C0E0C009 +:1003000082C083C0D07480120719900426751F0024 +:10031000C20DC20E1207E1D0D0D083D082D0E074DB +:10032000C9120719D0E012037E12034080FE301379 +:0903300005120249C2132230112A +:1003390005120233C21122120768E5F0120768227A +:10034900120364E5F0120364222401D42243878056 +:1003590043985622E599A298C298223099FDC299EC +:10036900F59922900817E493F520900818E493F57D +:100379002112078722F5F0540F4430C5F0C4540FF9 +:10038900443022740D120364740A12036422E508CE +:100399006016B42013750800E51D120352B411014B +:1003A900E4F51D600312018722C0E0C0D012049E4B +:1003B900301D0AC21D1201FAD21412041CD50943B8 +:1003C900750932D50A3D750A32D212B210201006CB +:1003D900751C20020407751C3AD213E50D1203524D +:1003E900B46019E50C120352B4600CE50B12035208 +:1003F900B42401E4F50BE4F50CD211E4F50DD214A3 +:1004090012041CD0D0D0E032301405C2141202728A +:10041900D2B332C2B322D2B3C28AD2AA224545503C +:10042900524F4D204143434553530D4641494C5585 +:10043900524520282020290054696D653A20004141 +:0E0449006C61726D3A20004D6F6465202300D7 +:10045700120471D21A12058C3017F8C21A4008D24A +:10046700191204BDC21922020558752532753100CB +:10047700C219C21AC21BC21CC21DD215D218D2166B +:10048700C217221205A430170B1205A4201705E581 +:1004970031700122740822201605D52602D216D5FE +:1004A7002513752532201505D52402D215201805E8 +:1004B700D52702D2182278287A007B0012058C20D3 +:1004C70017055006020555020558EB0B9005E093FA +:1004D7001205683017030205581204F0700AE5F098 +:1004E700F608E531B43AE3E422A931B90703020576 +:1004F70051B90E03020551B9140630E551020551F1 +:10050700B91C0820D010547F020551B9230B20D005 +:1005170005543F02055102055BB9290612055E0223 +:100527000551B92C0612055E020551B931061205AF +:100537005E020551B9391A12055E12058C20171192 +:10054700C5F0EA3330D00502055BF5F0E42274010B +:1005570022740422740222A2D0C0E0EA33FAD0E067 +:1005670022F5F0C0F0E412058C301703D0F0221307 +:10057700D5F0F3D0F0C0E07408C395F0F5F0D0E003 +:1005870003D5F0FC22C0E01205A420170D75240F37 +:10059700C2153015FD1205D2921BD0E022752764D3 +:1005A700C2181205D220182040F8752764C2181205 +:1005B70005D220181350F8C21D05313017077531C1 +:1005C70000D21DC217D21C22D21722A2874008755B +:1005D7002605C2163016FDB32207070608070603CD +:0205E700050805 +:1005E900C0E01206DC5005D0E002068812069150E0 +:1005F90005D0E002068BD0E01206B0500302068E49 +:100609001206E9221206DC40761206914074E612BF +:1006190006B0407108A3E582540F70091206E9D5A6 +:10062900F0E7020634D5F0E61206E9C3221206DC29 +:10063900404D120691404B1206E91206E3E5835438 +:10064900072344A11206B01206C640391206E92250 +:100659001206DC402A12069140281206E91206E326 +:10066900E58354072344A11206B01206C64016F6C4 +:1006790008A3D5F0051206E9C3221206FB80EB7424 +:1006890001227402227403227B00E5835407234468 +:10069900A01206E31206B050081206E9DBEC0206C6 +:1006A900AFE5821206B0227A08C280120717C33357 +:1006B9009281D280120717DAF0120708227A08E429 +:1006C900C280120717D281D280120717C3A28133C1 +:1006D900DAEE22C3A2818280B322C28112071722D5 +:1006E900C280C281120717D280120717D28112075E +:1006F9001722C280120717C281D28012071722C29D +:1007090080120717D281D280120717A281220022F4 +:02081700740A61 +:1007190012077C75A0F012072322C2A3C0E0440F80 +:1007290052A0D2A3C2A3D0E0C4440F43A0F052A068 +:10073900D2A3C2A32275A0F412074522C0F0C2A316 +:10074900D2A3E445A054F0C4C2A343A0F0D2A38528 +:10075900A0F0C2A353F0F045F0C4C2A3D0F0221216 +:10076900077C75A0F21207232212077C75A0F612E6 +:10077900074522C0E012073E20E7FAD0E022C0E098 +:10078900300A05743812071975A00CC2A375A02088 +:10079900D2A3C2A374075521D2E32323120719E573 +:1007A90020D2E3540F120719E520C45402D2E212F1 +:1007B900071930030CE520C4540CD2E4120719C2FE +:1007C90003200C077401120719D20C300B077402AD +:1007D900120719C20BD0E022200D06E493A30207E9 +:1007E900F4200E05E0A30207F4E608D51F0302086A +:1007F90016B40D0302080A6014B4FE0280DAB40AC2 +:0E0809000774C012071980D012076880CB2236 +:00000001FF diff --git a/test/test.bin b/test/test.bin new file mode 100755 index 0000000..1540684 Binary files /dev/null and b/test/test.bin differ diff --git a/test/test.hex b/test/test.hex new file mode 100755 index 0000000..d72f379 --- /dev/null +++ b/test/test.hex @@ -0,0 +1,120 @@ +:03000000020100FA +:03000B000203B23B +:03001300020411D3 +:10010000758131750932750A32751D00750D0075DE +:100110001C20D210C290C211D212D214D213758CEC +:1001200038758A38758BFD758DFD75880075892247 +:1001300075B80275A800D28E12035612041F12035E +:100140008C12036C120471D2AFD2A9D28C12021697 +:1001500070AE12033712017F120397E51D6012B4CF +:100160000103020179B4020302017BB403E402013A +:100170007D1201B712032E80D980D780D580D3128B +:10018000035D5002F50822C20C120787C0E0C0824E +:10019000C083C0D07480120719900450751F00C22C +:1001A0000DC20E1207E1D0D0D083D082D0E0E51D81 +:1001B00012037E12034022E5086012B46806750837 +:1001C000000201D5B46D327508000201E830122931 +:1001D000208210C212E50B120352B42401E4F50B85 +:1001E00012020F208313C212E50C120352B46001F5 +:1001F000E4F50C1201FA12020F22C2A9750D007566 +:100200000932750A32758A38D210C28DD2A92212EB +:10021000024912023322D290120457701312048A38 +:10022000700E1201FA852C0B852B0CD21412041CB3 +:10023000C29022900000780BE61205E91202F3A3A7 +:1002400008E61205E91202F322740D120364780B1A +:10025000E612037E120349743A12036408E612039D +:100260007E120349743A12036408E612037E1203F5 +:100270004922C0E0C0D0C0F0D20BC0E0C082C08331 +:10028000C0D07480120719900441751F00C20DC2BE +:100290000E1207E1D0D0D083D082D0E0748612074E +:1002A00019E50B12037E120340743A120768E50C3D +:1002B00012037E120340E51C120768E50D12037E4F +:1002C000120340D0F0D0D0D0E022900000120636C9 +:1002D0001202F3B423030202DC4001E4780BF6A31C +:1002E0001206361202F3B459030202EF4001E47819 +:1002F0000CF622400122C0E0C20C120787C0E0C009 +:1003000082C083C0D07480120719900426751F0024 +:10031000C20DC20E1207E1D0D0D083D082D0E074DB +:10032000C9120719D0E012037E12034080FE301379 +:0903300005120249C2132230112A +:1003390005120233C21122120768E5F0120768227A +:10034900120364E5F0120364222401D42243878056 +:1003590043985622E599A298C298223099FDC299EC +:10036900F59922900817E493F520900818E493F57D +:100379002112078722F5F0540F4430C5F0C4540FF9 +:10038900443022740D120364740A12036422E508CE +:100399006016B42013750800E51D120352B411014B +:1003A900E4F51D600312018722C0E0C0D012049E4B +:1003B900301D0AC21D1201FAD21412041CD50943B8 +:1003C900750932D50A3D750A32D212B210201006CB +:1003D900751C20020407751C3AD213E50D1203524D +:1003E900B46019E50C120352B4600CE50B12035208 +:1003F900B42401E4F50BE4F50CD211E4F50DD214A3 +:1004090012041CD0D0D0E032301405C2141202728A +:10041900D2B332C2B322D2B3C28AD2AA224545503C +:10042900524F4D204143434553530D4641494C5585 +:10043900524520282020290054696D653A20004141 +:0E0449006C61726D3A20004D6F6465202300D7 +:10045700120471D21A12058C3017F8C21A4008D24A +:10046700191204BDC21922020558752532753100CB +:10047700C219C21AC21BC21CC21DD215D218D2166B +:10048700C217221205A430170B1205A4201705E581 +:1004970031700122740822201605D52602D216D5FE +:1004A7002513752532201505D52402D215201805E8 +:1004B700D52702D2182278287A007B0012058C20D3 +:1004C70017055006020555020558EB0B9005E093FA +:1004D7001205683017030205581204F0700AE5F098 +:1004E700F608E531B43AE3E422A931B90703020576 +:1004F70051B90E03020551B9140630E551020551F1 +:10050700B91C0820D010547F020551B9230B20D005 +:1005170005543F02055102055BB9290612055E0223 +:100527000551B92C0612055E020551B931061205AF +:100537005E020551B9391A12055E12058C20171192 +:10054700C5F0EA3330D00502055BF5F0E42274010B +:1005570022740422740222A2D0C0E0EA33FAD0E067 +:1005670022F5F0C0F0E412058C301703D0F0221307 +:10057700D5F0F3D0F0C0E07408C395F0F5F0D0E003 +:1005870003D5F0FC22C0E01205A420170D75240F37 +:10059700C2153015FD1205D2921BD0E022752764D3 +:1005A700C2181205D220182040F8752764C2181205 +:1005B70005D220181350F8C21D05313017077531C1 +:1005C70000D21DC217D21C22D21722A2874008755B +:1005D7002605C2163016FDB32207070608070603CD +:0205E700050805 +:1005E900C0E01206DC5005D0E002068812069150E0 +:1005F90005D0E002068BD0E01206B0500302068E49 +:100609001206E9221206DC40761206914074E612BF +:1006190006B0407108A3E582540F70091206E9D5A6 +:10062900F0E7020634D5F0E61206E9C3221206DC29 +:10063900404D120691404B1206E91206E3E5835438 +:10064900072344A11206B01206C640391206E92250 +:100659001206DC402A12069140281206E91206E326 +:10066900E58354072344A11206B01206C64016F6C4 +:1006790008A3D5F0051206E9C3221206FB80EB7424 +:1006890001227402227403227B00E5835407234468 +:10069900A01206E31206B050081206E9DBEC0206C6 +:1006A900AFE5821206B0227A08C280120717C33357 +:1006B9009281D280120717DAF0120708227A08E429 +:1006C900C280120717D281D280120717C3A28133C1 +:1006D900DAEE22C3A2818280B322C28112071722D5 +:1006E900C280C281120717D280120717D28112075E +:1006F9001722C280120717C281D28012071722C29D +:1007090080120717D281D280120717A281220022F4 +:02081700740A61 +:1007190012077C75A0F012072322C2A3C0E0440F80 +:1007290052A0D2A3C2A3D0E0C4440F43A0F052A068 +:10073900D2A3C2A32275A0F412074522C0F0C2A316 +:10074900D2A3E445A054F0C4C2A343A0F0D2A38528 +:10075900A0F0C2A353F0F045F0C4C2A3D0F0221216 +:10076900077C75A0F21207232212077C75A0F612E6 +:10077900074522C0E012073E20E7FAD0E022C0E098 +:10078900300A05743812071975A00CC2A375A02088 +:10079900D2A3C2A374075521D2E32323120719E573 +:1007A90020D2E3540F120719E520C45402D2E212F1 +:1007B900071930030CE520C4540CD2E4120719C2FE +:1007C90003200C077401120719D20C300B077402AD +:1007D900120719C20BD0E022200D06E493A30207E9 +:1007E900F4200E05E0A30207F4E608D51F0302086A +:1007F90016B40D0302080A6014B4FE0280DAB40AC2 +:0E0809000774C012071980D012076880CB2236 +:00000001FF diff --git a/test/test.txt b/test/test.txt new file mode 100755 index 0000000..88f2d39 --- /dev/null +++ b/test/test.txt @@ -0,0 +1,565 @@ +0 UHR_8751 0FFFFH +0 ??0000 001AEH +0 ??0001 0029CH +0 ??0002 0031FH +0 ACC 000E0H +0 ALARM 00014H +0 ALARMTXT 00448H +0 ALCNT 00013H +0 ASCII2LCD 00340H +0 ASCII2SER 00349H +0 B 000F0H +0 BCD2ASCII 0037EH +0 BITS_UHR 00010H +0 CHKPORTS 001CDH +0 CHKTIMER 003C6H +0 CHKTMIN 001E3H +0 CHKTMINSET 001C4H +0 CHRRAM 00040H +0 CODE_UHR 00000H +0 DATA_UHR 00008H +0 DAY 00004H +0 DCF77_BPORT 00087H +0 DISPMODUS 00187H +0 DIV10MS 00032H +0 DIV500MS 00032H +0 DPBIT 00010H +0 DPCHAR 0001CH +0 DPH 00083H +0 DPL 00082H +0 EA 000AFH +0 ERRLOOP 0032CH +0 ET0 000A9H +0 EX1 000AAH +0 EXPROMUPD 0033FH +0 EXRDPORTS 00186H +0 EXS2P 00248H +0 EXSERUPD 00336H +0 EXSETTIME 001F9H +0 EXSMODE 003B1H +0 EXSOFTINT 00419H +0 EXSYNC 00230H +0 EXT0INT 0040CH +0 EXT2L 002C3H +0 EXT2S 00271H +0 EXUPDALL 00215H +0 FRAMING_ERROR 00004H +0 GAP_TIME 00064H +0 GETPROMTIME 002CAH +0 GETTHOUR 001D5H +0 GETTMIN 001E8H +0 GPT1 002D9H +0 GPT2 002ECH +0 HOUR 00000H +0 IE 000A8H +0 INCBCD 00352H +0 INIT 00100H +0 IP 000B8H +0 IT1 0008AH +0 LAT_TIME 00005H +0 LCDBASE 000A0H +0 LCDOUTEN 00014H +0 LCDOUTPUT 00272H +0 LCD_UPD 00407H +0 LINIT 0036CH +0 LOOPM00 00171H +0 LOOPM01 00179H +0 LOOPM02 0017BH +0 LOOPM03 0017DH +0 MAIN 00152H +0 MIN 00001H +0 MODETXT 00450H +0 MODUS 0001DH +0 MONTH 00005H +0 NEWLINE 0038CH +0 ONE_TIME 0000FH +0 P0 00080H +0 P1 00090H +0 P2 000A0H +0 P3 000B0H +0 PARITY_ERROR 00002H +0 PCON 00087H +0 PROMDIAG 002F6H +0 PROMERRMSG 00426H +0 PROMERRORHANDLER 002F3H +0 PROMUPDATE 00337H +0 PSW 000D0H +0 PUTDP 003DFH +0 PUTTHOUR 003FDH +0 PUTTMIN 00400H +0 PUTTSEK 00405H +0 READPORTS 0017FH +0 RESETSEK 001FAH +0 RI 00098H +0 SAUS 00364H +0 SAVE2PROM 00233H +0 SBUF 00099H +0 SCALE_TIME 00032H +0 SCL 00080H +0 SCON 00098H +0 SDA 00081H +0 SEIN 0035DH +0 SEK 00002H +0 SERBUF 00008H +0 SEROUTEN 00013H +0 SEROUTPUT 00249H +0 SERUPDATE 0032EH +0 SETEN 00012H +0 SETMODE 00397H +0 SETTHOUR 001DEH +0 SETTIME 001B7H +0 SETTMIN 001F1H +0 SINIT 00356H +0 SLVADD 000A0H +0 SOFTINT_INIT 0041FH +0 SOFTINT_ISR 00411H +0 SOFTINT_REQUEST 0041CH +0 SP 00081H +0 STACK 00032H +0 STACK_UHR 00032H +0 STARTBIT_ERROR 00001H +0 STOADDR 00000H +0 STOREN 00011H +0 SYNCHRONIZE 00216H +0 SYNC_ERROR 00008H +0 T0_INT 003B2H +0 TCON 00088H +0 TF0 0008DH +0 TH0 0008CH +0 TH1 0008DH +0 TI 00099H +0 TIME 0000BH +0 TIMETXT 00441H +0 TL0 0008AH +0 TL1 0008BH +0 TMOD 00089H +0 TR0 0008CH +0 TR1 0008EH +0 TRYMOD02 00165H +0 TRYMOD03 0016BH +0 UEZ1 00009H +0 UEZ2 0000AH +0 UPDATEALL 0020FH +0 UPDMODUS 003AAH +0 UPDTHOUR 002DCH +0 UPDTMIN 002EFH +0 WKDAY 00003H +0 YHIGH 00006H +0 YLOW 00007H +0 Z1 00080H +0 Z2 000C0H +0 DCF77 0FFFFH +0 AC 000D6H +0 ACC 000E0H +0 ADCON 000D8H +0 ADDAT 000D9H +0 ADM 000DBH +0 B 000F0H +0 BBITTIMERRDY 00015H +0 BD 000DFH +0 BGAP 00017H +0 BGAPTIMERRDY 00018H +0 BITS_DCF77 00015H +0 BLATRDY 00016H +0 BSY 000DCH +0 BUILDBYTE 00576H +0 CCEN 000C1H +0 CCH1 000C3H +0 CCH2 000C5H +0 CCH3 000C7H +0 CCL1 000C2H +0 CCL2 000C4H +0 CCL3 000C6H +0 CHECKDATE 004E0H +0 CHECKPOINT 004F0H +0 CHKNEWMINUTE 004C3H +0 CHKOUT 00553H +0 CHKP07 004F2H +0 CHKP14 004F8H +0 CHKP20 004FEH +0 CHKP28 00507H +0 CHKP35 00512H +0 CHKP41 00520H +0 CHKP44 00529H +0 CHKP49 00532H +0 CHKP57 0053BH +0 CLK 000DEH +0 CODE_DCF77 00457H +0 COMPLETEBYTE 00587H +0 CRCH 000CBH +0 CRCL 000CAH +0 CY 000D7H +0 DAPR 000DAH +0 DATA_DCF77 00024H +0 DBITTIMER 00024H +0 DCF77_BBIT 0001BH +0 DCF77_BBUSYONFRAME 00019H +0 DCF77_BBUSYONGAP 0001AH +0 DCF77_BCLOCK 0001CH +0 DCF77_BPORT 00087H +0 DCF77_BSYNC 0001DH +0 DCF77_DATA 00028H +0 DCF77_DAY 0002DH +0 DCF77_GETSYNC 0048AH +0 DCF77_GETTIME 00457H +0 DCF77_HOUR 0002CH +0 DCF77_INIT 00471H +0 DCF77_MINUTE 0002BH +0 DCF77_MONTH 0002FH +0 DCF77_RESERVED_0 00028H +0 DCF77_RESERVED_1 00029H +0 DCF77_SECONDS 00031H +0 DCF77_STATUS 0002AH +0 DCF77_TIMER 0049EH +0 DCF77_WEEKDAY 0002EH +0 DCF77_YEAR 00030H +0 DECODEFRAME 004D1H +0 DECODETBL 005E0H +0 DGAPTIMER 00027H +0 DLATTIMER 00026H +0 DPH 00083H +0 DPL 00082H +0 DSCALETIMER 00025H +0 EADC 000B8H +0 EAL 000AFH +0 ERROR 004EFH +0 ES 000ACH +0 ET0 000A9H +0 ET1 000ABH +0 ET2 000ADH +0 EX0 000A8H +0 EX1 000AAH +0 EX2 000B9H +0 EX3 000BAH +0 EX4 000BBH +0 EX5 000BCH +0 EX6 000BDH +0 EXDCFT 004BCH +0 EXEN2 000BFH +0 EXF2 000C7H +0 EXGETBIT 005A1H +0 EXGETBYTE 0058BH +0 EXGETDCF 005DEH +0 EXWAIT 005CCH +0 F0 000D5H +0 F1 000D1H +0 FERRORSTUB 004CEH +0 FRAMINGERROR 00558H +0 FRAMING_ERROR 00004H +0 GAPFOUND 005CFH +0 GAPTIMER 004B4H +0 GAP_TIME 00064H +0 GETBIT 0058CH +0 GETBYTE 00568H +0 GETDCF 005D2H +0 HIGHTIMEOUT 0046EH +0 I2FR 000CDH +0 I3FR 000CEH +0 IADC 000C0H +0 IE0 00089H +0 IE1 0008BH +0 IEN0 000A8H +0 IEN1 000B8H +0 IEX2 000C1H +0 IEX3 000C2H +0 IEX4 000C3H +0 IEX5 000C4H +0 IEX6 000C5H +0 INT0 000B2H +0 INT1 000B3H +0 IP0 000A9H +0 IP1 000B9H +0 IRCON 000C0H +0 IT0 00088H +0 IT1 0008AH +0 LAT_TIME 00005H +0 MX0 000D8H +0 MX1 000D9H +0 MX2 000DAH +0 NEXTBIT 0056DH +0 ONE_TIME 0000FH +0 OV 000D2H +0 P 000D0H +0 P0 00080H +0 P1 00090H +0 P2 000A0H +0 P3 000B0H +0 P4 000E8H +0 P5 000F8H +0 PARITYERROR 0055BH +0 PARITY_ERROR 00002H +0 PCON 00087H +0 PERRORSTUB 0051DH +0 POK 00551H +0 PSW 000D0H +0 RB8 0009AH +0 RD 000B7H +0 REN 0009CH +0 RI 00098H +0 RS0 000D3H +0 RS1 000D4H +0 RXD 000B0H +0 SAVEPARITY 0055EH +0 SBUF 00099H +0 SCALETIMER 004A6H +0 SCALE_TIME 00032H +0 SCON 00098H +0 SM0 0009FH +0 SM1 0009EH +0 SM2 0009DH +0 SP 00081H +0 STARTBITERROR 00555H +0 STARTBIT_ERROR 00001H +0 SWDT 000BEH +0 SYNCFAILURE 0049BH +0 SYNC_ERROR 00008H +0 T0 000B4H +0 T1 000B5H +0 T2CM 000CAH +0 T2CON 000C8H +0 T2I0 000C8H +0 T2I1 000C9H +0 T2PS 000CFH +0 T2R0 000CBH +0 T2R1 000CCH +0 TB8 0009BH +0 TCON 00088H +0 TF0 0008DH +0 TF1 0008FH +0 TF2 000C6H +0 TH0 0008CH +0 TH1 0008DH +0 TH2 000CDH +0 TI 00099H +0 TL0 0008AH +0 TL1 0008BH +0 TL2 000CCH +0 TMOD 00089H +0 TR0 0008CH +0 TR1 0008EH +0 TXD 000B1H +0 WAIT4GAP 0045AH +0 WAIT4HIGH 005B6H +0 WAIT4LOW 005A9H +0 WAIT4SEC 005A4H +0 WDT 000AEH +0 WR 000B6H +0 _DECODE 004BDH +0 I2C_DRIVER 0FFFFH +0 ACC 000E0H +0 ACKPOLL 00693H +0 ACKRCVBYTE 00683H +0 ADDRERR 0068BH +0 B 000F0H +0 BUSERR 00688H +0 COMMERR 0068EH +0 DPH 00083H +0 DPL 00082H +0 GETLOOP 006C9H +0 MAIN_EEPROM 005E9H +0 NEXTBYTEG 00673H +0 NEXTBYTEP 00617H +0 NEXTPAGE 00612H +0 POLLERR 006AFH +0 PPB_2 005F5H +0 PPB_3 005FFH +0 PPB_4 00609H +0 PPSOUT 00634H +0 PPS_1 0062EH +0 PROM_GET_BYTE 00636H +0 PROM_GET_SEQ 00659H +0 PROM_PUT_BYTE 005E9H +0 PROM_PUT_SEQ 0060DH +0 PUTLOOP 006B2H +0 PUT_LSB 006AAH +0 _ACK 006FBH +0 _CHKBUS 006DCH +0 _DETACK 00708H +0 _GETPROM 006C6H +0 _PUTPROM 006B0H +0 _PUT_ADDR 00691H +0 _TIME 00717H +0 _XSP 006E9H +0 _XST 006E3H +0 LCD_DRIVER 0FFFFH +0 ACC 000E0H +0 B 000F0H +0 BITDATA_LCDP 00020H +0 CHRCNT 0001FH +0 CHRRAM 00040H +0 CLEARDISP 007CAH +0 CODE_LCDP 00719H +0 CONST_LCDP 00817H +0 CURSORHOME 007D4H +0 DATA_LCDP 0001EH +0 DONIBBLE 00791H +0 DOZ2 0080AH +0 EXLCDSET 007DEH +0 EX_TX_CHR 00816H +0 LCD 0000CH +0 LCDINIT0 00817H +0 LCDINIT1 00818H +0 LCDREG0 00020H +0 LCDREG1 00021H +0 LCD_B 00000H +0 LCD_C 00001H +0 LCD_CRSH 0000BH +0 LCD_D 00002H +0 LCD_DL 0000AH +0 LCD_F 00008H +0 LCD_GETCHAR 00772H +0 LCD_GETSTATUS 0073EH +0 LCD_ID 00005H +0 LCD_N 00009H +0 LCD_PUTCHAR 00768H +0 LCD_RL 00006H +0 LCD_S 00004H +0 LCD_SC 00007H +0 LCD_SETMODE 00787H +0 LCD_SETPOSITION 00719H +0 LCD_SH 00003H +0 POLLLCD 0077EH +0 POSITION 0001EH +0 R_RS0 000F4H +0 R_RS1 000F6H +0 SETBCD 007A8H +0 SETIDS 007B1H +0 SETRL_SC 007BBH +0 TXCHR0D 007FAH +0 TXC_11 007F4H +0 TX_CHR 007E1H +0 TX_CHR_2 00800H +0 TX_CHR_3 00807H +0 TX_CHR_4 00811H +0 TX_DD 007F2H +0 TX_XD 007EAH +0 W_RS0 000F0H +0 W_RS1 000F2H +0 Z1 00080H +0 Z2 000C0H +0 _DD_BIT 0000EH +0 _LCDREAD 00745H +0 _LCDWRITE 00723H +0 _LCD_BSY 0077CH +0 _RAMBIT 0000DH + $ +:03000000020100FA +:03000B000203B23B +:03001300020411D3 +:10010000758131750932750A32751D00750D0075DE +:100110001C20D210C290C211D212D214D213758CEC +:1001200038758A38758BFD758DFD75880075892247 +:1001300075B80275A800D28E12035612041F12035E +:100140008C12036C120471D2AFD2A9D28C12021697 +:1001500070AE12033712017F120397E51D6012B4CF +:100160000103020179B4020302017BB403E402013A +:100170007D1201B712032E80D980D780D580D3128B +:10018000035D5002F50822C20C120787C0E0C0824E +:10019000C083C0D07480120719900450751F00C22C +:1001A0000DC20E1207E1D0D0D083D082D0E0E51D81 +:1001B00012037E12034022E5086012B46806750837 +:1001C000000201D5B46D327508000201E830122931 +:1001D000208210C212E50B120352B42401E4F50B85 +:1001E00012020F208313C212E50C120352B46001F5 +:1001F000E4F50C1201FA12020F22C2A9750D007566 +:100200000932750A32758A38D210C28DD2A92212EB +:10021000024912023322D290120457701312048A38 +:10022000700E1201FA852C0B852B0CD21412041CB3 +:10023000C29022900000780BE61205E91202F3A3A7 +:1002400008E61205E91202F322740D120364780B1A +:10025000E612037E120349743A12036408E612039D +:100260007E120349743A12036408E612037E1203F5 +:100270004922C0E0C0D0C0F0D20BC0E0C082C08331 +:10028000C0D07480120719900441751F00C20DC2BE +:100290000E1207E1D0D0D083D082D0E0748612074E +:1002A00019E50B12037E120340743A120768E50C3D +:1002B00012037E120340E51C120768E50D12037E4F +:1002C000120340D0F0D0D0D0E022900000120636C9 +:1002D0001202F3B423030202DC4001E4780BF6A31C +:1002E0001206361202F3B459030202EF4001E47819 +:1002F0000CF622400122C0E0C20C120787C0E0C009 +:1003000082C083C0D07480120719900426751F0024 +:10031000C20DC20E1207E1D0D0D083D082D0E074DB +:10032000C9120719D0E012037E12034080FE301379 +:0903300005120249C2132230112A +:1003390005120233C21122120768E5F0120768227A +:10034900120364E5F0120364222401D42243878056 +:1003590043985622E599A298C298223099FDC299EC +:10036900F59922900817E493F520900818E493F57D +:100379002112078722F5F0540F4430C5F0C4540FF9 +:10038900443022740D120364740A12036422E508CE +:100399006016B42013750800E51D120352B411014B +:1003A900E4F51D600312018722C0E0C0D012049E4B +:1003B900301D0AC21D1201FAD21412041CD50943B8 +:1003C900750932D50A3D750A32D212B210201006CB +:1003D900751C20020407751C3AD213E50D1203524D +:1003E900B46019E50C120352B4600CE50B12035208 +:1003F900B42401E4F50BE4F50CD211E4F50DD214A3 +:1004090012041CD0D0D0E032301405C2141202728A +:10041900D2B332C2B322D2B3C28AD2AA224545503C +:10042900524F4D204143434553530D4641494C5585 +:10043900524520282020290054696D653A20004141 +:0E0449006C61726D3A20004D6F6465202300D7 +:10045700120471D21A12058C3017F8C21A4008D24A +:10046700191204BDC21922020558752532753100CB +:10047700C219C21AC21BC21CC21DD215D218D2166B +:10048700C217221205A430170B1205A4201705E581 +:1004970031700122740822201605D52602D216D5FE +:1004A7002513752532201505D52402D215201805E8 +:1004B700D52702D2182278287A007B0012058C20D3 +:1004C70017055006020555020558EB0B9005E093FA +:1004D7001205683017030205581204F0700AE5F098 +:1004E700F608E531B43AE3E422A931B90703020576 +:1004F70051B90E03020551B9140630E551020551F1 +:10050700B91C0820D010547F020551B9230B20D005 +:1005170005543F02055102055BB9290612055E0223 +:100527000551B92C0612055E020551B931061205AF +:100537005E020551B9391A12055E12058C20171192 +:10054700C5F0EA3330D00502055BF5F0E42274010B +:1005570022740422740222A2D0C0E0EA33FAD0E067 +:1005670022F5F0C0F0E412058C301703D0F0221307 +:10057700D5F0F3D0F0C0E07408C395F0F5F0D0E003 +:1005870003D5F0FC22C0E01205A420170D75240F37 +:10059700C2153015FD1205D2921BD0E022752764D3 +:1005A700C2181205D220182040F8752764C2181205 +:1005B70005D220181350F8C21D05313017077531C1 +:1005C70000D21DC217D21C22D21722A2874008755B +:1005D7002605C2163016FDB32207070608070603CD +:0205E700050805 +:1005E900C0E01206DC5005D0E002068812069150E0 +:1005F90005D0E002068BD0E01206B0500302068E49 +:100609001206E9221206DC40761206914074E612BF +:1006190006B0407108A3E582540F70091206E9D5A6 +:10062900F0E7020634D5F0E61206E9C3221206DC29 +:10063900404D120691404B1206E91206E3E5835438 +:10064900072344A11206B01206C640391206E92250 +:100659001206DC402A12069140281206E91206E326 +:10066900E58354072344A11206B01206C64016F6C4 +:1006790008A3D5F0051206E9C3221206FB80EB7424 +:1006890001227402227403227B00E5835407234468 +:10069900A01206E31206B050081206E9DBEC0206C6 +:1006A900AFE5821206B0227A08C280120717C33357 +:1006B9009281D280120717DAF0120708227A08E429 +:1006C900C280120717D281D280120717C3A28133C1 +:1006D900DAEE22C3A2818280B322C28112071722D5 +:1006E900C280C281120717D280120717D28112075E +:1006F9001722C280120717C281D28012071722C29D +:1007090080120717D281D280120717A281220022F4 +:02081700740A61 +:1007190012077C75A0F012072322C2A3C0E0440F80 +:1007290052A0D2A3C2A3D0E0C4440F43A0F052A068 +:10073900D2A3C2A32275A0F412074522C0F0C2A316 +:10074900D2A3E445A054F0C4C2A343A0F0D2A38528 +:10075900A0F0C2A353F0F045F0C4C2A3D0F0221216 +:10076900077C75A0F21207232212077C75A0F612E6 +:10077900074522C0E012073E20E7FAD0E022C0E098 +:10078900300A05743812071975A00CC2A375A02088 +:10079900D2A3C2A374075521D2E32323120719E573 +:1007A90020D2E3540F120719E520C45402D2E212F1 +:1007B900071930030CE520C4540CD2E4120719C2FE +:1007C90003200C077401120719D20C300B077402AD +:1007D900120719C20BD0E022200D06E493A30207E9 +:1007E900F4200E05E0A30207F4E608D51F0302086A +:1007F90016B40D0302080A6014B4FE0280DAB40AC2 +:0E0809000774C012071980D012076880CB2236 +:00000001FF diff --git a/test/test1.hex b/test/test1.hex new file mode 100755 index 0000000..767f0ed --- /dev/null +++ b/test/test1.hex @@ -0,0 +1,35 @@ +:0300000002001EDD +:03001B000200627E +:10001E0075812153E88075985043878043D880C2FC +:10002E00ACD299C298758D38758B387588007589E4 +:10003E002275A90975B90075A800D2ABD2AFD28EC0 +:10004E0012007EF5F843F880700500000080F10084 +:10005E00000080EC1200C512006932C0D0A20592D9 +:10006E00E8A20492E9A20692EEA20892EAD0D02269 +:10007E00120098D2051201B33002F8C2054008D220 +:10008E00041200E4C2042202017F750932751500C4 +:10009E00C204C205C206C207C208D200D203D201F0 +:1000AE00C202221201CB30020B1201CB200205E557 +:1000BE0015700122740822200105D50A02D201D53D +:1000CE000913750932200005D50802D20020030558 +:1000DE00D50B02D20322780C7A007B001201B320DA +:1000EE000205500602017C02017FEB0B9002079382 +:1000FE0012018F30020302017F120117700AE5F020 +:10010E00F608E515B43AE3E422A915B9070302018E +:10011E0078B90E03020178B9140630E55102017860 +:10012E00B91C0820D010547F020178B9230B20D0BF +:10013E0005543F020178020182B929061201850297 +:10014E000178B92C06120185020178B93106120127 +:10015E0085020178B9391A1201851201B3200211F4 +:10016E00C5F0EA3330D005020182F5F0E4227401C5 +:10017E0022740422740222A2D0C0E0EA33FAD0E044 +:10018E0022F5F0C0F0E41201B3300203D0F02213D6 +:10019E00D5F0F3D0F0C0E07408C395F0F5F0D0E0E0 +:1001AE0003D5F0FC22C0E01201CB20020D75080F22 +:1001BE00C2003000FD1201F99206D0E022750B64E8 +:1001CE00C2031201F920032040F8750B64C203121A +:1001DE0001F920031350F8C20805153002077515F2 +:1001EE0000D208C202D20722D20222A2EF40087524 +:1001FE000A05C2013001FDB32207070608070603F0 +:02020E000508E1 +:00000001FF