podman
33 строки · 702.0 Байт
1// Copyright 2019 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5package riscv
6
7import (
8"fmt"
9
10"github.com/twitchyliquid64/golang-asm/obj"
11)
12
13func init() {
14obj.RegisterRegister(obj.RBaseRISCV, REG_END, RegName)
15obj.RegisterOpcode(obj.ABaseRISCV, Anames)
16}
17
18func RegName(r int) string {
19switch {
20case r == 0:
21return "NONE"
22case r == REG_G:
23return "g"
24case r == REG_SP:
25return "SP"
26case REG_X0 <= r && r <= REG_X31:
27return fmt.Sprintf("X%d", r-REG_X0)
28case REG_F0 <= r && r <= REG_F31:
29return fmt.Sprintf("F%d", r-REG_F0)
30default:
31return fmt.Sprintf("Rgok(%d)", r-obj.RBaseRISCV)
32}
33}
34