⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 操作系统SunOS 4.1.3版本的源码
💻 C
字号:
#ifndef lintstatic  char sccsid[] = "@(#)main.c 1.1 92/07/30 SMI";#endif/* * Copyright (c) 1988 by Sun Microsystems, Inc. *//* *	Micro-assembler -- main driver *		main.c	1.1	31 May 1984 */#include "micro.h"#include <stdio.h>char * curfilename = "<stdin>";short curaddr, maxaddr;int curlineno;Boolean dflag = False;Boolean waserror = False;Boolean Scanning = False;NODE n[NNODE];NODE *curnode = n-1;CODE code[ NNODE ];CODE *curword;char *abinfile = NULL;char *binfile = NULL;main(argc, argv)    int argc;    char **argv;{    int c;    char *ap;    for (c=1; c<argc; c++) {	ap = argv[c];	if (ap[0] == '-') {	    switch (ap[1]) {		case 'o':			if (freopen(argv[++c], "w", stdout) == NULL) 	    		    fatal("could not open file %s",argv[c]);			continue;		case 'a':			abinfile = argv[++c];			continue;		case 'b':			binfile = argv[++c];			continue;		default:			help();			fatal("bad option %s", argv[c]);	    }	} else {	    curfilename = argv[c];	    if (freopen(argv[c], "r", stdin) == NULL) 	    	fatal("could not open file %s",argv[c]);	}    }    Scanning = True;    curaddr = 4096;    init_symtab();    resw_hash(); /* hash keywords */    init_assm();    scanprog();    Scanning = False;/*    if (waserror) exit(1);    */    resolve_addrs();    restrict();              /* rectriction checking */    output();    if (waserror) exit(1);}fatal(s, a)    char *s, *a;{    if (Scanning) {    	printf("File %s, line %d: %s\n", curfilename, curlineno, s);    }    printf(s, a);    printf("\n");    exit(1);    /*_cleanup();    abort();*/}error(s, a, b, c, d, e, f)    char *s;{    if (Scanning) {	printf("File %s, line %d: ", curfilename, curlineno);    }    printf(s, a, b, c, d, e, f);    printf("\n");    waserror = True;}warn(s, a, b, c, d, e, f)    char *s;{    printf("Warning:");    if ( Scanning) {	printf(" file %s, line %d: ", curfilename, curlineno);    }    printf(s, a, b, c, d, e, f);    printf("\n");}help(){	fprintf( stderr, "usage: fpas [-o file] [-a file] [-b file]\n" );	fprintf( stderr, "\t-o: output listing to file\n" );	fprintf( stderr, "\t-a: output ascii (pseudo binary) to file\n" );	fprintf( stderr, "\t-b: output binary to file\n" );}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -