Well, I'm no C wisard but the lines 114,115 are defines for what looks like 2 variables called "msb" and "lsb". These are defined as unsigned 8 bit variables. Now with out any more code I can only quess that line 120 is taking the "msb" variable and doing a left shift 4 places and adding the "lsb" variable being right shifted by 4 places together then placing the result into "chip->vcell". Thats my take on it...