1. A method to ensure correct predecoding of an instruction string which contains instructions from an instruction set and an embedded data segment, the instruction set having instructions of varying length, the length of the smallest instruction in the instruction set defining a granule, the number of granules that compose the longest length instruction in the instruction set defining a number MAX, the method comprising: determining the end of a first embedded data segment, when a program is compiled or assembled into the instruction string; and inserting a padding of length, MAX−1, to the end of the first embedded data segment.