亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? conf68.c

?? C語言編譯器的源代碼
?? C
字號:
/*
 * 68K/386 32-bit C compiler.
 *
 * copyright (c) 1997, David Lindauer
 * 
 * This compiler is intended for educational use.  It may not be used
 * for profit without the express written consent of the author.
 *
 * It may be freely redistributed, as long as this notice remains intact
 * and either the original sources or derived sources 
 * are distributed along with any executables derived from the originals.
 *
 * The author is not responsible for any damages that may arise from use
 * of this software, either idirect or consequential.
 *
 * v1.35 March 1997
 * David Lindauer, gclind01@starbase.spd.louisville.edu
 *
 * Credits to Mathew Brandt for original K&R C compiler
 *
 */
#include  <stdio.h>
#include	"expr.h"
#include 	"c.h"
extern int prm_packing;
extern long lc_maxauto, framedepth;
extern int prm_linkreg;
extern SYM *currentfunc;

char PROGNAME[]="CC68K";
char ENVNAME[]="CC68K";
char SOURCEXT[]=".SRC";
char GLBDEFINE[]="_m68k_";

#ifdef BRIEFHELP
char *usage_text = "[+e/+i/f+l/w+A/C/D/E/I/O] file list";
#else
char *usage_text = "[options] files\n"
"+e     - dump errors to file        /fname - specify parameter file\n"
"+i     - dump preprocessed file     +l     - dump listing file\n"
"/w-xxx - disable a warning          +A     - disable extensions\n"
"/C     - codegen parameters         /Dxxx  - define something\n"
"/Enn   - max number of errors       /Ipath - specify include path\n"
"/O     - optimzer parameters\n"
"Codegen parameters: (/C[+][-][params])\n"
"  -b   - no BSS\n"
"  -c   - don't optimize to CLR      +d     - display diagnostics\n"
"  +1   - generate 68010 code        +2     - generate 68020 code\n"
"  -l   - no C source in ASM file    -m     - no leading underscores\n"
"  +r   - reverse order of bit ops   +s     - small data model\n"
"  +A   - absolute addressing        +L     - large data model\n"
"  +P   - PHI system stack frames    -R     - no link register\n"
"Optimizer parameters (/O[+][-][params])\n"
"  -A   - no address register optimizations\n"
"  -D   - no data register optimizations\n"
"  -F   - no fp register optimizations\n";
#endif                                    

int prm_buggyclr = FALSE;
int prm_smalldata = FALSE;
int prm_smallcode = FALSE;
int prm_rel = TRUE;
int linkreg;
int basereg;
int prm_phiform=0;
int prm_largedata = FALSE;
int prm_68020 = FALSE;
int prm_68010 = FALSE;
int cf_maxaddress =21;
int cf_maxdata=8;
int cf_maxfloat = 40;
int cf_freeaddress =2;
int cf_freedata=3;
int cf_freefloat=3;
int stackadd = 3;
int stackmod = -4;
int strucadd = 3;
int strucmod = -4;
int stdretblocksize = 8;
int stdinttype = bt_long;
int stdunstype = bt_unsigned;
int stdintsize = 4;
int stdldoublesize = 12;
int stdaddrsize = 4;
int regdsize = 4;
int regasize = 4;
int regfsize = 12;

extern TYP stdchar;
TYP             stdconst = { bt_long, 1, UF_DEFINED, 0, 0, -1, -1, 4, {0, 0}, 0, "stdconst",0};
TYP             stdstring = {bt_pointer, 0, 0,0,0,-1, -1, 4, {0, 0}, &stdchar, 0,0};
TYP             stdint = { bt_long, 0, UF_DEFINED | UF_USED,0, 0,-1, -1, 4, {0, 0}, 0, 0,0 };
TYP							stdlongdouble = {bt_longdouble,0,0,0,0,-1,-1,12,{0,0},0,0,0 };
TYP             stduns = { bt_unsigned, 0, 0,0, 0,-1, -1, 4, {0, 0}, 0, 0,0 };
KEYWORDS prockeywords[] = {
				{0,"_trap", kw__trap}, {0,"_interrupt", kw__interrupt},
				{0,"_absolute", kw__abs }, {0,"_genword", kw__genword },
				{0,"pascal", kw__pascal },
				{0,"_D0",kw_D0},{0,"_D1",kw_D1},{0,"_D2",kw_D2},{0,"_D3",kw_D3},
				{0,"_D4",kw_D4},{0,"_D5",kw_D5},{0,"_D6",kw_D6},{0,"_D7",kw_D7},
				{0,"_A0",kw_A0},{0,"_A1",kw_A1},{0,"_A2",kw_A2},{0,"_A3",kw_A3},
				{0,"_A4",kw_A4},{0,"_A5",kw_A5},{0,"_A6",kw_A6},{0,"_A7",kw_A7},
				{0,"_FP0",kw_F0},{0,"_FP1",kw_F1},{0,"_FP2",kw_F2},{0,"_FP3",kw_F3},
				{0,"_FP4",kw_F4},{0,"_FP5",kw_F5},{0,"_FP6",kw_F6},{0,"_FP7",kw_F7},
        {0, 0, 0} };

char *registers[]  = { 
"D0","D1","D2","D3","D4","D5","D6","D7",
"","","","","","","","",
"A0","A1","A2","A3","A4","A5","A6","A7",
"","","","","","","","",
"FP0","FP1","FP2","FP3","FP4","FP5","FP6","FP7",
"","","","","","","","" } ;

int confcodegen(char s, int bool)
{
	switch (s) {
					case 'c':
						prm_buggyclr = !bool;
						break;
					case 'L':		/* 68000 specific */
						prm_largedata = bool;
						break;
					case '2':   /* 68020 specific */
						prm_68020 = bool;
						break;
					case '1':   /* 68020 specific */
						prm_68010 = bool;
						break;
					case 'P':
						prm_phiform = bool;
						break;
					case 's':
						prm_smalldata = prm_smallcode = bool;
						break;
					case 'A':
						prm_rel = !bool;
						break;
					default:
						return 0;
	}
	return 1;
}
void confsetup(void)
{
	if (prm_68020)
		prm_largedata = FALSE;
	if (prm_phiform)
		prm_linkreg = FALSE;
	linkreg = 6;
  basereg = 5;
	if (prm_phiform || prm_linkreg) {
		if (prm_rel) {
		  cf_maxaddress=21;
		}
		else
			cf_maxaddress = 22;
	}
	else {
		/* Note that the link reg may be used by trap calls even
		 * though nothing else uses it, so it can never be freed
		 */
		if (prm_rel) {
			cf_maxaddress=21;
		}
		else {
			cf_maxaddress=22;
		}
	}
}
static int     alignment(int type, TYP *tp)
{       switch(tp->type) {
                case bt_char: case bt_unsignedchar:  return 1;
                case bt_short: case bt_unsignedshort: return 2;
                case bt_long: case bt_unsigned: return 4;
                case bt_enum:           return 2;
                case bt_pointer:
								case bt_matchall:
                        if(tp->val_flag)
                                return alignment(type,tp->btp);
                        else
                                return 4;
                case bt_float:          return 4;
                case bt_double:         return 4;
								case bt_longdouble:				return 4;
                case bt_struct:
                case bt_union:          return 4;
                default:                return 1;
                }
}
int getalign(int sc, TYP *tp)
{
   int align = alignment(sc,tp);
												if (sc != sc_auto) 
													if (prm_packing) 
														if (!prm_68020)
															align = 1;
														else
															if (align > 2) align = 2;
	return align;
}

long getautoval(long val)
{

	if (prm_linkreg && !currentfunc->intflag)
		return val;
	if (val >= 0) 
		if (prm_phiform || currentfunc->intflag)
			return framedepth+val;
		else
			return val;
	else
		return lc_maxauto + val;
}

int funcvaluesize(int size)
{
		return 4 - size;						
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
岛国精品在线观看| 亚洲h动漫在线| 国产999精品久久| 欧美日韩在线播| 国产精品九色蝌蚪自拍| 国产老女人精品毛片久久| 欧美大白屁股肥臀xxxxxx| 亚洲va欧美va人人爽午夜| 激情成人综合网| 久久久亚洲综合| 国产成a人无v码亚洲福利| 久久精品人人做人人综合| 韩国精品主播一区二区在线观看| 日韩精品在线一区二区| 卡一卡二国产精品 | 欧美自拍偷拍一区| 亚洲综合在线电影| av在线播放成人| 亚洲黄一区二区三区| 在线精品国精品国产尤物884a| 一区二区三区四区不卡在线 | 欧美亚洲日本国产| 亚洲国产裸拍裸体视频在线观看乱了| 一本色道久久综合精品竹菊| 亚洲男人的天堂一区二区| 在线观看欧美黄色| 日韩av中文字幕一区二区| 日韩美女视频一区二区在线观看| 久久av中文字幕片| 国产精品毛片高清在线完整版| 91同城在线观看| 天天色天天操综合| 久久综合久久综合久久| 国产乱码精品1区2区3区| 国产精品国产自产拍高清av王其| 91日韩一区二区三区| 五月天视频一区| 91精品国产乱码| 成人免费va视频| 亚洲一区二区三区影院| 精品国产免费一区二区三区四区| 国产一区二区三区在线观看免费视频 | 99re在线视频这里只有精品| 一区二区三区精品在线| 精品久久人人做人人爱| 日韩电影在线免费| 中文字幕av一区二区三区免费看| 欧美在线不卡视频| 国产麻豆成人传媒免费观看| 专区另类欧美日韩| 日韩午夜电影在线观看| 99精品久久免费看蜜臀剧情介绍| 最新中文字幕一区二区三区| 欧美一区中文字幕| av色综合久久天堂av综合| 中文字幕人成不卡一区| 91麻豆精品在线观看| 五月婷婷综合在线| 亚洲欧美在线视频| 欧美自拍丝袜亚洲| 国产91综合一区在线观看| 三级久久三级久久| 亚洲精品久久久蜜桃| 欧美videofree性高清杂交| 91网站在线播放| 五月激情六月综合| 亚洲免费在线视频| 国产视频一区在线观看| 91精品国产入口| 欧美日韩一级视频| 色欧美日韩亚洲| av不卡免费电影| 精品亚洲成a人在线观看| 夜夜亚洲天天久久| 国产精品无码永久免费888| 久久综合一区二区| 日韩欧美高清一区| 欧美三级日韩三级国产三级| 色一情一乱一乱一91av| 成人免费毛片高清视频| 国产高清在线精品| 国产精品一区在线观看乱码| 麻豆精品视频在线观看免费| 婷婷国产v国产偷v亚洲高清| 亚洲一区二区三区视频在线| 日韩毛片在线免费观看| ...av二区三区久久精品| 国产精品成人网| 国产精品电影一区二区| 国产精品免费视频观看| 国产拍揄自揄精品视频麻豆| 国产日韩影视精品| 国产精品欧美精品| 亚洲精品在线观| 538prom精品视频线放| 欧美精品乱码久久久久久按摩 | 亚洲小少妇裸体bbw| 亚洲天堂久久久久久久| 又紧又大又爽精品一区二区| 亚洲精品写真福利| 亚洲激情一二三区| 亚洲国产精品一区二区www在线| 香蕉久久一区二区不卡无毒影院| 亚洲国产精品一区二区尤物区| 亚洲成人免费看| 日韩av电影一区| 麻豆国产一区二区| 国产传媒欧美日韩成人| 成人丝袜高跟foot| 91亚洲精华国产精华精华液| 91精品办公室少妇高潮对白| 欧美色图12p| 日韩一级片网站| 久久精品这里都是精品| 国产精品久久久久aaaa樱花| 亚洲欧洲精品一区二区三区| 亚洲一区二区中文在线| 麻豆精品一区二区综合av| 国产精品亚洲成人| 在线视频欧美精品| 日韩西西人体444www| 日本一区二区三区高清不卡| 亚洲免费视频成人| 日韩一区精品字幕| 国产成人精品影视| 欧美中文字幕一区| 欧美xingq一区二区| 亚洲少妇最新在线视频| 婷婷综合在线观看| 成人免费毛片aaaaa**| 精品视频1区2区| 欧美成人精品1314www| 亚洲欧洲日韩一区二区三区| 视频一区二区三区中文字幕| 免费观看成人鲁鲁鲁鲁鲁视频| 久久99久久精品| 91日韩精品一区| 欧美变态tickle挠乳网站| 亚洲欧美视频在线观看视频| 久久精品99国产精品| 91麻豆精品秘密| 精品乱人伦小说| 亚洲精品免费电影| 国产精品88888| 制服丝袜在线91| 亚洲欧美色综合| 国产精品一区专区| 日韩三级视频在线看| 久久久久久夜精品精品免费| 亚洲一级二级在线| 成人黄页在线观看| 欧美成人一区二区三区片免费 | 免费av网站大全久久| 99re成人精品视频| 精品久久国产字幕高潮| 亚洲国产毛片aaaaa无费看| 国产成人在线影院| 欧美成人一区二区| 日韩精品一区第一页| 色综合久久中文字幕| 日本一区二区三区在线不卡| 麻豆国产一区二区| 69堂精品视频| 亚洲大片精品永久免费| 91麻豆精品一区二区三区| 国产色产综合色产在线视频| 奇米色一区二区三区四区| 95精品视频在线| 国产精品午夜免费| 国产精品影视在线观看| 日韩欧美亚洲一区二区| 五月天一区二区| 欧美日韩一区不卡| 亚洲国产日韩a在线播放性色| 99re在线精品| 亚洲欧洲精品一区二区精品久久久| 国产精品一区免费在线观看| 精品国产亚洲一区二区三区在线观看| 天天色 色综合| 欧美欧美欧美欧美首页| 亚洲丰满少妇videoshd| 91黄色小视频| 午夜久久久久久电影| 欧美色图在线观看| 亚洲福利视频一区| 欧美日韩激情在线| 青青草原综合久久大伊人精品 | 欧美bbbbb| 日韩一区二区电影在线| 久久精品国内一区二区三区| 欧美一区二区三区系列电影| 日韩国产欧美在线播放| 91精品国产色综合久久ai换脸 | 国产精品久久久久精k8| av中文字幕在线不卡| 国产精品国产三级国产aⅴ中文 | 亚洲精品国产第一综合99久久| 在线观看一区日韩| 韩国午夜理伦三级不卡影院| 国产精品卡一卡二|