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

Function getArgRegIdx

src/e9tool/e9codegen.cpp:37–60  ·  view source on GitHub ↗

* Get argument register index. */

Source from the content-addressed store, hash-verified

35 * Get argument register index.
36 */
37int getArgRegIdx(bool sysv, int argno)
38{
39 switch (argno)
40 {
41 case 0:
42 return (sysv? RDI_IDX: RCX_IDX);
43 case 1:
44 return (sysv? RSI_IDX: RDX_IDX);
45 case 2:
46 return (sysv? RDX_IDX: R8_IDX);
47 case 3:
48 return (sysv? RCX_IDX: R9_IDX);
49 case 4:
50 return (sysv? R8_IDX: R10_IDX);
51 case 5:
52 return (sysv? R9_IDX: R11_IDX);
53 case 6:
54 return (sysv? R10_IDX: -1);
55 case 7:
56 return (sysv? R11_IDX: -1);
57 default:
58 return -1;
59 }
60}
61
62/*
63 * Convert a register number into a register.

Callers 1

sendCallMetadataMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected