From c5001b0a5fbc12f89130e24ab711b12e868379c7 Mon Sep 17 00:00:00 2001 From: Tomas Hruby Date: Fri, 5 Feb 2010 13:53:10 +0000 Subject: [PATCH] gas2ack fix - fixed handling of segment overrides for instruction that may use two of them in the long format, e.g. movs --- commands/i386/gas2ack/parse_gnu.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/commands/i386/gas2ack/parse_gnu.c b/commands/i386/gas2ack/parse_gnu.c index 295a28e2d..07a165632 100644 --- a/commands/i386/gas2ack/parse_gnu.c +++ b/commands/i386/gas2ack/parse_gnu.c @@ -700,8 +700,9 @@ static expression_t *gnu_get_oplist(asm86_t * a, int *pn, int deref) if ((e= gnu_get_operand(a, pn, deref)) == nil) return nil; t = get_token(*pn); - - if (t->symbol == ':' && IS_REGSEG(sreg = isregister(e->name))) { + + if (t->symbol == ':' && IS_REGSEG(sreg = isregister(e->name)) + && a->seg == DEFSEG) { a->seg = segreg2seg(sreg); del_expr(e); (*pn)++;