Another batch...
This commit is contained in:
committed by
Manoël Trapier
parent
36a59de862
commit
f6d58a0d04
@@ -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__ */
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user