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

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

?? outas68.c

?? 本程序集是Allen I. Holub所寫的《Compiler Design in C》一書的附隨軟件
?? C
?? 第 1 頁 / 共 3 頁
字號:
				;/* oc_genlongdouble(val); */
	dataofs+=8;
}

int genstring(char *str, int uselong)
/*
 * Generate a string literal
 */
{
	if (uselong) {
		while  (*(short *)str) {
			genword(*((short *)str));
			str += sizeof(short);
		}
		genword(0);
		return pstrlen(str)*2;
	}
	else {
		int size = 0;
		while (*str) {
			genbyte(*str++);
			size++;
		}
		return size;
	}
}
void genbyte(long val)
/*
 * Output a byte value
 */
{ 		if (prm_asmfile)
        if( gentype == bytegen && outcol < 60) {
                fprintf(outputFile,",$%X",val & 0x00ff);
                outcol += 4;
                }
        else    {
                nl();
                fprintf(outputFile,"\tDC.B\t$%X",val & 0x00ff);
                gentype = bytegen;
                outcol = 19;
                }
			else
				;/* oc_genbyte(val); */
	dataofs+=1;
}

void genword(long val)
/*
 * Output a word value
 */
{     if (prm_asmfile)
        if( gentype == wordgen && outcol < 58) {
                fprintf(outputFile,",$%X",val & 0x0ffff);
                outcol += 6;
                }
        else    {
                nl();
                fprintf(outputFile,"\tDC.W\t$%X",val & 0x0ffff);
                gentype = wordgen;
                outcol = 21;
                }
			else
				;/* oc_genword(val); */
	dataofs+=2;
}

void genlong(long val)
/*
 * Output a long value
 */
{     if (prm_asmfile)
        if( gentype == longgen && outcol < 56) {
                fprintf(outputFile,",$%lX",val);
                outcol += 10;
                }
        else    {
                nl();
                fprintf(outputFile,"\tDC.L\t$%lX",val);
                gentype = longgen;
                outcol = 25;
                }
			else
				;/* oc_genlong(val); */
	dataofs+=4;
}
/*
 * Generate a startup or rundown reference
 */
void gensrref(SYM *sp,int val)
{
			if (prm_asmfile)
        if( gentype == srrefgen && outcol < 56) {
                fprintf(outputFile,",%s,%d",sp->name,val);
                outcol += strlen(sp->name)+1;
                }
        else    {
                nl();
                fprintf(outputFile,"\tDC.L\t%s,%d",sp->name,val);
                gentype = srrefgen;
                outcol = 25;
                }
			else 
				;/* oc_gensrref(sp,val); */
}

void genref(SYM *sp,int offset)
/*
 * Output a reference to the data area (also gens fixups )
 */
{       char    sign;
			char buf[40];
        if( offset < 0) {
                sign = '-';
                offset = -offset;
                }
        else
                sign = '+';
			sprintf(buf,"%s%c%d",sp->name,sign,offset);
			datalink(FALSE);
			if (prm_asmfile) {
        if( gentype == longgen && outcol < 55 - strlen(sp->name)) {
                fprintf(outputFile,",%s",buf);
                outcol += (11 + strlen(sp->name));
                }
        else    {
                nl();
                fprintf(outputFile,"\tDC.L\t%s",buf);
                outcol = 26 + strlen(sp->name);
                gentype = longgen;
                }
			}
			else
				;/* oc_genref(sp,val); */
	dataofs+=4;
}
void genpcref(SYM *sp,int offset)
/*
 * Output a reference to the code area (also gens fixups )
 */
{       char    sign;
				char buf[40];
        if( offset < 0) {
                sign = '-';
                offset = -offset;
                }
        else
                sign = '+';
			sprintf(buf,"%s%c%d",sp->name,sign,offset);
			datalink(TRUE);
			if (prm_asmfile) {
        if( gentype == longgen && outcol < 55 - strlen(sp->name)) {
                fprintf(outputFile,",%s",buf);
                outcol += (11 + strlen(sp->name));
                }
        else    {
                nl();
                fprintf(outputFile,"\tDC.L\t%s",buf);
                outcol = 26 + strlen(sp->name);
                gentype = longgen;
                }
			}
			else
				;/* oc_genpcref(sp,val); */
	dataofs+=4;
}

void genstorage(int nbytes)
/*
 * Output bytes of storage
 */
{			if (prm_asmfile) {
        nl();
        fprintf(outputFile,"\tDS.B\t$%X\n",nbytes);
			}
			else
				;/* oc_genstorage(nbytes); */
	dataofs+=nbytes;
}

void gen_labref(int n)
/*
 * Generate a reference to a label
 */
{			if (prm_asmfile)
        if( gentype == longgen && outcol < 58) {
                fprintf(outputFile,",L_%d",n);
                outcol += 6;
                }
        else    {
                nl();
                fprintf(outputFile,"\tDC.L\tL_%d",n);
                outcol = 22;
                gentype = longgen;
                }
			else
				;/* oc_genlabref(n); */
	datalink(TRUE);
	dataofs+=4;
}

int     stringlit(char *s, int uselong)
/*
 *      make s a string literal and return it's label number.
 */
{       OCODE     *ip;
				ip = xalloc(sizeof(OCODE));
				ip->opcode = op_label;
				ip->oper1 = (AMODE *)nextlabel;
        ip->back = 0;
				if (!peep_head) 
					peep_head = peep_tail = peep_insert = ip;
				else {
					if (peep_insert->fwd) {
						peep_insert->fwd->back = ip;
					}
					ip->back = peep_insert;
					ip->fwd = peep_insert->fwd;
					if (peep_tail == peep_insert)
						peep_tail = ip;
					peep_insert = peep_insert->fwd = ip;
				}
        ip = xalloc(sizeof(OCODE));
				ip->opcode = op_slit;
				if (uselong) {
        	ip->oper1 = plitlate(s);
					ip->oper2 = (AMODE *)1;
				}
				else {
        	ip->oper1 = litlate(s);
					ip->oper2 = 0;
				}
				if (peep_insert->fwd)
					peep_insert->fwd->back = ip;
				ip->back = peep_insert;
				ip->fwd = peep_insert->fwd;
				if (peep_tail == peep_insert)
					peep_tail = ip;
				peep_insert = peep_insert->fwd = ip;
				
        return nextlabel++;
}
void dumplits(void)
{
}

/*
 * Switch to cseg 
 */
void cseg(void)
{			if (prm_asmfile)
       	if( curseg != codeseg) {
                nl();
                fprintf(outputFile,"\tSECTION\tcode\n");
                curseg = codeseg;
                }
}
/*
 * Switch to dseg
 */
void dseg(void)
{     if (prm_asmfile)  
				if( curseg != dataseg) {
                nl();
                fprintf(outputFile,"\tSECTION\tdata\n");
                curseg = dataseg;
                }
}
/*
 * Switch to bssseg
 */
void bssseg(void)
{     if (prm_asmfile)  
				if( curseg != bssxseg) {
                nl();
                fprintf(outputFile,"\tSECTION\tbss\n");
                curseg = bssxseg;
                }
}
/*
 * Switch to startupseg
 */
void startupseg(void)
{     if (prm_asmfile)  
				if( curseg != startupxseg) {
                nl();
                fprintf(outputFile,"\tSECTION\tcstartup\n");
                curseg = startupxseg;
                }
}
/*
 * Switch to rundownseg
 */
void rundownseg(void)
{     if (prm_asmfile)  
				if( curseg != rundownxseg) {
                nl();
                fprintf(outputFile,"\tSECTION\tcrundown\n");
                curseg = rundownxseg;
                }
}
/*
 * Switch to cppseg
 */
void cppseg(void)
{     if (prm_asmfile)  
				if( curseg != cppxseg) {
                nl();
                fprintf(outputFile,"\tSECTION\tcppinit\n");
                curseg = cppxseg;
                }
}
void gen_virtual(char *name)
/*
 * Generate a virtual segment
 */
{
	if (prm_asmfile) {
		nl();
		fprintf(outputFile,"@%s\tVIRTUAL",name);
	}
}
void gen_endvirtual(char *name)
/*
 * Generate the end of a virtual segment
 */
{
	if (prm_asmfile) {
		nl();
		fprintf(outputFile,"@%s\tENDVIRTUAL",name);
	}
}
void genlongref(DATALINK *p)
/*
 * Generate a reference reference for fixup tables
 */
{
	if (prm_asmfile) 
        if( gentype == longgen && outcol < 56) {
                fprintf(outputFile,",%s+$%X",p->sp->name,p->offset);
                outcol += 10;
                }
        else    {
                nl();
                fprintf(outputFile,"\tDC.L\t%s+$%X",p->sp->name,p->offset);
                gentype = longgen;
                outcol = 25;
                }
	else
		;/* oc_longen(p->sp,p->offset); */
}
/*
 * Assembly file header
 */
void asm_header(void)
{
}
void globaldef(SYM *sp)
/*
 * Stick in a global definition
 */
{
	if (prm_asmfile) {
		char buf[100],*q=buf,*p=sp->name;
		nl();
		if (curseg == codeseg && sp->pascaldefn) {
			if (prm_cmangle)
				p++;
			while(*p)
				*q++=toupper(*p++);
			*q++ = 0;
		}
		else
			strcpy(buf,p);
    fprintf(outputFile,"\tXDEF\t%s\n",buf);
	}
}
void putexterns(void)
/*
 * Output the fixup tables and the global/external list
 */
{       SYM     *sp;
			DATALINK *p;
			int i;
				int started = FALSE;
				p = datahead;
				curseg = fixcseg;
				while (p) {
					if (p->type) {
						if (!started && prm_asmfile) {
                nl();
                fprintf(outputFile,"\tSECTION\tcodefix\n");
								started = TRUE;
						}
						genlongref(p);
					}
					p = p->next;
				}
				started = FALSE;
				p = datahead;
				curseg = fixdseg;
				while (p) {
					if (!p->type) {
						if (!started && prm_asmfile) {
                nl();
                fprintf(outputFile,"\tSECTION\tdatafix\n");
								started = TRUE;
						}
						genlongref(p);
					}
					p = p->next;
				}
			curseg = noseg;
			if (prm_asmfile) {
				nl();
				for (i=0; i < HASHTABLESIZE; i++) {
					if ((sp=(SYM *) globalhash[i]) != 0) {
						while (sp) {
       				if( (sp->storage_class == sc_external  || sp->storage_class == sc_externalfunc)&& sp->extflag) {
								char buf[100],*q=buf,*p=sp->name;
								if (curseg == codeseg && sp->pascaldefn) {
									if (prm_cmangle)
										p++;
									while(*p)
										*q++=toupper(*p++);
									*q++ = 0;
								}
								else
									strcpy(buf,p);
            	  fprintf(outputFile,"\tXREF\t%s\n",buf);
							}
	        		sp = sp->next;
						}
					}
				}
			}
			else
			;/* oc_gencode(); */
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品粉嫩aⅴ一区二区三区四区| 欧美午夜视频网站| 三级久久三级久久| 亚洲色图.com| 久久久99久久| 精品久久五月天| 日韩精品一区二区三区swag | 成人av电影在线| 久久国产精品第一页| 亚洲影院久久精品| 一区二区三区资源| 成人欧美一区二区三区在线播放| 国产欧美一区二区三区沐欲| 欧美videos大乳护士334| 日韩三级在线免费观看| 欧美久久一二区| 欧美精品免费视频| 日韩亚洲欧美中文三级| 欧美一区二区三区免费| 日韩视频免费观看高清完整版| 欧美日韩精品系列| 日韩一区二区三区四区五区六区| 欧美私模裸体表演在线观看| 一本到不卡免费一区二区| 91视频在线看| 4438x亚洲最大成人网| 日韩视频中午一区| 国产欧美日韩在线看| 国产精品国产三级国产aⅴ中文 | 美女一区二区在线观看| 久久97超碰国产精品超碰| 韩国精品久久久| 不卡av电影在线播放| 欧美做爰猛烈大尺度电影无法无天| 欧美亚男人的天堂| 精品999在线播放| 一级日本不卡的影视| 青青草精品视频| 91丝袜国产在线播放| 日韩视频在线观看一区二区| 欧美高清一级片在线观看| 亚洲电影视频在线| 成人手机在线视频| 日韩免费成人网| 亚洲欧美日韩中文字幕一区二区三区 | 午夜欧美一区二区三区在线播放| 美女爽到高潮91| 欧亚洲嫩模精品一区三区| 国产精品一区二区免费不卡 | 制服丝袜日韩国产| 国产精品成人一区二区三区夜夜夜 | 精品999久久久| 日本不卡免费在线视频| 91久久免费观看| 亚洲婷婷在线视频| 成人夜色视频网站在线观看| 日韩欧美二区三区| 亚洲一二三四在线| 色综合网站在线| 国产欧美一区二区精品秋霞影院| 午夜久久久久久久久| 欧美在线看片a免费观看| 久久―日本道色综合久久| 日本大胆欧美人术艺术动态 | 日本一区二区三区高清不卡 | 麻豆专区一区二区三区四区五区| 欧洲另类一二三四区| 椎名由奈av一区二区三区| 国产精品一线二线三线精华| 精品黑人一区二区三区久久 | 人妖欧美一区二区| 欧美在线视频你懂得| 午夜精品一区二区三区免费视频 | 国产成人免费在线| 1024精品合集| 91国产免费看| 另类调教123区| 国产欧美一区二区在线观看| 国产91精品免费| 一区二区三区四区高清精品免费观看| 色婷婷精品大视频在线蜜桃视频| 一区二区在线免费| 欧美一卡二卡三卡| 懂色一区二区三区免费观看| 一区二区在线观看不卡| 欧美精品在线观看一区二区| 国产一区二区女| 亚洲精选视频免费看| 精品理论电影在线观看 | 99热99精品| 秋霞成人午夜伦在线观看| 欧美激情一区二区三区蜜桃视频| 欧美专区日韩专区| 国产成人日日夜夜| 久久精品国内一区二区三区| 国产精品久久久久桃色tv| 欧美精品久久天天躁| 懂色av中文字幕一区二区三区| 亚洲国产成人高清精品| 中文字幕欧美激情| 日韩免费看的电影| 色悠悠久久综合| 福利电影一区二区| 六月婷婷色综合| 图片区小说区国产精品视频| 中文字幕中文字幕中文字幕亚洲无线| 91 com成人网| 欧美日韩美少妇| 色一区在线观看| 99精品视频一区| 国产在线播放一区| 麻豆精品国产91久久久久久| 亚洲一区二区三区中文字幕在线| 国产精品国产三级国产a | 国内精品免费**视频| 青椒成人免费视频| 久久精品久久综合| 精品系列免费在线观看| 免费成人av资源网| 奇米色777欧美一区二区| 亚洲国产成人tv| 丝袜美腿一区二区三区| 日韩av电影免费观看高清完整版在线观看| 亚洲精品国产品国语在线app| 亚洲乱码国产乱码精品精可以看| 成人免费在线播放视频| 一区二区三区中文字幕精品精品| 亚洲欧美中日韩| 亚洲一级二级三级在线免费观看| 亚洲国产成人高清精品| 免费欧美高清视频| 国产成人a级片| 一本色道**综合亚洲精品蜜桃冫| 欧美性色欧美a在线播放| 欧美成人性战久久| 国产精品护士白丝一区av| 亚洲高清免费一级二级三级| 美日韩一区二区| 91在线视频官网| 日韩一区二区免费视频| 亚洲国产精品99久久久久久久久| 亚洲精品国产第一综合99久久| 午夜电影一区二区| 国产91色综合久久免费分享| 欧美日韩国产综合一区二区三区 | 日韩一区二区三区视频在线| 亚洲精品一区二区三区影院 | 亚洲视频图片小说| 麻豆一区二区99久久久久| 91美女在线观看| 国产欧美视频一区二区三区| 日韩精品免费专区| 色美美综合视频| 亚洲国产精品精华液2区45| 爽好多水快深点欧美视频| 成人app软件下载大全免费| 日韩免费观看2025年上映的电影| 亚洲精品一二三区| 99精品黄色片免费大全| 久久久久青草大香线综合精品| 午夜不卡av在线| 欧美性猛片aaaaaaa做受| 一区二区成人在线| 91视频免费播放| 中文字幕视频一区| 91啪在线观看| 一卡二卡三卡日韩欧美| 在线免费视频一区二区| 伊人色综合久久天天人手人婷| 成人精品视频一区二区三区尤物| 久久亚洲私人国产精品va媚药| 国产一区二区精品久久91| 精品国产乱码久久久久久免费| 日韩av一区二区在线影视| 欧美日韩不卡一区| 三级影片在线观看欧美日韩一区二区 | 视频一区在线视频| 欧美高清你懂得| 秋霞午夜鲁丝一区二区老狼| 国产成人精品网址| 久久久久久久免费视频了| 美女一区二区在线观看| 欧美成人女星排行榜| 精品一区二区三区免费观看| 日韩午夜激情视频| 国产一区999| 国产精品区一区二区三| 国产一区二区导航在线播放| 26uuu精品一区二区| 成人免费视频视频在线观看免费 | 欧美精品粉嫩高潮一区二区| 亚洲一区二区四区蜜桃| 制服丝袜激情欧洲亚洲| 久久爱www久久做| 国产精品美女久久福利网站| 色噜噜狠狠一区二区三区果冻| 亚洲国产中文字幕在线视频综合 | 久久亚洲精品国产精品紫薇| 国产精一区二区三区| 日韩精品一区二区在线|