SPARC 将名称注册为二进制

SPARC register names to binary

所以在SPARC V8中,目的寄存器(rd)占用了指令的5位(25th-29th)。我的问题是:是否有一个文件将每个寄存器名称(比如 %i1)与其各自的 5 位二进制文​​件(比如 01010)相关联?我找不到这样的东西...

寄存器编号0-7为%g0-%g7,8-15为%o0-%o7,16-23为%l0-%l7,24-31为%i0-%i7

http://www.gaisler.com/doc/sparcv8.pdf

请注意 Sparc 使用寄存器 windows... 所以您正在寻址寄存器 window 而不是寄存器文件本身。

数据格式定义在 Sparc V8 手册的第 18 页。 Sparc 使用 LSB 0 位表示法。寄存器 window 位置名称的顺序在第 24 页。

例如,一个字节是 7 6 5 4 3 2 1 0,其中 0 是最低位。

这又意味着指令映射如下。

0   00000   %g0
1   00001   %g1
2   00010   %g2
3   00011   %g3
4   00100   %g4
5   00101   %g5
6   00110   %g6
7   00111   %g7
8   01000   %o0
9   01001   %o1
10  01010   %o2
11  01011   %o3
12  01100   %o4
13  01101   %o5
14  01110   %o6
15  01111   %o7
16  10000   %l0
17  10001   %l1
18  10010   %l2
19  10011   %l3
20  10100   %l4
21  10101   %l5
22  10110   %l6
23  10111   %l7
24  11000   %i0
25  11001   %i1
26  11010   %i2
27  11011   %i3
28  11100   %i4
29  11101   %i5
30  11110   %i6
31  11111   %i7