commit a788616082575e9be8f07c9a318bdef7e8032221 parent 25a5e9b12fc3f19ee867e6d2b81f6a647bdfaa77 Author: Nihal Jere <nihal@nihaljere.xyz> Date: Sun, 9 Jan 2022 23:09:31 -0600 x64: allow numbered registers as call address Diffstat:
M | x64.c | | | 7 | +++++-- |
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/x64.c b/x64.c @@ -598,11 +598,14 @@ size_t call(char *buf, enum reg reg) { if (buf) { + if (reg >= 8) + *(buf++) = REX_B; + *(buf++) = 0xFF; - *(buf++) = (MOD_DIRECT << 6) | (2 << 3) | reg; + *(buf++) = (MOD_DIRECT << 6) | (2 << 3) | (reg & 7); } - return 2; + return reg >= 8 ? 3 : 2; } size_t