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

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

?? outx86_a.c

?? 一款擁有一定歷史的C語言編譯器
?? C
?? 第 1 頁 / 共 2 頁
字號:
	/* assume that st(n) never appears explicitly as an operand here */	putlen (len);    }#endif    switch (ap->mode) {    case am_immed:	if (sa & BI) {	    switch (ap->u.offset->nodetype) {	    case en_labcon:	    case en_nacon:		oprintf ("offset ");		break;	    default:		break;	    }	}	putconst (ap->u.offset);	break;    case am_direct:	putlen (len);	if (sa & BI) {	    oprintf ("[");	    putconst (ap->u.offset);	    oprintf ("]");	} else {	    putconst (ap->u.offset);	}	break;    case am_dreg:    case am_areg:	reg = ap->preg;	switch (len) {	case IL1:	    reg = REG8 (reg);	    break;	case IL2:	    reg = REG16 (reg);	    break;	default:	    break;	}	oprintf ("%s", regname[reg]);	break;    case am_indx:	putlen (len);	if (ap->u.offset != NIL_EXPR) {	    putconst (ap->u.offset);	}	/*lint -fallthrough */    case am_ind:	oprintf ("[%s]", regname[small_option ? REG16 (ap->preg) : ap->preg]);	break;    case am_indx2:	putlen (len);	if (ap->u.offset != NIL_EXPR) {	    putconst (ap->u.offset);	}	oprintf ("[%s+%s]",		 regname[small_option ? REG16 (ap->preg) : ap->preg],		 regname[small_option ? REG16 (ap->sreg) : ap->sreg]);	break;    case am_freg:	oprintf ("%s", regname[ap->preg]);	break;    case am_line:    case am_str:	putconst (ap->u.offset);	break;    default:	FATAL ((__FILE__, "putamode", "illegal address mode %d", ap->mode));	break;    }}/* * output a generic instruction. */PRIVATE void put_code P1 (const CODE *, ip){    ILEN    len1 = ip->length, len2 = ip->length;    unsigned int sa;    sa = putop (ip->opcode);    /*     * this is expensive, but some assemblers require it     * this is to be moved to the peephole optimizer     */    switch (ip->opcode) {    case op_shl:    case op_shr:    case op_asl:    case op_asr:	len1 = IL1;	break;    case op_movsbw:    case op_movzbw:	len2 = IL2;	/*lint -fallthrough */    case op_movsbl:    case op_movzbl:	len1 = IL1;	break;    case op_movswl:    case op_movzwl:	len1 = IL2;	break;    case op_smov:	switch (ip->length) {	case IL1:	    oprintf ("b");	    break;	case IL2:	    oprintf ("w");	    break;	case IL4:	    oprintf ("d");	    break;	default:	    FATAL (		   (__FILE__, "putcode", "illegal length field %d",		    (int) ip->length));	    break;	}	break;    default:	break;    }    /*     * Masm uses the INTEL syntax:     * The destination comes first     * The source comes second     */    if (ip->oper1 != NIL_ADDRESS) {	oprintf ("\t");	if (ip->oper2 != NIL_ADDRESS && ip->opcode != op_line) {	    putamode (ip->oper2, len2, sa);	    oprintf (", ");	}	putamode (ip->oper1, len1, sa);	if (ip->oper2 != NIL_ADDRESS && ip->opcode == op_line) {	    oprintf ("%s%s>>>>\t", newline, comment);	    putamode (ip->oper2, len2, sa);	}    }    oprintf ("%s", newline);}/* * generate a named label. */PRIVATE void put_name P1 (SYM *, sp){    put_reference (sp);    oprintf ("%s:%s", outlate (nameof (sp)), newline);}/* * output a compiler generated label. */PRIVATE void put_label P1 (LABEL, lab){    oprintf ("%s%u:%s", prefix, (unsigned int) lab, newline);}static void put_header P2 (enum e_gt, gtype, SIZE, al){    static const char *directive[] = {	"db\t",			/* bytegen */	"dw\t",			/* wordgen */	"dd\t",			/* longgen */	"dd\t",			/* longlonggen */    };    if (gentype != gtype || outcol >= MAX_WIDTH) {	put_align (al);	gentype = gtype;	outcol = 15;	oprintf ("\t%s", directive[gtype]);    } else {	oprintf (",");    }}PRIVATE void put_byte P1 (UVAL, val){    put_header (bytegen, alignment_of_type (tp_char));    oprintf ("0x%lx", val & OxffUL);    outcol += 4;}PRIVATE void put_word P1 (UVAL, val){    put_header (wordgen, alignment_of_type (tp_short));    oprintf ("0x%lx", val & OxffffUL);    outcol += 6;}PRIVATE void put_dword P1 (UVAL, val){    put_header (longgen, alignment_of_type (tp_long));    oprintf ("0x%lx", val);    outcol += 10;}#ifndef FLOAT_BOOTSTRAP#ifdef FLOAT_IEEE/* * Generate IEEE single and double numbers */PRIVATE void put_float P1 (const RVAL *, vp){    unsigned long ul;    ieee_single (vp, &ul);    put_dword ((UVAL) ul);}PRIVATE void put_double P1 (const RVAL *, vp){    unsigned long ul[2];    ieee_double (vp, ul, FALSE);    put_dword ((UVAL) ul[0]);    put_dword ((UVAL) ul[1]);}PRIVATE void put_longdouble P1 (const RVAL *, vp){    unsigned long ul[3];    ieee_longdouble (vp, ul, FALSE);    put_dword ((UVAL) ul[0]);    put_dword ((UVAL) ul[1]);    put_dword ((UVAL) ul[2]);}#endif /* FLOAT_IEEE */#endif /* FLOAT_BOOTSTRAP */#ifndef RELOC_BUGPRIVATE void put_char P1 (const EXPR *, ep){    put_header (bytegen, alignment_of_type (tp_char));    putconst (ep);    outcol += 10;}PRIVATE void put_short P1 (const EXPR *, ep){    put_header (wordgen, alignment_of_type (tp_short));    putconst (ep);    outcol += 10;}#endif /* RELOC_BUG */PRIVATE void put_long P1 (const EXPR *, ep){    put_header (longgen, alignment_of_type (tp_long));    putconst (ep);    outcol += 10;}PRIVATE void put_longlong P1 (const EXPR *, ep){    put_header (longlonggen, alignment_of_type (tp_longlong));    putconst (ep);    outcol += 10;}PRIVATE void put_pointer P1 (const EXPR *, ep){    put_header ((tp_pointer->size == 2L ? wordgen : longgen),		alignment_of_type (tp_pointer));    putconst (ep);    outcol += 10;}/*ARGSUSED */PRIVATE void put_storage P1 (const SYM *, sp){    SIZE    size = typeof (sp)->size;    put_bseg (alignment_of_type (typeof (sp)));    if (is_static (sp)) {	oprintf ("%s%u\tbyte\t%ld dup (0)%s",		 prefix, (unsigned) sp->value.l, size, newline);    } else {	oprintf ("%s\tbyte\t%ld dup (0)%s", outlate (nameof (sp)), size,		 newline);    }}/* * dump the string literal pool. */PRIVATE void put_literals P0 (void){    const CHAR *cp;    size_t  len;    if (lang_option == LANG_KANDR) {	put_dseg (alignment_of_type (tp_char));    } else {	put_kseg (alignment_of_type (tp_char));    }    for (; strtab != NIL_STRING; strtab = strtab->next) {	nl ();	put_label (strtab->label);	cp = strtab->str;	for (len = strtab->len; len--;)	    put_byte ((UVAL) *cp++);	put_byte ((UVAL) Ox0UL);    }    nl ();}/* * write out the type of the symbol */static void puttype P1 (const TYP *, tp){    if (tp == NIL_TYP) {	/* runtime support routine */	oprintf ("far");	return;    }    switch (tp->type) {    case bt_char:    case bt_schar:    case bt_uchar:    case bt_charu:	oprintf ("byte");	break;    case bt_short:    case bt_ushort:    case bt_int16:    case bt_uint16:    case bt_pointer16:	oprintf ("word");	break;    case bt_int32:    case bt_uint32:    case bt_long:    case bt_ulong:    case bt_pointer32:	oprintf ("dword");	break;    case bt_float:	oprintf ("real4");	break;    case bt_double:    case bt_longdouble:	oprintf ("real8");	break;    case bt_func:	oprintf ("far");	break;    default:	oprintf ("byte");	break;    }}/* put the definition of an external name in the ouput file *//* assembler can find out about externals itself. This also has the * advantage that I don't have to worry if the symbol is in text or * data segment. Therefore this function is a noop */PRIVATE void put_reference P1 (SYM *, sp){    if (!is_symbol_output (sp)) {	switch (storageof (sp)) {	case sc_global:	    put_noseg ();	    oprintf ("\tpublic\t%s%s", outlate (nameof (sp)), newline);	    break;	case sc_external:	    put_noseg ();	    oprintf ("\textrn\t%s:", outlate (nameof (sp)));	    puttype (typeof (sp));	    oprintf ("%s", newline);	    break;	default:	    break;	}	symbol_output (sp);    }}/* align the following data */static void put_align P1 (SIZE, al){    nl ();    if (al > align_type) {	switch (al) {	case 1L:	case 0L:	    break;	case 2L:	case 4L:	    oprintf ("\talign\t%d%s", (int) al, newline);	    break;	default:	    FATAL ((__FILE__, "put_align", "align == %ld", al));	}    }    align_type = al;}/* * output any function epilogue code */PRIVATE void put_epilogue P2 (SYM *, sp, LABEL, label){    sp = sp;			/* keep the compiler quiet */    label = label;		/* keep the compiler quiet */}PRIVATE void nl P0 (void){    if (outcol > 0) {	oprintf ("%s", newline);	gentype = nogen;	outcol = 0;    }}static void seg P3 (enum e_sg, segtype, const char *, segname, SIZE, al){    nl ();    if (curseg != segtype) {	oprintf ("\tassume ds:flat%s", newline);	oprintf ("\t%s%s", segname, newline);	curseg = segtype;	align_type = 0L;    }    put_align (al);}PRIVATE void put_cseg P1 (SIZE, al){    seg (codeseg, ".code", al);}PRIVATE void put_dseg P1 (SIZE, al){    seg (dataseg, ".data", al);}static void put_bseg P1 (SIZE, al){    put_dseg (al);}PRIVATE void put_kseg P1 (SIZE, al){    put_dseg (al);}PRIVATE void put_rseg P1 (SIZE, al){    put_cseg (al);}static void put_noseg P0 (void){    nl ();    if (curseg != noseg) {	curseg = noseg;	align_type = 0L;	oprintf ("\tassume\tds:nothing%s", newline);    }}PRIVATE void put_finish P0 (void){    oprintf ("\tend%s", newline);}PRIVATE void put_start P0 (void){    oprintf ("%s Generated by %s (masm) %s from %s%s",	     comment, PROGNAME, VERSION, in_file, newline);    oprintf ("\t.386%s", newline);	/* directive to support 386 instructions */    oprintf ("\t.387%s", newline);	/* directive to support 487 instructions */    oprintf ("\t.model	flat, C%s", newline);    oprintf ("\t.data%s", newline);    oprintf ("\t.code%s", newline);    oprintf ("\toption dotname%s", newline);    oprintf ("\tassume ds:flat%s", newline);    oprintf ("\tassume ss:flat%s", newline);}#ifdef MULTIPLE_ASSEMBLERSstruct funcs masmx86_func = {    put_code,    put_name,    put_label,    put_byte,    put_word,    put_dword,#ifndef RELOC_BUG    put_char,    put_short,#endif				/* RELOC_BUG */    put_long,    put_longlong,    put_pointer,    put_storage,    put_literals,    put_finish,    put_start,    put_reference,    put_epilogue,    put_cseg,    put_dseg,    put_kseg,    put_rseg, #ifndef FLOAT_BOOTSTRAP#ifdef FLOAT_SUPPORT	put_float,    put_double,    put_longdouble,#endif	/* FLOAT_SUPPORT */#endif	/* FLOAT_BOOTSTRAP */    NULL};#endif /* MULTIPLE_ASSEMBLERS */#endif /* TARGET_MAS */#endif /* INTEL */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱码久久久久久图片 | 国产精品美女一区二区在线观看| 国产精品久久毛片av大全日韩| 五月婷婷综合激情| 成人高清免费观看| 国产日韩欧美高清在线| 九色porny丨国产精品| 91精品午夜视频| 奇米影视在线99精品| 免播放器亚洲一区| 26uuu另类欧美亚洲曰本| 紧缚捆绑精品一区二区| 久久久久久麻豆| 91色porny| 日韩一区二区三区在线| 奇米精品一区二区三区四区| 欧美色综合天天久久综合精品| 亚洲综合色在线| 欧美一级日韩不卡播放免费| 免费看精品久久片| 国产丝袜在线精品| av福利精品导航| 亚洲第一狼人社区| 久久久久久免费毛片精品| 99re热视频这里只精品| 日韩激情一二三区| 中文一区二区完整视频在线观看| 91碰在线视频| 国产成人免费视频网站高清观看视频| 久久精品国产精品亚洲红杏| 日本亚洲免费观看| 中文字幕欧美国产| 成人一区在线看| 日本aⅴ免费视频一区二区三区| 国产欧美日韩不卡| 日韩欧美电影在线| 欧美色男人天堂| 99久久久免费精品国产一区二区| 视频一区国产视频| 亚洲综合视频网| 国产精品欧美一区二区三区| 日韩精品一区二区三区蜜臀| 99国内精品久久| 北条麻妃一区二区三区| 韩国欧美一区二区| 国产一区二区按摩在线观看| 国产精品毛片大码女人| 久久精品综合网| 成人av网在线| 成人综合在线观看| 2023国产精品视频| 欧美电影免费观看高清完整版在| 欧美性淫爽ww久久久久无| av日韩在线网站| 色婷婷激情久久| 色丁香久综合在线久综合在线观看| 成人精品视频.| 97精品久久久午夜一区二区三区| 波多野结衣在线一区| 亚洲日本在线观看| 午夜成人免费视频| 午夜精品福利一区二区三区av| ...xxx性欧美| 亚洲成av人片在线| 久久国产精品免费| av在线播放成人| 在线免费观看日本一区| 日韩午夜精品视频| 国产成人在线网站| 色综合中文字幕国产 | 国产91精品免费| 9l国产精品久久久久麻豆| 在线免费不卡视频| 日韩欧美国产午夜精品| 国产精品卡一卡二| 日av在线不卡| av亚洲精华国产精华精华| 宅男在线国产精品| 亚洲午夜国产一区99re久久| 日韩av在线播放中文字幕| 粉嫩一区二区三区在线看| 欧美日韩午夜在线| 国产午夜精品一区二区| 免费久久精品视频| 精品视频在线免费观看| 亚洲精品国产无套在线观| 国产精品一区二区在线看| 欧美日韩一区精品| 国产精品国产精品国产专区不片 | 另类调教123区| 日本黄色一区二区| 综合色天天鬼久久鬼色| 国产精品一区二区三区四区| 91麻豆精品国产自产在线| 亚洲欧美日韩一区二区| 国产精品一二三区| 国产亚洲欧美中文| 国内精品自线一区二区三区视频| 欧美精品国产精品| 亚洲乱码中文字幕综合| 国产福利一区二区三区视频 | 日本大胆欧美人术艺术动态| 欧美日韩一区二区三区在线看 | 激情都市一区二区| 欧美一区二区精品久久911| 欧美裸体一区二区三区| 日韩不卡在线观看日韩不卡视频| 91精品国产一区二区三区香蕉| 亚洲一区二区三区国产| 91精品国产色综合久久久蜜香臀| 欧美96一区二区免费视频| 精品毛片乱码1区2区3区| 日韩va亚洲va欧美va久久| 91精品国产综合久久久蜜臀图片| 首页亚洲欧美制服丝腿| 精品少妇一区二区三区在线视频| 久久国内精品视频| 国产精品情趣视频| 精品视频一区三区九区| 奇米影视7777精品一区二区| 欧美成人三级在线| 成人av影院在线| 亚洲色欲色欲www| 91精品国产福利在线观看| 国产a久久麻豆| 国产呦精品一区二区三区网站| 欧美日韩亚洲综合一区| 国产成人精品三级麻豆| 亚洲午夜av在线| 国产精品欧美一级免费| 在线成人免费观看| www.99精品| 激情综合五月天| 视频一区二区三区中文字幕| 亚洲国产精品av| 欧美一级二级在线观看| 欧美日韩一区二区电影| 91蜜桃在线免费视频| 国产高清不卡一区二区| 欧美aⅴ一区二区三区视频| 亚洲自拍偷拍网站| 亚洲欧洲成人av每日更新| 国产日韩欧美综合一区| 精品三级在线观看| 日韩免费高清av| 欧美一区二区在线视频| 欧美二区三区的天堂| 欧美日韩国产片| 777午夜精品免费视频| 色婷婷精品久久二区二区蜜臀av | 91国偷自产一区二区三区成为亚洲经典| 国模套图日韩精品一区二区 | 欧美大片日本大片免费观看| 欧美日韩一本到| 欧美军同video69gay| 欧美精品乱码久久久久久| 欧美电影免费观看高清完整版| 日韩一区二区三区电影在线观看| 91精品啪在线观看国产60岁| 91精品国产91久久综合桃花| 欧美一区二区三区在| 精品久久久久99| 中文一区一区三区高中清不卡| 国产精品乱人伦一区二区| 亚洲黄色性网站| 亚洲成人动漫一区| 精品午夜久久福利影院| 国产xxx精品视频大全| 99精品视频在线播放观看| 欧美日韩午夜影院| 国产亚洲1区2区3区| 亚洲日本电影在线| 日韩精品国产精品| 成人自拍视频在线观看| 欧美日韩激情一区| 国产精品免费视频网站| 丝袜美腿亚洲综合| 欧美午夜寂寞影院| 在线看日韩精品电影| 亚洲精品在线免费播放| 亚洲午夜在线电影| 成人精品视频一区二区三区 | 国产电影一区二区三区| 成人精品gif动图一区| 日韩一区二区在线观看视频播放| 国产精品久久一级| 麻豆精品久久精品色综合| 在线观看三级视频欧美| 国产视频不卡一区| 激情偷乱视频一区二区三区| 91美女视频网站| 国产精品久久网站| 99视频精品全部免费在线| 日本一区二区综合亚洲| 国产剧情av麻豆香蕉精品| 久久久综合视频| 精品一区二区三区在线视频| 欧美一区二区三区四区在线观看| 亚洲永久精品国产| 欧美精品色一区二区三区|