/* Immediate (if required) */
if (imm && imm->val) {
if (output_expr(&imm->val, *bufp, imm->len, (size_t)(imm->len*8), 0,
- (unsigned long)(*bufp-bufp_orig), bc, 0, 1, d))
+ (unsigned long)(*bufp-bufp_orig), bc, 0,
+ imm->sign?-1:1, d))
return 1;
*bufp += imm->len;
}
YASM_EXPR_WRT, wrt,
bc->line);
if (output_expr(&jmp->target, *bufp, 1, 8, 0,
- (unsigned long)(*bufp-bufp_orig), bc, 1, 1, d))
+ (unsigned long)(*bufp-bufp_orig), bc, 1, -1, d))
return 1;
*bufp += 1;
break;
bc->line);
i = (opersize == 16) ? 2 : 4;
if (output_expr(&jmp->target, *bufp, i, i*8, 0,
- (unsigned long)(*bufp-bufp_orig), bc, 1, 1, d))
+ (unsigned long)(*bufp-bufp_orig), bc, 1, -1, d))
return 1;
*bufp += i;
break;