use crate::{FREG_FIRST, SYS_ADDR};
pub const REG_FIRST: u64 = SYS_ADDR;
pub const REG_X0: u64 = REG_FIRST;
pub const REG_X1: u64 = REG_FIRST + 8;
pub const REG_X2: u64 = REG_FIRST + 2_u64 * 8;
pub const REG_X3: u64 = REG_FIRST + 3_u64 * 8;
pub const REG_X4: u64 = REG_FIRST + 4_u64 * 8;
pub const REG_X5: u64 = REG_FIRST + 5_u64 * 8;
pub const REG_X6: u64 = REG_FIRST + 6_u64 * 8;
pub const REG_X7: u64 = REG_FIRST + 7_u64 * 8;
pub const REG_X8: u64 = REG_FIRST + 8_u64 * 8;
pub const REG_X9: u64 = REG_FIRST + 9_u64 * 8;
pub const REG_X10: u64 = REG_FIRST + 10_u64 * 8;
pub const REG_X11: u64 = REG_FIRST + 11_u64 * 8;
pub const REG_X12: u64 = REG_FIRST + 12_u64 * 8;
pub const REG_X13: u64 = REG_FIRST + 13_u64 * 8;
pub const REG_X14: u64 = REG_FIRST + 14_u64 * 8;
pub const REG_X15: u64 = REG_FIRST + 15_u64 * 8;
pub const REG_X16: u64 = REG_FIRST + 16_u64 * 8;
pub const REG_X17: u64 = REG_FIRST + 17_u64 * 8;
pub const REG_X18: u64 = REG_FIRST + 18_u64 * 8;
pub const REG_X19: u64 = REG_FIRST + 19_u64 * 8;
pub const REG_X20: u64 = REG_FIRST + 20_u64 * 8;
pub const REG_X21: u64 = REG_FIRST + 21_u64 * 8;
pub const REG_X22: u64 = REG_FIRST + 22_u64 * 8;
pub const REG_X23: u64 = REG_FIRST + 23_u64 * 8;
pub const REG_X24: u64 = REG_FIRST + 24_u64 * 8;
pub const REG_X25: u64 = REG_FIRST + 25_u64 * 8;
pub const REG_X26: u64 = REG_FIRST + 26_u64 * 8;
pub const REG_X27: u64 = REG_FIRST + 27_u64 * 8;
pub const REG_X28: u64 = REG_FIRST + 28_u64 * 8;
pub const REG_X29: u64 = REG_FIRST + 29_u64 * 8;
pub const REG_X30: u64 = REG_FIRST + 30_u64 * 8;
pub const REG_X31: u64 = REG_FIRST + 31_u64 * 8;
pub const REG_LAST: u64 = REG_X31;
pub const REG_ZERO: u64 = REG_X0;
pub const REG_RA: u64 = REG_X1; pub const REG_SP: u64 = REG_X2; pub const REG_GP: u64 = REG_X3; pub const REG_TP: u64 = REG_X4; pub const REG_T0: u64 = REG_X5; pub const REG_T1: u64 = REG_X6; pub const REG_T2: u64 = REG_X7; pub const REG_S0: u64 = REG_X8; pub const REG_S1: u64 = REG_X9; pub const REG_A0: u64 = REG_X10; pub const REG_A1: u64 = REG_X11; pub const REG_A2: u64 = REG_X12; pub const REG_A3: u64 = REG_X13; pub const REG_A4: u64 = REG_X14; pub const REG_A5: u64 = REG_X15; pub const REG_A6: u64 = REG_X16; pub const REG_A7: u64 = REG_X17; pub const REG_S2: u64 = REG_X18; pub const REG_S3: u64 = REG_X19; pub const REG_S4: u64 = REG_X20; pub const REG_S5: u64 = REG_X21; pub const REG_S6: u64 = REG_X22; pub const REG_S7: u64 = REG_X23; pub const REG_S8: u64 = REG_X24; pub const REG_S9: u64 = REG_X25; pub const REG_S10: u64 = REG_X26; pub const REG_S11: u64 = REG_X27; pub const REG_T3: u64 = REG_X28; pub const REG_T4: u64 = REG_X29; pub const REG_T5: u64 = REG_X30; pub const REG_T6: u64 = REG_X31;
pub const REGS_IN_MAIN_FROM: usize = 1; pub const REGS_IN_MAIN_TO: usize = 31; pub const REGS_IN_MAIN: usize = REGS_IN_MAIN_TO - REGS_IN_MAIN_FROM + 1;
pub const REGS_IN_MAIN_TOTAL_NUMBER: usize = 32;
pub const FREG_F0: u64 = FREG_FIRST;
pub const FREG_F1: u64 = FREG_FIRST + 8;
pub const FREG_F2: u64 = FREG_FIRST + 2_u64 * 8;
pub const FREG_F3: u64 = FREG_FIRST + 3_u64 * 8;
pub const FREG_F4: u64 = FREG_FIRST + 4_u64 * 8;
pub const FREG_F5: u64 = FREG_FIRST + 5_u64 * 8;
pub const FREG_F6: u64 = FREG_FIRST + 6_u64 * 8;
pub const FREG_F7: u64 = FREG_FIRST + 7_u64 * 8;
pub const FREG_F8: u64 = FREG_FIRST + 8_u64 * 8;
pub const FREG_F9: u64 = FREG_FIRST + 9_u64 * 8;
pub const FREG_F10: u64 = FREG_FIRST + 10_u64 * 8;
pub const FREG_F11: u64 = FREG_FIRST + 11_u64 * 8;
pub const FREG_F12: u64 = FREG_FIRST + 12_u64 * 8;
pub const FREG_F13: u64 = FREG_FIRST + 13_u64 * 8;
pub const FREG_F14: u64 = FREG_FIRST + 14_u64 * 8;
pub const FREG_F15: u64 = FREG_FIRST + 15_u64 * 8;
pub const FREG_F16: u64 = FREG_FIRST + 16_u64 * 8;
pub const FREG_F17: u64 = FREG_FIRST + 17_u64 * 8;
pub const FREG_F18: u64 = FREG_FIRST + 18_u64 * 8;
pub const FREG_F19: u64 = FREG_FIRST + 19_u64 * 8;
pub const FREG_F20: u64 = FREG_FIRST + 20_u64 * 8;
pub const FREG_F21: u64 = FREG_FIRST + 21_u64 * 8;
pub const FREG_F22: u64 = FREG_FIRST + 22_u64 * 8;
pub const FREG_F23: u64 = FREG_FIRST + 23_u64 * 8;
pub const FREG_F24: u64 = FREG_FIRST + 24_u64 * 8;
pub const FREG_F25: u64 = FREG_FIRST + 25_u64 * 8;
pub const FREG_F26: u64 = FREG_FIRST + 26_u64 * 8;
pub const FREG_F27: u64 = FREG_FIRST + 27_u64 * 8;
pub const FREG_F28: u64 = FREG_FIRST + 28_u64 * 8;
pub const FREG_F29: u64 = FREG_FIRST + 29_u64 * 8;
pub const FREG_F30: u64 = FREG_FIRST + 30_u64 * 8;
pub const FREG_F31: u64 = FREG_FIRST + 31_u64 * 8;
pub const FREG_INST: u64 = FREG_FIRST + 33_u64 * 8; pub const FREG_RA: u64 = FREG_FIRST + 34_u64 * 8;
pub const FREG_X0: u64 = FREG_FIRST + 35_u64 * 8; pub const FREG_X1: u64 = FREG_FIRST + 36_u64 * 8; pub const FREG_X2: u64 = FREG_FIRST + 37_u64 * 8; pub const FREG_X3: u64 = FREG_FIRST + 38_u64 * 8; pub const FREG_X4: u64 = FREG_FIRST + 39_u64 * 8; pub const FREG_X5: u64 = FREG_FIRST + 40_u64 * 8; pub const FREG_X6: u64 = FREG_FIRST + 41_u64 * 8; pub const FREG_X7: u64 = FREG_FIRST + 42_u64 * 8; pub const FREG_X8: u64 = FREG_FIRST + 43_u64 * 8; pub const FREG_X9: u64 = FREG_FIRST + 44_u64 * 8; pub const FREG_X10: u64 = FREG_FIRST + 45_u64 * 8; pub const FREG_X11: u64 = FREG_FIRST + 46_u64 * 8; pub const FREG_X12: u64 = FREG_FIRST + 47_u64 * 8; pub const FREG_X13: u64 = FREG_FIRST + 48_u64 * 8; pub const FREG_X14: u64 = FREG_FIRST + 49_u64 * 8; pub const FREG_X15: u64 = FREG_FIRST + 50_u64 * 8; pub const FREG_X16: u64 = FREG_FIRST + 51_u64 * 8; pub const FREG_X17: u64 = FREG_FIRST + 52_u64 * 8; pub const FREG_X18: u64 = FREG_FIRST + 53_u64 * 8; pub const FREG_X19: u64 = FREG_FIRST + 54_u64 * 8; pub const FREG_X20: u64 = FREG_FIRST + 55_u64 * 8; pub const FREG_X21: u64 = FREG_FIRST + 56_u64 * 8; pub const FREG_X22: u64 = FREG_FIRST + 57_u64 * 8; pub const FREG_X23: u64 = FREG_FIRST + 58_u64 * 8; pub const FREG_X24: u64 = FREG_FIRST + 59_u64 * 8; pub const FREG_X25: u64 = FREG_FIRST + 60_u64 * 8; pub const FREG_X26: u64 = FREG_FIRST + 61_u64 * 8; pub const FREG_X27: u64 = FREG_FIRST + 62_u64 * 8; pub const FREG_X28: u64 = FREG_FIRST + 63_u64 * 8; pub const FREG_X29: u64 = FREG_FIRST + 64_u64 * 8; pub const FREG_X30: u64 = FREG_FIRST + 65_u64 * 8; pub const FREG_X31: u64 = FREG_FIRST + 66_u64 * 8;