Another batch...

This commit is contained in:
Manoel Trapier
2013-03-11 19:19:06 +01:00
committed by Manoël Trapier
parent 36a59de862
commit f6d58a0d04
27 changed files with 785 additions and 527 deletions

View File

@@ -6,6 +6,10 @@
static char rcsid[] = "$Id$";
#endif
#if __STDC__
#include <stdarg.h>
#endif
/* This program converts either human-readable or compact EM
assembly code to calls of the procedure-interface.
It must be linked with two libraries:
@@ -16,6 +20,7 @@ static char rcsid[] = "$Id$";
linked.
*/
#include <stdio.h>
#include <stdlib.h>
#include "system.h"
#include "em_pseu.h"
@@ -26,15 +31,22 @@ static char rcsid[] = "$Id$";
#include "em.h"
#include "em_comp.h"
#if __STDC__
void error(char *fmt, ...);
void fatal(char *fmt, ...);
#else
void error();
void fatal();
#endif
char *filename; /* Name of input file */
int errors; /* Number of errors */
extern char *C_error;
main(argc,argv)
char **argv;
int main(int argc, char *argv[])
{
struct e_instr buf;
register struct e_instr *p = &buf;
struct e_instr *p = &buf;
if (argc >= 2) {
filename = argv[1];
@@ -67,8 +79,45 @@ main(argc,argv)
C_close();
EM_close();
exit(errors);
return errors;
}
#if __STDC__
void error(char *fmt, ...)
{
va_list ap;
fprint(stderr,
"%s, line %d: ",
filename ? filename : "standard input",
EM_lineno);
va_start(ap, fmt);
vfprintf(stderr, fmt, ap);
fprintf(stderr, "\n");
va_end(ap);
}
void fatal(char *fmt, ...)
{
va_list ap;
if (C_busy()) C_close();
fprint(stderr,
"%s, line %d: ",
filename ? filename : "standard input",
EM_lineno);
va_start(ap, fmt);
vfprintf(stderr, fmt, ap);
fprintf(stderr, "\n");
va_end(ap);
exit(1);
}
#else /* __STDC__ */
/* VARARGS */
error(s,a1,a2,a3,a4)
char *s;
@@ -90,3 +139,4 @@ fatal(s,a1,a2,a3,a4)
error(s,a1,a2,a3,a4);
exit(1);
}
#endif /* __STDC__ */

View File

@@ -33,9 +33,10 @@ long szdata;
long ptr7;
long ptr8;
main(argc, argv)
int argc;
char *argv[];
void esize(char *fname);
void rd_close();
int main(int argc, char *argv[])
{
printf("TPFCRE uref vers w/p text nproc szdata\n");
@@ -49,10 +50,10 @@ main(argc, argv)
}
}
exit(0);
return 0;
}
esize(fname)
char *fname;
void esize(char *fname)
{
eof = 0;
if (!rd_open(fname)) {
@@ -91,15 +92,12 @@ esize(fname)
#define btol(a) ((long)(((long) (a)) & 0xFF))
int
rd_open(load_file)
char *load_file;
int rd_open(char *load_file)
{
return (load_fp = fopen(load_file, "r")) != NULL;
}
int
rd_byte()
int rd_byte()
{
int i;
@@ -108,12 +106,10 @@ rd_byte()
return (i);
}
long
rd_int(n)
long n;
long rd_int(long n)
{
long l;
register int i;
int i;
l = btol(rd_byte());
for (i = 1; i < n; i++)
@@ -123,13 +119,12 @@ rd_int(n)
#define rd_ptr() ((ptr) rd_int(psize))
int
rd_header()
int rd_header()
{
magic = rd_int(2L);
if (magic != MAGIC || eof)
return 0;
flags = rd_int(2L);
uref = rd_int(2L);
version = rd_int(2L);
@@ -150,7 +145,7 @@ rd_header()
return !eof;
}
rd_close()
void rd_close()
{
fclose(load_fp);
}