Design a variable-length opcode assignment scheme that supports the following instruction formats in a 36-bit instruction: .
Type 1: instructions with two 15-bit addresses and one 3-bit register number
Type 2: instructions with one 15-bit address and one 3-bit register number
Type 3: instructions with no registers or addresses
Break down the instructions into separate fields and identify how many instructions of each type can be supported by your design. In your design, maximize the number of type 1 instructions that can be supported and explain why it is important. Note that this question has nothing to do with ARM ISA that we consider in class, it is about a hypothetical variable-length instruction set. Make sure that your design allows the hardware to clearly recognize what type the instruction belongs to.