А уж это лечится элементарно. Если у 8-битника много регистров (как у AVR), то достаточно добавить команды 4-арифметических действий над парами/тетрадами соседних регистров. Причем, логические операции с битами ни в коем случае не расширять. И сразу всё встанет на свои места: вам INT16/32 считать? - пожалте положить свои данные в регистровую пару/тетраду, а если с периферией работать, то отдельные байты - самое то.