/* * write end record into object file */ void obj_end(void) { switch (out_form) { case OUTBIN: break; case OUTMOS: break; case OUTHEX: flush_hex(); fprintf(objfp, ":00000001FF\n"); break; } }
/* * write <count> bytes 0xff into object file */ void obj_fill(int count) { switch (out_form) { case OUTBIN: while (count--) putc(0xff, objfp); break; case OUTMOS: while (count--) putc(0xff, objfp); break; case OUTHEX: flush_hex(); hex_adr += count; break; } }
/* * write <count> bytes 0xff into object file */ void obj_fill(int count, int value) { switch (out_form) { case OUTBIN: while (count--) putc(value, objfp); // 0xff -> 0x0 break; case OUTMOS: while (count--) putc(value, objfp); break; case OUTHEX: flush_hex(); hex_adr += count; break; } }
/* * write opcodes in ops[] into object file */ void obj_writeb(int opanz) { register int i; switch (out_form) { case OUTBIN: fwrite(ops, 1, opanz, objfp); break; case OUTMOS: fwrite(ops, 1, opanz, objfp); break; case OUTHEX: for (i = 0; opanz; opanz--) { if (hex_cnt >= MAXHEX) flush_hex(); hex_buf[hex_cnt++] = ops[i++]; } break; } }