a) Fix handling of DZ/ZWORD; b) don't crash on TIMES JMP
commit3e458a89d8c985527313305b55d5725cf382e862
authorH. Peter Anvin <hpa@zytor.com>
Tue, 2 May 2017 03:28:29 +0000 (1 20:28 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Tue, 2 May 2017 04:13:15 +0000 (1 21:13 -0700)
tree3b1ec93afc10e5e389ce1c74cb32f28a743ac52a
parent5810c594c9eeed4d809b29c9e073af76dfcd3249
a) Fix handling of DZ/ZWORD; b) don't crash on TIMES JMP

a) Fix a number of missing instances of DZ and ZWORD.

b) NASM would crash if TIMES was used on an instruction which varies
   in size, e.g. JMP.  Fix this by moving the handling of TIMES at a
   higher level, so we generate the instruction "de novo" for each
   iteration.  The exception is INCBIN, so we can avoid reading the
   included file over and over.

c) When using the RESx instructions, just fold TIMES into the reserved
   space size; there is absolutely no point to iterate over it.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
asm/assemble.c
asm/nasm.c
asm/parser.c
common/common.c
include/insns.h
include/nasm.h
include/nasmlib.h
output/codeview.c
output/outelf.c
test/incbin.asm
test/times.asm