|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T a
Length: 1140 (0x474)
Types: TextFile
Names: »aoutput.c«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
└─⟦this⟧ »EUUGD18/General/Corewars/aoutput.c«
/* Copyrighted (C) 1989 by Na Choon Piaw. All rights reserved */
/* This program and documentation is Public Domain, and may be */
/* distributed and copied by everyone provided this header */
/* remains intact */
/* output.c --- output routine for the asssembler.
11/25/88 --- NCP */
/* algorithm:
1. write number of instructions into file
2. write code number of start instruction
3. while there are still instructions do
4. write instruction n
5. end
*/
#include "assem.h"
#include <stdio.h>
#define IO(i,j) if ((i) < (j)) { printf("error in writing file --- output\n" \
); }
output(f, table, code, no)
FILE *f; /* file to output to */
tag1 table[]; /* table of symbols */
memory code[]; /* code itself */
int no; /* number of instructions */
{
int check, /* check on how many bytes have been written */
start; /* starting instruction */
check = fwrite(&no, sizeof(int), 1, f);
IO(check,1)
start = getsym("START",table);
check = fwrite(&start, sizeof(int), 1, f);
IO(check,1);
check = fwrite(code, sizeof(memory), no, f);
IO(check,no);
}