X-Git-Url: https://jxself.org/git/?p=b43-tools.git;a=blobdiff_plain;f=assembler%2Fmain.c;h=701721d6f202b2db71b34bee1bdfe4355b98989b;hp=2c4749344305b606daa16e5452ce7e3f8a8d173f;hb=84bcfa9ab4ca53f62758026107eb5776e9417ce8;hpb=7fd69f575e0f5a517651016513be6006db279c17 diff --git a/assembler/main.c b/assembler/main.c index 2c47493..701721d 100644 --- a/assembler/main.c +++ b/assembler/main.c @@ -947,8 +947,16 @@ recalculate_addresses: if (addr < 0) goto does_not_exist; c->operands[i].u.operand = addr; - if (i != 2) /* Is not a jump target */ - c->operands[i].u.operand |= 0xC00; /* Make it be an immediate */ + if (i != 2) { + /* Is not a jump target. + * Make it be an immediate */ + if (ctx->arch == 5) + c->operands[i].u.operand |= 0xC00; + else if (ctx->arch == 15) + c->operands[i].u.operand |= 0xC00 << 1; + else + asm_error(ctx, "Internal error: label res imm"); + } } break; case OUT_LABEL: