1 /* Unicorn Emulator Engine */ 2 /* By Nguyen Anh Quynh <aquynh@gmail.com>, 2015 */ 3 4 module unicorn.sparc; 5 6 import unicorn.unicorn; 7 8 extern(C): 9 10 /// SPARC registers 11 enum uc_sparc_reg { 12 INVALID = 0, 13 14 F0, 15 F1, 16 F2, 17 F3, 18 F4, 19 F5, 20 F6, 21 F7, 22 F8, 23 F9, 24 F10, 25 F11, 26 F12, 27 F13, 28 F14, 29 F15, 30 F16, 31 F17, 32 F18, 33 F19, 34 F20, 35 F21, 36 F22, 37 F23, 38 F24, 39 F25, 40 F26, 41 F27, 42 F28, 43 F29, 44 F30, 45 F31, 46 F32, 47 F34, 48 F36, 49 F38, 50 F40, 51 F42, 52 F44, 53 F46, 54 F48, 55 F50, 56 F52, 57 F54, 58 F56, 59 F58, 60 F60, 61 F62, 62 FCC0, // Floating condition codes 63 FCC1, 64 FCC2, 65 FCC3, 66 G0, 67 G1, 68 G2, 69 G3, 70 G4, 71 G5, 72 G6, 73 G7, 74 I0, 75 I1, 76 I2, 77 I3, 78 I4, 79 I5, 80 FP, 81 I7, 82 ICC, // Integer condition codes 83 L0, 84 L1, 85 L2, 86 L3, 87 L4, 88 L5, 89 L6, 90 L7, 91 O0, 92 O1, 93 O2, 94 O3, 95 O4, 96 O5, 97 SP, 98 O7, 99 Y, 100 101 // special register 102 XCC, 103 104 // pseudo register 105 PC, // program counter register 106 107 ENDING, // <-- mark the end of the list of registers 108 109 // extras 110 O6 = SP, 111 I6 = FP, 112 }