if not self.__GetNextHexNumber():\r
raise Warning("expected Hex byte", self.FileName, self.CurrentLineNumber)\r
\r
- if len(self.__Token) > 4:\r
- raise Warning("Hex byte(must be 2 digits) too long", self.FileName, self.CurrentLineNumber)\r
-\r
- DataString = self.__Token\r
- DataString += ","\r
-\r
- while self.__IsToken(","):\r
- if not self.__GetNextHexNumber():\r
- raise Warning("Invalid Hex number", self.FileName, self.CurrentLineNumber)\r
- if len(self.__Token) > 4:\r
- raise Warning("Hex byte(must be 2 digits) too long", self.FileName, self.CurrentLineNumber)\r
- DataString += self.__Token\r
- DataString += ","\r
+ if len(self.__Token) > 18:\r
+ raise Warning("Hex string can't be converted to a valid UINT64 value", self.FileName, self.CurrentLineNumber)\r
+\r
+ # convert hex string value to byte hex string array\r
+ AllString = self.__Token\r
+ AllStrLen = len (AllString)\r
+ DataString = ""\r
+ while AllStrLen > 4:\r
+ DataString = DataString + "0x" + AllString[AllStrLen - 2: AllStrLen] + ","\r
+ AllStrLen = AllStrLen - 2\r
+ DataString = DataString + AllString[:AllStrLen] + ","\r
+\r
+ # byte value array\r
+ if len (self.__Token) <= 4:\r
+ while self.__IsToken(","):\r
+ if not self.__GetNextHexNumber():\r
+ raise Warning("Invalid Hex number", self.FileName, self.CurrentLineNumber)\r
+ if len(self.__Token) > 4:\r
+ raise Warning("Hex byte(must be 2 digits) too long", self.FileName, self.CurrentLineNumber)\r
+ DataString += self.__Token\r
+ DataString += ","\r
\r
if not self.__IsToken( "}"):\r
raise Warning("expected '}'", self.FileName, self.CurrentLineNumber)\r
if not self.__GetNextHexNumber():\r
raise Warning("expected Hex byte", self.FileName, self.CurrentLineNumber)\r
\r
- if len(self.__Token) > 4:\r
- raise Warning("Hex byte(must be 2 digits) too long", self.FileName, self.CurrentLineNumber)\r
+ if len(self.__Token) > 18:\r
+ raise Warning("Hex string can't be converted to a valid UINT64 value", self.FileName, self.CurrentLineNumber)\r
\r
- DataString = self.__Token\r
- DataString += ","\r
+ # convert hex string value to byte hex string array\r
+ AllString = self.__Token\r
+ AllStrLen = len (AllString)\r
+ DataString = ""\r
+ while AllStrLen > 4:\r
+ DataString = DataString + "0x" + AllString[AllStrLen - 2: AllStrLen] + ","\r
+ AllStrLen = AllStrLen - 2\r
+ DataString = DataString + AllString[:AllStrLen] + ","\r
\r
- while self.__IsToken(","):\r
- self.__GetNextHexNumber()\r
- if len(self.__Token) > 4:\r
- raise Warning("Hex byte(must be 2 digits) too long", self.FileName, self.CurrentLineNumber)\r
- DataString += self.__Token\r
- DataString += ","\r
+ # byte value array\r
+ if len (self.__Token) <= 4:\r
+ while self.__IsToken(","):\r
+ if not self.__GetNextHexNumber():\r
+ raise Warning("Invalid Hex number", self.FileName, self.CurrentLineNumber)\r
+ if len(self.__Token) > 4:\r
+ raise Warning("Hex byte(must be 2 digits) too long", self.FileName, self.CurrentLineNumber)\r
+ DataString += self.__Token\r
+ DataString += ","\r
\r
if not self.__IsToken( "}"):\r
raise Warning("expected '}'", self.FileName, self.CurrentLineNumber)\r