From 9dbff83e77a124e2bbff07d861ad822aa2574c5b Mon Sep 17 00:00:00 2001 From: Maciej Wieczor-Retman Date: Fri, 27 Feb 2026 13:47:41 +0100 Subject: [PATCH] insns.dat: Fix JMP not assembling sometimes After readding the JMP rm# variant, to fix the disassembler not recognizing it, some patterns stopped assembling. It happened due to the program matching an incorrect template and then complaining that it's illegal. Adding the NOLONG to word and dword versions (similarly to CALL) fixes the problem. Signed-off-by: Maciej Wieczor-Retman --- x86/insns.dat | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x86/insns.dat b/x86/insns.dat index 2afcc8fc2..d7f1a947e 100644 --- a/x86/insns.dat +++ b/x86/insns.dat @@ -270,8 +270,8 @@ $bwd CMPXCHG486 rm#,reg# [mr: o# 0f a6# /r] 486,SM,UNDOC,NOLONG,ND,LOCK,OB $br JMP short [i: os eb rel8] 8086,NOAPX,ND $br JMP near [i: jmp8 os eb rel8] 8086,NOAPX,JMP_RELAX $br JMP near [i: os e9 rel] 8086,BND -$wdq JMP rm#|near [m: nw o# ff /4] 8086,BND,OSIZE -$wdq JMP rm# [m: nw o# ff /4] 8086,BND,OSIZE +$wdq JMP rm#|near [m: nw o# ff /4] 8086,BND,OSIZE,(wd:NOLONG) +$wdq JMP rm# [m: nw o# ff /4] 8086,BND,OSIZE,(wd:NOLONG) $wd JMP imm#|far [i: o# ea iwd seg] 8086,OSIZE,ND,NOLONG ; These are hacks to support the legacy syntax "[d]word seg:offs" to mean "seg:[d]word offs"