- A (hopefully) obvious side effect of having so much flexibility in the types of operands possible, is the fact that (generally speaking) different instruction formats will be required depending upon the specific types of operands employed for individual instructions.
- Allowing for multiple instruction formats almost always results in different instructions requiring different amounts of memory to store them (it should take less space to hold an instruction with only 1 register ID code than to hold a different instruction with 2 or 3 register ID codes plus a "direct address". As part of the instruction cycle, the Control Unit, once the instruction has been retrieved from memory, must increment the Program Counter to point to the physically next instruction. How much the Control Unit must increment the Program Counter by depends upon the specific instruction just retrieved (or more correctly, upon the length of the specific instruction just retrieved) from memory. This means that the Control Unit will need to examine the op code field to determine the type of instruction and from that information determine the instruction length. This indirectly also means that two instructions which are superficially doing the same operation but which have different operand structures (such as "ADD AX,[BX]" and "ADD AX,[25+BX]") must have different op code patterns.