MCPcopy Create free account
hub / github.com/GJDuck/e9patch / getRegIdx

Function getRegIdx

src/e9tool/e9codegen.cpp:113–168  ·  view source on GitHub ↗

* Convert a register into a register index. */

Source from the content-addressed store, hash-verified

111 * Convert a register into a register index.
112 */
113int getRegIdx(Register reg)
114{
115 switch (reg)
116 {
117 case REGISTER_DI: case REGISTER_DIL: case REGISTER_EDI:
118 case REGISTER_RDI:
119 return RDI_IDX;
120 case REGISTER_SI: case REGISTER_SIL: case REGISTER_ESI:
121 case REGISTER_RSI:
122 return RSI_IDX;
123 case REGISTER_DH: case REGISTER_DL:
124 case REGISTER_DX: case REGISTER_EDX: case REGISTER_RDX:
125 return RDX_IDX;
126 case REGISTER_CH: case REGISTER_CL:
127 case REGISTER_CX: case REGISTER_ECX: case REGISTER_RCX:
128 return RCX_IDX;
129 case REGISTER_R8B: case REGISTER_R8W: case REGISTER_R8D:
130 case REGISTER_R8:
131 return R8_IDX;
132 case REGISTER_R9B: case REGISTER_R9W: case REGISTER_R9D:
133 case REGISTER_R9:
134 return R9_IDX;
135 case REGISTER_AH: case REGISTER_AL:
136 case REGISTER_AX: case REGISTER_EAX: case REGISTER_RAX:
137 return RAX_IDX;
138 case REGISTER_R10B: case REGISTER_R10W: case REGISTER_R10D:
139 case REGISTER_R10:
140 return R10_IDX;
141 case REGISTER_R11B: case REGISTER_R11W: case REGISTER_R11D:
142 case REGISTER_R11:
143 return R11_IDX;
144 case REGISTER_BH: case REGISTER_BL:
145 case REGISTER_BX: case REGISTER_EBX: case REGISTER_RBX:
146 return RBX_IDX;
147 case REGISTER_BP: case REGISTER_BPL: case REGISTER_EBP:
148 case REGISTER_RBP:
149 return RBP_IDX;
150 case REGISTER_R12B: case REGISTER_R12W: case REGISTER_R12D:
151 case REGISTER_R12:
152 return R12_IDX;
153 case REGISTER_R13B: case REGISTER_R13W: case REGISTER_R13D:
154 case REGISTER_R13:
155 return R13_IDX;
156 case REGISTER_R14B: case REGISTER_R14W: case REGISTER_R14D:
157 case REGISTER_R14:
158 return R14_IDX;
159 case REGISTER_R15B: case REGISTER_R15W: case REGISTER_R15D:
160 case REGISTER_R15:
161 return R15_IDX;
162 case REGISTER_SP: case REGISTER_SPL: case REGISTER_ESP:
163 case REGISTER_RSP:
164 return RSP_IDX;
165 default:
166 return -1;
167 }
168}
169
170/*

Callers 10

getScratchMethod · 0.85
sendTemporaryMovRegFunction · 0.85
sendTemporaryRestoreRegFunction · 0.85
sendUndoTemporaryMovRegFunction · 0.85
sendLoadFromMemOpToR64Function · 0.85
sendLoadRegToArgFunction · 0.85
sendTranslateAddressFunction · 0.85
sendLoadTargetMetadataFunction · 0.85
sendPushFunction · 0.85
sendPopFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected