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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? conf68.c

?? 本程序集是Allen I. Holub所寫的《Compiler Design in C》一書的附隨軟件
?? C
字號(hào):
/*
 * 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;						
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品二十页| 国产一区亚洲一区| 亚洲最大成人网4388xx| 亚洲欧美色综合| 亚洲色图欧美在线| 亚洲人成网站在线| 一区二区三区蜜桃| 亚洲成人av在线电影| 亚洲国产一区在线观看| 亚洲一区在线电影| 亚洲6080在线| 亚欧色一区w666天堂| 日本三级亚洲精品| 欧美a级理论片| 另类专区欧美蜜桃臀第一页| 美国一区二区三区在线播放| 精品无码三级在线观看视频| 大胆亚洲人体视频| 91在线国产观看| 欧美日韩精品一区二区三区蜜桃| 9191精品国产综合久久久久久 | 国产精品国产三级国产普通话蜜臀 | 国产精品久久午夜| 亚洲欧美日韩国产手机在线| 亚洲一区二区视频| 日韩中文字幕亚洲一区二区va在线| 亚洲韩国一区二区三区| 久久精品av麻豆的观看方式| 久久99久久久久久久久久久| 国内精品视频一区二区三区八戒| 精一区二区三区| 国产成人免费视频| 99久久婷婷国产综合精品电影| 一本到不卡精品视频在线观看 | 日欧美一区二区| 免费成人深夜小野草| 韩国成人精品a∨在线观看| 日本不卡一二三| 久久精品久久精品| 成人国产视频在线观看| 在线视频综合导航| 欧美另类久久久品| 精品国产亚洲一区二区三区在线观看| 久久久国产精品午夜一区ai换脸| 国产精品免费视频一区| 亚洲精品自拍动漫在线| 日韩电影免费在线看| 美女视频黄 久久| 国产 日韩 欧美大片| 色噜噜久久综合| 337p亚洲精品色噜噜| 日韩欧美在线不卡| 国产欧美一区二区三区网站| 一区二区三区四区高清精品免费观看 | www..com久久爱| 欧美系列在线观看| 欧美va亚洲va国产综合| 国产精品家庭影院| 日韩福利电影在线观看| 国产大陆精品国产| 欧美午夜电影一区| 久久综合九色综合久久久精品综合| 国产精品久久久久久亚洲伦| 日日摸夜夜添夜夜添国产精品| 国产成人自拍网| 欧美性大战久久| 国产日韩欧美高清| 午夜一区二区三区视频| 国产盗摄一区二区| 欧美一区二区三级| 亚洲欧洲av在线| 蜜桃久久久久久| 色8久久人人97超碰香蕉987| 日韩欧美成人激情| 国产日韩欧美a| 视频在线在亚洲| fc2成人免费人成在线观看播放 | av亚洲精华国产精华精华| 欧美精品成人一区二区三区四区| 国产午夜久久久久| 日本在线不卡视频| 色狠狠av一区二区三区| 国产日韩欧美综合一区| 欧美aaaaaa午夜精品| 99久久婷婷国产精品综合| 日韩三级电影网址| 亚洲精选视频免费看| eeuss影院一区二区三区| 日韩欧美国产成人一区二区| 亚洲一区二区三区四区中文字幕| 国产成人亚洲综合a∨婷婷图片| 337p亚洲精品色噜噜噜| 亚洲综合免费观看高清完整版在线| 国产91精品一区二区麻豆网站 | 国产精品亚洲人在线观看| 色欧美乱欧美15图片| 久久久久国产精品麻豆ai换脸| 亚洲精品一二三四区| 国产精品1区2区| 欧美精品xxxxbbbb| 国产精品网站导航| 韩国精品久久久| 日韩一区二区三区在线| 亚洲大片免费看| 一本一本大道香蕉久在线精品| 国产欧美一区二区精品久导航 | 亚洲一区二区三区四区中文字幕 | 99这里只有久久精品视频| 国产亚洲精品中文字幕| 精品制服美女丁香| 欧美一区二区三区不卡| 天堂在线一区二区| 欧美精品欧美精品系列| 一区二区三区四区精品在线视频 | 欧美日韩国产首页| 一区二区三区四区av| 99re成人精品视频| 中文字幕一区二区三区视频| av激情成人网| 中文字幕免费不卡| 成人国产精品免费网站| 国产精品污网站| 99精品视频在线免费观看| 国产精品美女久久久久aⅴ国产馆| 国产福利一区在线观看| 国产偷国产偷亚洲高清人白洁| 国产一区二区三区最好精华液| 欧美大尺度电影在线| 韩国一区二区三区| 久久久精品免费观看| 丁香婷婷深情五月亚洲| 国产精品欧美一区喷水| 成人精品小蝌蚪| 亚洲视频精选在线| 99国产精品久久久久| 亚洲视频在线观看一区| 成人av电影免费在线播放| 亚洲一区二区三区在线播放| 91黄色免费网站| 亚洲精选在线视频| 91精品欧美一区二区三区综合在 | 成人午夜av影视| ...xxx性欧美| 欧美日本视频在线| 蜜桃视频在线观看一区二区| 久久这里都是精品| 99久久久无码国产精品| 中文字幕在线不卡国产视频| 99久久综合色| 亚洲高清视频中文字幕| 日韩精品中文字幕一区 | 高清av一区二区| 亚洲精选视频免费看| 欧美一区2区视频在线观看| 精品一区二区精品| 亚洲色图第一区| 69堂国产成人免费视频| 国产精品一区二区三区网站| 日韩码欧中文字| 欧美一级黄色录像| 盗摄精品av一区二区三区| 一区二区不卡在线视频 午夜欧美不卡在| 欧美日韩一区高清| 精品一区二区三区免费观看| 亚洲精品久久久蜜桃| 日韩午夜电影在线观看| 成人黄色在线网站| 日韩成人伦理电影在线观看| 欧美激情一二三区| 91精品国产综合久久久久久久久久| 国产毛片精品视频| 亚洲一区二区中文在线| 久久精品视频一区二区三区| 在线视频一区二区三区| 日产国产欧美视频一区精品| 久久精品人人做| 欧美在线影院一区二区| 九色综合国产一区二区三区| 国产精品福利在线播放| 欧美大片一区二区| 欧美亚男人的天堂| 成人午夜激情视频| 日本大胆欧美人术艺术动态| 亚洲欧美一区二区久久| 久久婷婷综合激情| 欧美日韩在线电影| 风流少妇一区二区| 免费高清成人在线| 亚洲一二三四区| 久久奇米777| 欧美电影在哪看比较好| 欧美中文字幕亚洲一区二区va在线| 国产露脸91国语对白| 丝袜美腿成人在线| 亚洲日本韩国一区| 国产欧美久久久精品影院| 日韩片之四级片| 色婷婷综合久久久久中文| 激情成人综合网| 日本视频一区二区三区|