5 ms·
It only has 2048 opcodes available. A one-operand register or memory operand operation takes 32, while two register operands would take twice as many. Loads and
by bonzini 4d ago
It only has 2048 opcodes available. A one-operand register or memory operand operation takes 32, while two register operands would take twice as many. Loads and stores have to specify the memory format (three floating point formats, BCD, word, 64-bit integer), so each instruction used 120 encodings or so even with a single operand; loads and stores alone would use almost all the opcode space if they also had to include the destination register.
In other words there simply isn't room in the encoding to specify two operands, so they went for the stack model.