(build_bytes): Understand @rd mode and build relocations correctly.

This commit is contained in:
Steve Chamberlain
1993-05-19 14:44:00 +00:00
parent 8ce07a211b
commit 1f55e556cc

View File

@ -967,6 +967,8 @@ build_bytes (opcode, operand)
output[index] |= rn; output[index] |= rn;
break; break;
case RD: case RD:
case RDIND:
output[index] |= rd; output[index] |= rd;
break; break;
case RS: case RS:
@ -1029,15 +1031,15 @@ build_bytes (opcode, operand)
output[0] |= 0x8; output[0] |= 0x8;
break; break;
case ABS24: case ABS24:
insert (output, index, absolute, R_H8500_IMM24, 0); insert (output, index, &absolute, R_H8500_IMM24, 0);
index += 2; index += 2;
break; break;
case ABS16: case ABS16:
insert (output, index, absolute, R_H8500_IMM16, 0); insert (output, index, &absolute, R_H8500_IMM16, 0);
index++; index++;
break; break;
case ABS8: case ABS8:
insert (output, index, absolute, R_H8500_IMM8, 0); insert (output, index, &absolute, R_H8500_IMM8, 0);
break; break;
case QIM: case QIM:
switch (immediate.X_add_number) switch (immediate.X_add_number)
@ -1621,7 +1623,7 @@ tc_reloc_mangle (fix_ptr, intr, base)
} }
/* end of tc-h8500.c */
int int
start_label (ptr) start_label (ptr)
@ -1635,3 +1637,5 @@ start_label (ptr)
return 0; return 0;
return 1; return 1;
} }
/* end of tc-h8500.c */