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

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

?? nasm.c

?? 32位匯編編譯器nasm源代碼
?? C
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
#define OPT_PREFIX 0
#define OPT_POSTFIX 1
struct textargs textopts[] = {
    {"prefix", OPT_PREFIX},
    {"postfix", OPT_POSTFIX},
    {NULL, 0}
};

int stopoptions = 0;
static int process_arg(char *p, char *q)
{
    char *param;
    int i, advance = 0;

    if (!p || !p[0])
        return 0;

    if (p[0] == '-' && !stopoptions) {
        switch (p[1]) {
        case 's':
            error_file = stdout;
            break;
        case 'o':              /* these parameters take values */
        case 'O':
        case 'f':
        case 'p':
        case 'P':
        case 'd':
        case 'D':
        case 'i':
        case 'I':
        case 'l':
        case 'E':
        case 'F':
        case 'X':
        case 'u':
        case 'U':
            if (!(param = get_param(p, q, &advance)))
                break;
            if (p[1] == 'o') {  /* output file */
                strcpy(outname, param);
            } else if (p[1] == 'f') {   /* output format */
                ofmt = ofmt_find(param);
                if (!ofmt) {
                    report_error(ERR_FATAL | ERR_NOFILE | ERR_USAGE,
                                 "unrecognised output format `%s' - "
                                 "use -hf for a list", param);
                } else
                    ofmt->current_dfmt = ofmt->debug_formats[0];
            } else if (p[1] == 'O') {   /* Optimization level */
                int opt;
                opt = -99;
                while (*param) {
                    if (isdigit(*param)) {
                        opt = atoi(param);
                        while (isdigit(*++param)) ;
                        if (opt <= 0)
                            optimizing = -1;    /* 0.98 behaviour */
                        else if (opt == 1)
                            optimizing = 0;     /* Two passes, 0.98.09 behavior */
                        else
                            optimizing = opt;   /* Multiple passes */
                    } else {
                        if (*param == 'v' || *param == '+') {
                            ++param;
                            opt_verbose_info = TRUE;
                            opt = 0;
                        } else {        /* garbage */
                            opt = -99;
                            break;
                        }
                    }
                }               /* while (*param) */
                if (opt == -99)
                    report_error(ERR_FATAL,
                                 "command line optimization level must be 'v', 0..3 or <nn>");
            } else if (p[1] == 'P' || p[1] == 'p') {    /* pre-include */
                pp_pre_include(param);
            } else if (p[1] == 'D' || p[1] == 'd') {    /* pre-define */
                pp_pre_define(param);
            } else if (p[1] == 'U' || p[1] == 'u') {    /* un-define */
                pp_pre_undefine(param);
            } else if (p[1] == 'I' || p[1] == 'i') {    /* include search path */
                pp_include_path(param);
            } else if (p[1] == 'l') {   /* listing file */
                strcpy(listname, param);
            } else if (p[1] == 'E') {   /* error messages file */
                error_file = fopen(param, "w");
                if (!error_file) {
                    error_file = stderr;        /* Revert to default! */
                    report_error(ERR_FATAL | ERR_NOFILE | ERR_USAGE,
                                 "cannot open file `%s' for error messages",
                                 param);
                }
            } else if (p[1] == 'F') {   /* specify debug format */
                ofmt->current_dfmt = dfmt_find(ofmt, param);
                if (!ofmt->current_dfmt) {
                    report_error(ERR_FATAL | ERR_NOFILE | ERR_USAGE,
                                 "unrecognized debug format `%s' for"
                                 " output format `%s'",
                                 param, ofmt->shortname);
                }
            } else if (p[1] == 'X') {   /* specify error reporting format */
                if (nasm_stricmp("vc", param) == 0)
                    report_error = report_error_vc;
                else if (nasm_stricmp("gnu", param) == 0)
                    report_error = report_error_gnu;
                else
                    report_error(ERR_FATAL | ERR_NOFILE | ERR_USAGE,
                                 "unrecognized error reporting format `%s'",
                                 param);
            }
            break;
        case 'g':
            using_debug_info = TRUE;
            break;
        case 'h':
            printf
                ("usage: nasm [-@ response file] [-o outfile] [-f format] "
                 "[-l listfile]\n"
                 "            [options...] [--] filename\n"
                 "    or nasm -r   for version info (obsolete)\n"
                 "    or nasm -v   for version info (preferred)\n\n"
                 "    -t          assemble in SciTech TASM compatible mode\n"
                 "    -g          generate debug information in selected format.\n");
            printf
                ("    -e          preprocess only (writes output to stdout by default)\n"
                 "    -a          don't preprocess (assemble only)\n"
                 "    -M          generate Makefile dependencies on stdout\n\n"
                 "    -E<file>    redirect error messages to file\n"
                 "    -s          redirect error messages to stdout\n\n"
                 "    -F format   select a debugging format\n\n"
                 "    -I<path>    adds a pathname to the include file path\n");
            printf
                ("    -O<digit>   optimize branch offsets (-O0 disables, default)\n"
                 "    -P<file>    pre-includes a file\n"
                 "    -D<macro>[=<value>] pre-defines a macro\n"
                 "    -U<macro>   undefines a macro\n"
                 "    -X<format>  specifies error reporting format (gnu or vc)\n"
                 "    -w+foo      enables warnings about foo; -w-foo disables them\n"
                 "where foo can be:\n");
            for (i = 1; i <= ERR_WARN_MAX; i++)
                printf("    %-23s %s (default %s)\n",
                       suppressed_names[i], suppressed_what[i],
                       suppressed[i] ? "off" : "on");
            printf
                ("\nresponse files should contain command line parameters"
                 ", one per line.\n");
            if (p[2] == 'f') {
                printf("\nvalid output formats for -f are"
                       " (`*' denotes default):\n");
                ofmt_list(ofmt, stdout);
            } else {
                printf("\nFor a list of valid output formats, use -hf.\n");
                printf("For a list of debug formats, use -f <form> -y.\n");
            }
            exit(0);            /* never need usage message here */
            break;
        case 'y':
            printf("\nvalid debug formats for '%s' output format are"
                   " ('*' denotes default):\n", ofmt->shortname);
            dfmt_list(ofmt, stdout);
            exit(0);
            break;
        case 't':
            tasm_compatible_mode = TRUE;
            break;
        case 'r':
        case 'v':
            {
                const char *nasm_version_string =
                    "NASM version " NASM_VER " compiled on " __DATE__
#ifdef DEBUG
                    " with -DDEBUG"
#endif
                    ;
                puts(nasm_version_string);
                exit(0);        /* never need usage message here */
            }
            break;
        case 'e':              /* preprocess only */
            operating_mode = op_preprocess;
            break;
        case 'a':              /* assemble only - don't preprocess */
            preproc = &no_pp;
            break;
        case 'w':
            if (p[2] != '+' && p[2] != '-') {
                report_error(ERR_NONFATAL | ERR_NOFILE | ERR_USAGE,
                             "invalid option to `-w'");
            } else {
                for (i = 1; i <= ERR_WARN_MAX; i++)
                    if (!nasm_stricmp(p + 3, suppressed_names[i]))
                        break;
                if (i <= ERR_WARN_MAX)
                    suppressed[i] = (p[2] == '-');
                else
                    report_error(ERR_NONFATAL | ERR_NOFILE | ERR_USAGE,
                                 "invalid option to `-w'");
            }
            break;
        case 'M':
            operating_mode = op_depend;
            break;

        case '-':
            {
                int s;

                if (p[2] == 0) {        /* -- => stop processing options */
                    stopoptions = 1;
                    break;
                }
                for (s = 0; textopts[s].label; s++) {
                    if (!nasm_stricmp(p + 2, textopts[s].label)) {
                        break;
                    }
                }

                switch (s) {

                case OPT_PREFIX:
                case OPT_POSTFIX:
                    {
                        if (!q) {
                            report_error(ERR_NONFATAL | ERR_NOFILE |
                                         ERR_USAGE,
                                         "option `--%s' requires an argument",
                                         p + 2);
                            break;
                        } else {
                            advance = 1, param = q;
                        }

                        if (s == OPT_PREFIX) {
                            strncpy(lprefix, param, PREFIX_MAX - 1);
                            lprefix[PREFIX_MAX - 1] = 0;
                            break;
                        }
                        if (s == OPT_POSTFIX) {
                            strncpy(lpostfix, param, POSTFIX_MAX - 1);
                            lpostfix[POSTFIX_MAX - 1] = 0;
                            break;
                        }
                        break;
                    }
                default:
                    {
                        report_error(ERR_NONFATAL | ERR_NOFILE | ERR_USAGE,
                                     "unrecognised option `--%s'", p + 2);
                        break;
                    }
                }
                break;
            }

        default:
            if (!ofmt->setinfo(GI_SWITCH, &p))
                report_error(ERR_NONFATAL | ERR_NOFILE | ERR_USAGE,
                             "unrecognised option `-%c'", p[1]);
            break;
        }
    } else {
        if (*inname) {
            report_error(ERR_NONFATAL | ERR_NOFILE | ERR_USAGE,
                         "more than one input file specified");
        } else
            strcpy(inname, p);
    }

    return advance;
}

#define ARG_BUF_DELTA 128

static void process_respfile(FILE * rfile)
{
    char *buffer, *p, *q, *prevarg;
    int bufsize, prevargsize;

    bufsize = prevargsize = ARG_BUF_DELTA;
    buffer = nasm_malloc(ARG_BUF_DELTA);
    prevarg = nasm_malloc(ARG_BUF_DELTA);
    prevarg[0] = '\0';

    while (1) {                 /* Loop to handle all lines in file */

        p = buffer;
        while (1) {             /* Loop to handle long lines */
            q = fgets(p, bufsize - (p - buffer), rfile);
            if (!q)
                break;
            p += strlen(p);
            if (p > buffer && p[-1] == '\n')
                break;
            if (p - buffer > bufsize - 10) {
                int offset;
                offset = p - buffer;
                bufsize += ARG_BUF_DELTA;
                buffer = nasm_realloc(buffer, bufsize);
                p = buffer + offset;
            }
        }

        if (!q && p == buffer) {
            if (prevarg[0])
                process_arg(prevarg, NULL);
            nasm_free(buffer);
            nasm_free(prevarg);
            return;
        }

        /*
         * Play safe: remove CRs, LFs and any spurious ^Zs, if any of
         * them are present at the end of the line.
         */
        *(p = &buffer[strcspn(buffer, "\r\n\032")]) = '\0';

        while (p > buffer && isspace(p[-1]))
            *--p = '\0';

        p = buffer;
        while (isspace(*p))
            p++;

        if (process_arg(prevarg, p))
            *p = '\0';

        if (strlen(p) > prevargsize - 10) {
            prevargsize += ARG_BUF_DELTA;
            prevarg = nasm_realloc(prevarg, prevargsize);
        }
        strcpy(prevarg, p);
    }
}

/* Function to process args from a string of args, rather than the
 * argv array. Used by the environment variable and response file
 * processing.
 */
static void process_args(char *args)
{
    char *p, *q, *arg, *prevarg;
    char separator = ' ';

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久一区二区三区四区| 亚洲女人****多毛耸耸8| av电影在线不卡| 日本不卡123| 一区二区三区电影在线播| 久久这里只有精品6| 欧美日韩国产天堂| www.亚洲在线| 久久草av在线| 五月婷婷久久综合| 亚洲精品国产a| 日本一区二区三区免费乱视频| 欧美男生操女生| 91视频免费播放| 日韩一卡二卡三卡| 91丨九色丨蝌蚪富婆spa| 精品一区二区三区影院在线午夜| 一区二区日韩av| 国产精品伦一区| 久久久久久久综合| 日韩欧美亚洲一区二区| 欧美性猛交xxxx乱大交退制版| 国产成人8x视频一区二区| 日韩av在线发布| 日本午夜精品视频在线观看| 夜夜精品浪潮av一区二区三区| 国产精品第一页第二页第三页| 2020国产精品| 久久精品一区二区三区四区| 日韩一二三四区| 日韩视频一区二区在线观看| 欧美日韩一级二级| 欧美调教femdomvk| 欧美日本国产一区| 欧美日韩成人一区二区| 欧美另类高清zo欧美| 在线观看91av| 日韩一级二级三级| 日韩一级二级三级| 精品国产一二三| 精品久久久三级丝袜| 欧美白人最猛性xxxxx69交| 日韩欧美一级二级三级久久久| 91精品国产乱码| 日韩欧美国产一区二区三区 | 久久69国产一区二区蜜臀| 首页国产丝袜综合| 蜜桃在线一区二区三区| 久久国产精品99久久人人澡| 精品一区二区影视| 风流少妇一区二区| 91偷拍与自偷拍精品| 欧美性猛交xxxxxxxx| 欧美久久久久久久久中文字幕| 在线91免费看| 精品日韩欧美在线| 中文字幕精品在线不卡| 亚洲精品写真福利| 亚洲国产成人精品视频| 日韩福利视频导航| 国产一区二区中文字幕| 国产成人av在线影院| 91视频免费看| 尤物av一区二区| 亚洲午夜免费视频| 七七婷婷婷婷精品国产| 国产乱人伦精品一区二区在线观看| 国产成人久久精品77777最新版本| youjizz久久| 欧美日韩aaaaa| 久久精品欧美日韩精品| 一区二区三区免费看视频| 青青草视频一区| 成人国产精品免费观看视频| 91黄色免费观看| www精品美女久久久tv| 自拍av一区二区三区| 日本欧洲一区二区| 成人aa视频在线观看| 欧美夫妻性生活| 国产欧美中文在线| 偷偷要91色婷婷| 成人网男人的天堂| 欧美一区二区三区免费| 国产精品久久二区二区| 视频一区欧美日韩| eeuss鲁片一区二区三区| 欧美一区二区三区在线看| 中文字幕五月欧美| 久久精品国产亚洲5555| 色婷婷综合久久久久中文| 26uuu久久天堂性欧美| 一区二区三区在线免费观看| 国产麻豆午夜三级精品| 欧美日韩国产小视频| 国产精品成人免费| 国产一区二区三区久久悠悠色av | 777xxx欧美| 国产精品久久午夜| 麻豆国产精品视频| 在线一区二区三区| 亚洲国产精品v| 国产一区福利在线| 日韩视频在线观看一区二区| 亚洲男人天堂av| 高清不卡一二三区| 欧美精品一区二区在线播放| 首页欧美精品中文字幕| 91精品福利在线| 国产精品久久夜| 国产精品一区二区久久不卡| 日韩欧美三级在线| 午夜精品久久久久久久99水蜜桃| 99久久伊人久久99| 国产无人区一区二区三区| 久久疯狂做爰流白浆xx| 欧美精品视频www在线观看| 亚洲精品伦理在线| 成人精品国产免费网站| 国产午夜精品在线观看| 久久国产福利国产秒拍| 欧美一区二区三区免费大片| 午夜伊人狠狠久久| 欧美日韩视频第一区| 一区二区三区免费看视频| 色婷婷狠狠综合| 亚洲蜜臀av乱码久久精品蜜桃| 波多野结衣中文字幕一区二区三区 | 成人性视频免费网站| 国产日韩欧美综合一区| 国产精品综合二区| 国产欧美一区二区三区网站| 国产黄色精品视频| 久久66热re国产| 精品欧美一区二区在线观看| 久久99热狠狠色一区二区| 欧美va亚洲va| 国内外成人在线| 国产三级欧美三级| 国产99一区视频免费| 国产精品视频线看| 色综合中文字幕国产 | 亚洲精品视频免费观看| 色综合天天做天天爱| 亚洲日本一区二区| 91久久精品一区二区三区| 亚洲一区二区在线免费观看视频| 在线视频一区二区三| 午夜激情一区二区| 日韩三级免费观看| 国产乱子轮精品视频| 欧美激情综合在线| 色综合久久综合中文综合网| 亚洲在线视频一区| 欧美一区二区三区四区在线观看| 精品一区免费av| 欧美高清在线精品一区| 91最新地址在线播放| 亚洲国产欧美另类丝袜| 在线观看91av| 国产xxx精品视频大全| 亚洲乱码国产乱码精品精可以看| 欧美四级电影在线观看| 激情五月婷婷综合| 亚洲色图制服诱惑 | 国产亚洲欧美日韩俺去了| 波多野洁衣一区| 偷拍一区二区三区| 国产区在线观看成人精品| 在线观看区一区二| 久久精品久久99精品久久| 日本一区二区视频在线观看| 欧洲av一区二区嗯嗯嗯啊| 久久国产欧美日韩精品| 亚洲女同一区二区| 精品国内二区三区| 日本久久精品电影| 久久国产福利国产秒拍| 玉米视频成人免费看| 精品伦理精品一区| 欧洲av在线精品| 国产福利电影一区二区三区| 亚洲mv在线观看| 中文幕一区二区三区久久蜜桃| 欧美酷刑日本凌虐凌虐| 成人永久aaa| 偷拍与自拍一区| 中文字幕在线一区二区三区| 欧美一区欧美二区| 日本高清免费不卡视频| 国产精品影音先锋| 日本91福利区| 亚洲一区二区三区小说| 久久久高清一区二区三区| 欧美日韩国产bt| 91视频www| 丰满亚洲少妇av| 久久成人av少妇免费| 日韩精品三区四区| 亚洲乱码精品一二三四区日韩在线|