in src/main/abi-symbols/abi-dumper.pl [6041:6210]
sub initRegs()
{
if($SYS_ARCH eq "x86")
{
%RegName = (
# integer registers
# 32 bits
"0"=>"eax",
"1"=>"ecx",
"2"=>"edx",
"3"=>"ebx",
"4"=>"esp",
"5"=>"ebp",
"6"=>"esi",
"7"=>"edi",
"8"=>"eip",
"9"=>"eflags",
"10"=>"trapno",
# FPU-control registers
# 16 bits
"37"=>"fctrl",
"38"=>"fstat",
# 32 bits
"39"=>"mxcsr",
# MMX registers
# 64 bits
"29"=>"mm0",
"30"=>"mm1",
"31"=>"mm2",
"32"=>"mm3",
"33"=>"mm4",
"34"=>"mm5",
"35"=>"mm6",
"36"=>"mm7",
# SSE registers
# 128 bits
"21"=>"xmm0",
"22"=>"xmm1",
"23"=>"xmm2",
"24"=>"xmm3",
"25"=>"xmm4",
"26"=>"xmm5",
"27"=>"xmm6",
"28"=>"xmm7",
# segment registers
# 16 bits
"40"=>"es",
"41"=>"cs",
"42"=>"ss",
"43"=>"ds",
"44"=>"fs",
"45"=>"gs",
# x87 registers
# 80 bits
"11"=>"st0",
"12"=>"st1",
"13"=>"st2",
"14"=>"st3",
"15"=>"st4",
"16"=>"st5",
"17"=>"st6",
"18"=>"st7"
);
}
elsif($SYS_ARCH eq "x86_64")
{
%RegName = (
# integer registers
# 64 bits
"0"=>"rax",
"1"=>"rdx",
"2"=>"rcx",
"3"=>"rbx",
"4"=>"rsi",
"5"=>"rdi",
"6"=>"rbp",
"7"=>"rsp",
"8"=>"r8",
"9"=>"r9",
"10"=>"r10",
"11"=>"r11",
"12"=>"r12",
"13"=>"r13",
"14"=>"r14",
"15"=>"r15",
"16"=>"rip",
"49"=>"rFLAGS",
# MMX registers
# 64 bits
"41"=>"mm0",
"42"=>"mm1",
"43"=>"mm2",
"44"=>"mm3",
"45"=>"mm4",
"46"=>"mm5",
"47"=>"mm6",
"48"=>"mm7",
# SSE registers
# 128 bits
"17"=>"xmm0",
"18"=>"xmm1",
"19"=>"xmm2",
"20"=>"xmm3",
"21"=>"xmm4",
"22"=>"xmm5",
"23"=>"xmm6",
"24"=>"xmm7",
"25"=>"xmm8",
"26"=>"xmm9",
"27"=>"xmm10",
"28"=>"xmm11",
"29"=>"xmm12",
"30"=>"xmm13",
"31"=>"xmm14",
"32"=>"xmm15",
# control registers
# 64 bits
"62"=>"tr",
"63"=>"ldtr",
"64"=>"mxcsr",
# 16 bits
"65"=>"fcw",
"66"=>"fsw",
# segment registers
# 16 bits
"50"=>"es",
"51"=>"cs",
"52"=>"ss",
"53"=>"ds",
"54"=>"fs",
"55"=>"gs",
# 64 bits
"58"=>"fs.base",
"59"=>"gs.base",
# x87 registers
# 80 bits
"33"=>"st0",
"34"=>"st1",
"35"=>"st2",
"36"=>"st3",
"37"=>"st4",
"38"=>"st5",
"39"=>"st6",
"40"=>"st7"
);
}
elsif($SYS_ARCH eq "arm")
{
%RegName = (
# integer registers
# 32-bit
"0"=>"r0",
"1"=>"r1",
"2"=>"r2",
"3"=>"r3",
"4"=>"r4",
"5"=>"r5",
"6"=>"r6",
"7"=>"r7",
"8"=>"r8",
"9"=>"r9",
"10"=>"r10",
"11"=>"r11",
"12"=>"r12",
"13"=>"r13",
"14"=>"r14",
"15"=>"r15"
);
}
}