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

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

?? local.c

?? unix v7是最后一個廣泛發布的研究型UNIX版本
?? C
字號:
# include "mfile1"/*	this file contains code which is dependent on the target machine */NODE *cast( p, t ) register NODE *p; TWORD t; {	/* cast node p to type t */	p = buildtree( CAST, block( NAME, NIL, NIL, t, 0, (int)t ), p );	p->left->op = FREE;	p->op = FREE;	return( p->right );	}NODE *clocal(p) NODE *p; {	/* this is called to do local transformations on	   an expression tree preparitory to its being	   written out in intermediate code.	*/	/* the major essential job is rewriting the	   automatic variables and arguments in terms of	   REG and OREG nodes */	/* conversion ops which are not necessary are also clobbered here */	/* in addition, any special features (such as rewriting	   exclusive or) are easily handled here as well */	register struct symtab *q;	register NODE *r;	register o;	register m, ml;	switch( o = p->op ){	case NAME:		if( p->rval < 0 ) { /* already processed; ignore... */			return(p);			}		q = &stab[p->rval];		switch( q->sclass ){		case AUTO:		case PARAM:			/* fake up a structure reference */			r = block( REG, NIL, NIL, PTR+STRTY, 0, 0 );			r->lval = 0;			r->rval = (q->sclass==AUTO?STKREG:ARGREG);			p = stref( block( STREF, r, p, 0, 0, 0 ) );			break;		case ULABEL:		case LABEL:		case STATIC:			if( q->slevel == 0 ) break;			p->lval = 0;			p->rval = -q->offset;			break;		case REGISTER:			p->op = REG;			p->lval = 0;			p->rval = q->offset;			break;			}		break;	case LT:	case LE:	case GT:	case GE:		if( ISPTR( p->left->type ) || ISPTR( p->right->type ) ){			p->op += (ULT-LT);			}		break;	case PCONV:		/* do pointer conversions for char and longs */		ml = p->left->type;		if( ( ml==CHAR || ml==UCHAR || ml==LONG || ml==ULONG ) && p->left->op != ICON ) break;		/* pointers all have the same representation; the type is inherited */		p->left->type = p->type;		p->left->cdim = p->cdim;		p->left->csiz = p->csiz;		p->op = FREE;		return( p->left );	case SCONV:		m = (p->type == FLOAT || p->type == DOUBLE );		ml = (p->left->type == FLOAT || p->left->type == DOUBLE );		if( m != ml ) break;		/* now, look for conversions downwards */		m = p->type;		ml = p->left->type;		if( p->left->op == ICON ){ /* simulate the conversion here */			CONSZ val;			val = p->left->lval;			switch( m ){			case CHAR:				p->left->lval = (char) val;				break;			case UCHAR:				p->left->lval = val & 0XFF;				break;			case UNSIGNED:				p->left->lval = val & 0XFFFFL;				break;			case INT:				p->left->lval = (int)val;				break;				}			p->left->type = m;			}		else {			/* meaningful ones are conversion of int to char, int to short,			   and short to char, and unsigned version of them */			if( m==CHAR || m==UCHAR ){				if( ml==LONG || ml==ULONG ) break;				}			else if( m==INT || m==UNSIGNED ){				if( ml==LONG || ml==ULONG ) break;				}			else if( m==LONG || m==ULONG ){				if( ml!=LONG && ml!= ULONG ) break;				}			}		/* clobber conversion */		p->op = FREE;		return( p->left );  /* conversion gets clobbered */	case ASSIGN:		/* get rid of SCONV for assignments		   from LONG -> CHAR|INT	*/		if( p->right->op == SCONV ) {			m = p->right->type;			ml = p->right->left->type;			if( ( m==LONG || m==ULONG ) &&			    ml!=FLOAT && ml!=DOUBLE ) {				p->right->op = FREE;				p->right = p->right->left;				}			}		break;	case PVCONV:	case PMCONV:		if( p->right->op != ICON ) cerror( "bad conversion", 0);		p->op = FREE;		return( buildtree( o==PMCONV?MUL:DIV, p->left, p->right ) );	case PLUS:	case MINUS:	case LS:	case MUL:		/* optimize address calculations with long indexes */		if( ISPTR( p->type ) || ISARY( p->type ) ) {			if( p->left->type==LONG || p->left->type==ULONG )				p->left = cast( p->left, INT );			if( p->right->type==LONG || p->right->type==ULONG )				p->right = cast( p->right, INT );			}		break;		}	return(p);	}andable( p ) NODE *p; {	return(1);  /* all names can have & taken on them */	}cendarg(){ /* at the end of the arguments of a ftn, set the automatic offset */	autooff = AUTOINIT;	}cisreg( t ) TWORD t; { /* is an automatic variable of type t OK for a register variable */	if( t==INT || t==UNSIGNED || ISPTR(t) ) return(1);	return(0);	}NODE *offcon( off, t, d, s ) OFFSZ off; TWORD t; {	/* return a node, for structure references, which is suitable for	   being added to a pointer of type t, in order to be off bits offset	   into a structure */	register NODE *p;	/* t, d, and s are the type, dimension offset, and sizeoffset */	/* in general they  are necessary for offcon, but not on H'well */	p = bcon(0);	p->lval = off/SZCHAR;	return(p);	}static inwd	/* current bit offsed in word */;static word	/* word being built from fields */;incode( p, sz ) register NODE *p; {	/* generate initialization code for assigning a constant c		to a field of width sz */	/* we assume that the proper alignment has been obtained */	/* inoff is updated to have the proper final value */	/* we also assume sz  < SZINT */	if((sz+inwd) > SZINT) cerror("incode: field > int");	word |= p->lval<<inwd;	inwd += sz;	inoff += sz;	if(inoff%SZINT == 0) {		printf( "	%o\n", word);		word = inwd = 0;		}	}fincode( d, sz ) double d; {	/* output code to initialize space of size sz to the value d */	/* the proper alignment has been obtained */	/* inoff is updated to have the proper final value */	/* on the target machine, write it out in octal! */	register int *mi = (int *)&d;	if( sz==SZDOUBLE )		printf( "	%o; %o; %o; %o\n", mi[0], mi[1], mi[2], mi[3] );	else		printf( "	%o; %o\n", mi[0], mi[1] );	inoff += sz;	}cinit( p, sz ) NODE *p; {	/* arrange for the initialization of p into a space of	size sz */	/* the proper alignment has been opbtained */	/* inoff is updated to have the proper final value */	ecode( p );	inoff += sz;	}vfdzero( n ){ /* define n bits of zeros in a vfd */	if( n <= 0 ) return;	inwd += n;	inoff += n;	if( inoff%ALINT ==0 ) {		printf( "	%o\n", word );		word = inwd = 0;		}	}char *exname( p ) char *p; {	/* make a name look like an external name in the local machine */	static char text[NCHNAM+1];	register i;	text[0] = '_';	for( i=1; *p&&i<NCHNAM; ++i ){		text[i] = *p++;		}	text[i] = '\0';	text[NCHNAM] = '\0';  /* truncate */	return( text );	}ctype( type ) TWORD type; { /* map types which are not defined on the local machine */	switch( BTYPE(type) ){	case SHORT:		MODTYPE(type,INT);		break;	case USHORT:		MODTYPE(type,UNSIGNED);		}	return( type );	}noinit() { /* curid is a variable which is defined but	is not initialized (and not a function );	This routine returns the stroage class for an uninitialized declaration */	return(EXTERN);	}commdec( id ){ /* make a common declaration for id, if reasonable */	register struct symtab *q;	OFFSZ off;	q = &stab[id];	printf( "	.comm	%s,", exname( q->sname ) );	off = tsize( q->stype, q->dimoff, q->sizoff );	printf( CONFMT, off/SZCHAR );	printf( ".\n" );	}isitlong( cb, ce ){ /* is lastcon to be long or short */	/* cb is the first character of the representation, ce the last */	if( ce == 'l' || ce == 'L' ||		lastcon >= (1L << (SZINT-1) ) ) return (1);	return(0);	}isitfloat( s ) char *s; {	double atof();	dcon = atof(s);	return( FCON );	}ecode( p ) NODE *p; {	/* walk the tree and write out the nodes.. */	if( nerrors ) return;	p2tree( p );	p2compile( p );	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩精品专区| 亚洲免费伊人电影| 亚洲三级在线免费观看| 日本欧美一区二区在线观看| 高清国产午夜精品久久久久久| 欧美日韩你懂得| 亚洲视频免费看| 国产一区在线精品| 91麻豆精品国产91久久久资源速度 | 成人精品视频.| 欧美喷潮久久久xxxxx| 中文字幕一区免费在线观看| 国产乱理伦片在线观看夜一区| 91精品国产综合久久精品图片| 亚洲黄色在线视频| 99精品偷自拍| 国产精品免费看片| 国产精品一区二区无线| 日韩欧美一区电影| 午夜国产不卡在线观看视频| 91在线一区二区三区| 国产精品私人影院| 精久久久久久久久久久| 国产99久久久国产精品潘金| 欧美不卡一区二区三区四区| 午夜成人免费视频| 色美美综合视频| 亚洲色图19p| 色婷婷亚洲综合| 亚洲男女一区二区三区| 99国产精品国产精品毛片| 国产欧美一区二区在线观看| 韩国精品久久久| 国产日产精品一区| 国产91精品在线观看| 日本一区二区三区四区| 国产a级毛片一区| 国产精品福利一区二区| 91亚洲精华国产精华精华液| 亚洲男人都懂的| 欧美色视频在线观看| 亚洲bdsm女犯bdsm网站| 91精品国产综合久久久蜜臀粉嫩 | 亚洲欧洲av一区二区三区久久| 国产99一区视频免费| 中文字幕综合网| 欧美在线观看视频一区二区三区| 亚洲国产视频一区二区| 欧美精品亚洲一区二区在线播放| 舔着乳尖日韩一区| 欧美xfplay| av电影在线不卡| 亚洲a一区二区| 国产亚洲综合性久久久影院| a在线欧美一区| 天天影视色香欲综合网老头| 久久综合一区二区| 91在线一区二区| 日本亚洲免费观看| 中文无字幕一区二区三区| 在线视频一区二区三区| 久久99精品国产.久久久久 | 成人精品视频一区二区三区| 樱花影视一区二区| 欧美va在线播放| av一区二区三区黑人| 婷婷亚洲久悠悠色悠在线播放| 久久久亚洲精品石原莉奈| 色婷婷一区二区三区四区| 免费成人av在线| 亚洲色图视频网| 久久综合国产精品| 欧美视频中文字幕| 国产成a人亚洲精品| 日韩电影免费一区| 综合激情成人伊人| 久久综合久色欧美综合狠狠| 欧美综合一区二区三区| 国产成a人亚洲精| 秋霞成人午夜伦在线观看| 亚洲视频在线观看一区| 久久青草欧美一区二区三区| 欧美久久久影院| 丁香婷婷综合五月| 精品国产免费人成电影在线观看四季 | 亚洲综合小说图片| 2021国产精品久久精品| 在线观看av一区| 懂色一区二区三区免费观看| 免费一级欧美片在线观看| 亚洲精品乱码久久久久久黑人| 久久综合久色欧美综合狠狠| 91精品国产综合久久久久久| 欧美在线观看视频一区二区 | 国产日韩欧美精品在线| 欧美久久久一区| 欧美亚洲国产一区二区三区va| 日本特黄久久久高潮| 久久久三级国产网站| 欧美美女黄视频| 欧美日免费三级在线| 91在线观看美女| 99精品国产一区二区三区不卡| 国产在线视频精品一区| 免费观看日韩电影| 极品尤物av久久免费看| 奇米在线7777在线精品| 亚洲成av人片一区二区三区| 一卡二卡三卡日韩欧美| 亚洲另类在线一区| 亚洲男人的天堂在线aⅴ视频| 国产精品高清亚洲| 国产精品乱码一区二区三区软件| 久久亚洲春色中文字幕久久久| 欧美一级精品在线| 精品欧美一区二区三区精品久久| 日韩一区二区三区高清免费看看| 日韩欧美中文字幕精品| 日韩精品在线一区| 久久五月婷婷丁香社区| 久久久蜜桃精品| 欧美国产在线观看| 亚洲欧美一区二区三区孕妇| 亚洲一区二区三区四区不卡| 欧美性大战xxxxx久久久| 91精品91久久久中77777| 一本大道久久精品懂色aⅴ| 一本色道**综合亚洲精品蜜桃冫| 91蜜桃在线观看| 欧美精品成人一区二区三区四区| 日韩午夜激情av| 久久这里只有精品视频网| 国产精品色一区二区三区| 亚洲日穴在线视频| 亚洲成人精品一区二区| 美女一区二区三区在线观看| 国产高清精品网站| 91婷婷韩国欧美一区二区| 欧美日韩亚洲综合一区二区三区| 日韩欧美一二区| 国产精品久久精品日日| 亚洲一区二区在线播放相泽| 青青草原综合久久大伊人精品优势| 精品一区二区成人精品| av一本久道久久综合久久鬼色| 欧美影视一区二区三区| 精品国产自在久精品国产| 欧美极品美女视频| 亚洲国产精品影院| 国产大陆a不卡| 欧美另类z0zxhd电影| 中文字幕成人av| 日韩国产精品久久久| 成人在线视频首页| 欧美一区二区精美| 中文字幕亚洲精品在线观看 | 国产精品黄色在线观看| 视频一区中文字幕| 不卡的电影网站| 日韩精品一区二区三区三区免费| 中文字幕一区二区三区色视频| 奇米影视在线99精品| 色婷婷精品久久二区二区蜜臂av | 亚洲欧美日韩一区二区三区在线观看| 日本伊人色综合网| 91高清视频在线| 欧美国产综合一区二区| 日韩av在线发布| 欧美午夜精品久久久| 国产精品毛片无遮挡高清| 蜜臀精品久久久久久蜜臀 | 天天爽夜夜爽夜夜爽精品视频| 国产盗摄精品一区二区三区在线| 欧美人体做爰大胆视频| 亚洲日本在线看| 高清av一区二区| 337p粉嫩大胆噜噜噜噜噜91av | 日韩一区二区三区在线视频| 亚洲一区二区三区四区的| 99re热视频精品| 中文字幕av一区二区三区高 | 国产一区二区调教| 国产麻豆视频精品| 欧美三日本三级三级在线播放| 久久精品免费在线观看| 蜜桃传媒麻豆第一区在线观看| 欧美在线高清视频| 亚洲免费视频成人| 91麻豆精品在线观看| 国产精品三级av在线播放| 国产成人综合亚洲91猫咪| 精品嫩草影院久久| 裸体健美xxxx欧美裸体表演| 欧美日韩成人一区| 亚洲五码中文字幕| 欧美三区在线视频| 婷婷久久综合九色国产成人 | 99r国产精品| 国产欧美日韩综合| 成人午夜私人影院|