svn commit: r2028 - in trunk/yasm: libyasm modules/arch/x86 modules/arch/x86/tests modules/parsers/nasm
peter at tortall.net
peter at tortall.net
Sat Jan 19 00:59:20 PST 2008
Author: peter
Date: Sat Jan 19 00:59:19 2008
New Revision: 2028
Added:
trunk/yasm/modules/arch/x86/tests/jmpfar.asm
trunk/yasm/modules/arch/x86/tests/jmpfar.hex
trunk/yasm/modules/arch/x86/tests/segoff-err.asm
trunk/yasm/modules/arch/x86/tests/segoff-err.errwarn
Modified:
trunk/yasm/libyasm/insn.c
trunk/yasm/libyasm/insn.h
trunk/yasm/modules/arch/x86/tests/Makefile.inc
trunk/yasm/modules/arch/x86/tests/farbasic.asm
trunk/yasm/modules/arch/x86/tests/segoff.asm
trunk/yasm/modules/arch/x86/tests/segoff.hex
trunk/yasm/modules/arch/x86/x86id.c
trunk/yasm/modules/objfmts/bin/tests/bin-farabs.asm
trunk/yasm/modules/objfmts/bin/tests/bin-farabs.hex
trunk/yasm/modules/parsers/nasm/nasm-parse.c
Changeset:
http://www.tortall.net/projects/yasm/changeset/2028
Log:
Make jmp with seg:off equ behave the same as NASM.
Formerly:
foo equ 1:2
jmp foo
would result in a far jump. Now, an explicit "far" is required:
jmp far foo
to generate a far jump.
In addition, the direct use of seg:off in immediates and effective
addresses will result in an error; the use of EQU'ed seg:off values
is still legal (and will still result in just the offset). This
behavior is more sane and also matches NASM behavior.
Thus:
foo equ 1:2
mov ax, foo ; okay, just 2
mov ax, [foo] ; okay, just 2
mov ax, 1:2 ; illegal
mov ax, [1:2] ; illegal
More information about the yasm-cvs
mailing list