Tony,
Here is some code I pasted in from my 2D array. The first 1D array is an index into the 2D array. If we have a match in the loop, I print a manufacturing location. It's probably not what you are looking for, or even the best solution but it's what I have. I had to paste in fake manufacturing locations due to trade secrets. In this case the bios info would be like "P12345678" with the "P" representing a manufacturing location. With that in mind the loop would print our "PLocation"
Tim
unsigned char *ManChar;
ManChar = (bios + 0x281); /* pointer to a string in memory */
const char manLookup[20]={0x41,0x42,0x43,0x44,0x46,0x47,0x48,0x4A,0x4B,0x4C,0x4D,0x4E,0x50,0x51,0x52,0x53,0x54,0x55,0x58,0x00 };
const char manString[20][25]={{"ALocation"},{"BLocation"},{"CLocation"},{"DLocation"},{"ELocation"},{"FLocation"}, {"GLocation"},{"HLocation"},{"ILocation"},{"JLocation"},{"KLocation"},{"LLocation"},{"MLocation"},{"NLocation"},{"OLocation"},{"PLocation"},{"QLocation"},{"RLocation"},{"SLocation"} };
for( i=0; i<sizeof(manLookup); i++)
{
if (manLookup == *ManChar)
{
printf("\tManufactured At : %s\n",manString);
found = 1;
break;
}
}