From c937095552b3bde38bda4588a236cd26377cb41f Mon Sep 17 00:00:00 2001 From: Aleksi Hannula Date: Thu, 5 Feb 2026 09:30:14 +0200 Subject: [PATCH] Fix numbered register substitution on x86_64 --- i386-asm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/i386-asm.c b/i386-asm.c index 85fb424c..64e44ce9 100644 --- a/i386-asm.c +++ b/i386-asm.c @@ -1596,6 +1596,10 @@ ST_FUNC void subst_asm_operand(CString *add_str, #endif } + if (reg >= 8) { + cstr_printf(add_str, "%%r%d%c", reg, (size == 1) ? 'b' : ((size == 2) ? 'w' : ((size == 4) ? 'd' : ' '))); + return; + } switch(size) { case -1: reg = TOK_ASM_ah + reg;