ISA架构中,扩展操作码将定长的指令表示成拥有三地址,二地址,单地址和零地址
寻址的编码:
比如一个指令定长为16-bit,通用j寄存器数目为16(
)个,那么生成地址码的
方式可以采用如下的设计:
三地址指令:
0-3 | 4-7 | 8-11 | 12-15 |
---|---|---|---|
0000 | R1 | R2 | R3 |
0001 | |||
….. | |||
1110 |
共15条指令
二地址指令
0-3 | 4-7 | 8-11 | 12-15 |
---|---|---|---|
1111 | 0000 | R1 | R2 |
1111 | 0001 | ||
….. | |||
1110 | 1110 |
单地址指令
0-3 | 4-7 | 8-11 | 12-15 |
---|---|---|---|
1111 | 1111 | 0000 | |
1111 | 1111 | 0001 | |
….. | |||
1110 | 1111 | 1110 |
零地址指令
0-3 | 4-7 | 8-11 | 12-15 |
---|---|---|---|
1111 | 1111 | 1111 | 0000 |
1111 | 1111 | 1111 | 0001 |
….. | |||
1110 | 1111 | 1110 | 1111 |
共16条指令