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 <maciej.wieczor-retman@intel.com>
This commit is contained in:
Maciej Wieczor-Retman 2026-02-27 13:47:41 +01:00
parent f7a4d8fd1b
commit 9dbff83e77

View file

@ -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"