All machines generally provide a full set of operations for the first three categories. All machines MUST provide instruction support for basic system functions. Floating point instructions are optional but are commonly provided. Decimal and string instructions are optional but are disappearing in recent ISAs. They can be easily emulated by sequences of simpler instructions.
Graphic instructions are optional.
The destination address must always be specified. In most cases, it is given explicitly in the instruction. Procedure return addresses are not known at compile time. Since target is often near the current instruction, the displacement can be small, requiring few address bits. For procedure returns and indirect jumps for which the address is not known at compile time.