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

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

?? nasmdoc.txt

?? EDIT Assembler can for VC6 VC8 VC2005
?? TXT
?? 第 1 頁 / 共 5 頁
字號:
       (*) local labels may be prefixed with `@@' instead of `.'

       (*) size override is supported within brackets. In TASM compatible
           mode, a size override inside square brackets changes the size of
           the operand, and not the address type of the operand as it does
           in NASM syntax. E.g. `mov eax,[DWORD val]' is valid syntax in
           TASM compatibility mode. Note that you lose the ability to
           override the default address type for the instruction.

       (*) unprefixed forms of some directives supported (`arg', `elif',
           `else', `endif', `if', `ifdef', `ifdifi', `ifndef', `include',
           `local')

2.1.24 The `-w' Option: Enable or Disable Assembly Warnings

       NASM can observe many conditions during the course of assembly which
       are worth mentioning to the user, but not a sufficiently severe
       error to justify NASM refusing to generate an output file. These
       conditions are reported like errors, but come up with the word
       `warning' before the message. Warnings do not prevent NASM from
       generating an output file and returning a success status to the
       operating system.

       Some conditions are even less severe than that: they are only
       sometimes worth mentioning to the user. Therefore NASM supports the
       `-w' command-line option, which enables or disables certain classes
       of assembly warning. Such warning classes are described by a name,
       for example `orphan-labels'; you can enable warnings of this class
       by the command-line option `-w+orphan-labels' and disable it by
       `-w-orphan-labels'.

       The suppressible warning classes are:

       (*) `macro-params' covers warnings about multi-line macros being
           invoked with the wrong number of parameters. This warning class
           is enabled by default; see section 4.3.1 for an example of why
           you might want to disable it.

       (*) `macro-selfref' warns if a macro references itself. This warning
           class is enabled by default.

       (*) `orphan-labels' covers warnings about source lines which contain
           no instruction but define a label without a trailing colon. NASM
           does not warn about this somewhat obscure condition by default;
           see section 3.1 for an example of why you might want it to.

       (*) `number-overflow' covers warnings about numeric constants which
           don't fit in 32 bits (for example, it's easy to type one too
           many Fs and produce `0x7ffffffff' by mistake). This warning
           class is enabled by default.

       (*) `gnu-elf-extensions' warns if 8-bit or 16-bit relocations are
           used in `-f elf' format. The GNU extensions allow this. This
           warning class is enabled by default.

       (*) In addition, warning classes may be enabled or disabled across
           sections of source code with `[warning +warning-name]' or
           `[warning -warning-name]'. No "user form" (without the brackets)
           exists.

2.1.25 The `-v' Option: Display Version Info

       Typing `NASM -v' will display the version of NASM which you are
       using, and the date on which it was compiled.

       You will need the version number if you report a bug.

2.1.26 The `-y' Option: Display Available Debug Info Formats

       Typing `nasm -f <option> -y' will display a list of the available
       debug info formats for the given output format. The default format
       is indicated by an asterisk. For example:

       nasm -f elf -y

       valid debug formats for 'elf32' output format are 
         ('*' denotes default): 
         * stabs     ELF32 (i386) stabs debug format for Linux 
           dwarf     elf32 (i386) dwarf debug format for Linux

2.1.27 The `--prefix' and `--postfix' Options.

       The `--prefix' and `--postfix' options prepend or append
       (respectively) the given argument to all `global' or `extern'
       variables. E.g. `--prefix_' will prepend the underscore to all
       global and external variables, as C sometimes (but not always) likes
       it.

2.1.28 The `NASMENV' Environment Variable

       If you define an environment variable called `NASMENV', the program
       will interpret it as a list of extra command-line options, which are
       processed before the real command line. You can use this to define
       standard search directories for include files, by putting `-i'
       options in the `NASMENV' variable.

       The value of the variable is split up at white space, so that the
       value `-s -ic:\nasmlib' will be treated as two separate options.
       However, that means that the value `-dNAME="my name"' won't do what
       you might want, because it will be split at the space and the NASM
       command-line processing will get confused by the two nonsensical
       words `-dNAME="my' and `name"'.

       To get round this, NASM provides a feature whereby, if you begin the
       `NASMENV' environment variable with some character that isn't a
       minus sign, then NASM will treat this character as the separator
       character for options. So setting the `NASMENV' variable to the
       value `!-s!-ic:\nasmlib' is equivalent to setting it to
       `-s -ic:\nasmlib', but `!-dNAME="my name"' will work.

       This environment variable was previously called `NASM'. This was
       changed with version 0.98.31.

   2.2 Quick Start for MASM Users

       If you're used to writing programs with MASM, or with TASM in MASM-
       compatible (non-Ideal) mode, or with `a86', this section attempts to
       outline the major differences between MASM's syntax and NASM's. If
       you're not already used to MASM, it's probably worth skipping this
       section.

 2.2.1 NASM Is Case-Sensitive

       One simple difference is that NASM is case-sensitive. It makes a
       difference whether you call your label `foo', `Foo' or `FOO'. If
       you're assembling to `DOS' or `OS/2' `.OBJ' files, you can invoke
       the `UPPERCASE' directive (documented in section 6.2) to ensure that
       all symbols exported to other code modules are forced to be upper
       case; but even then, _within_ a single module, NASM will distinguish
       between labels differing only in case.

 2.2.2 NASM Requires Square Brackets For Memory References

       NASM was designed with simplicity of syntax in mind. One of the
       design goals of NASM is that it should be possible, as far as is
       practical, for the user to look at a single line of NASM code and
       tell what opcode is generated by it. You can't do this in MASM: if
       you declare, for example,

       foo     equ     1 
       bar     dw      2

       then the two lines of code

               mov     ax,foo 
               mov     ax,bar

       generate completely different opcodes, despite having identical-
       looking syntaxes.

       NASM avoids this undesirable situation by having a much simpler
       syntax for memory references. The rule is simply that any access to
       the _contents_ of a memory location requires square brackets around
       the address, and any access to the _address_ of a variable doesn't.
       So an instruction of the form `mov ax,foo' will _always_ refer to a
       compile-time constant, whether it's an `EQU' or the address of a
       variable; and to access the _contents_ of the variable `bar', you
       must code `mov ax,[bar]'.

       This also means that NASM has no need for MASM's `OFFSET' keyword,
       since the MASM code `mov ax,offset bar' means exactly the same thing
       as NASM's `mov ax,bar'. If you're trying to get large amounts of
       MASM code to assemble sensibly under NASM, you can always code
       `%idefine offset' to make the preprocessor treat the `OFFSET'
       keyword as a no-op.

       This issue is even more confusing in `a86', where declaring a label
       with a trailing colon defines it to be a `label' as opposed to a
       `variable' and causes `a86' to adopt NASM-style semantics; so in
       `a86', `mov ax,var' has different behaviour depending on whether
       `var' was declared as `var: dw 0' (a label) or `var dw 0' (a word-
       size variable). NASM is very simple by comparison: _everything_ is a
       label.

       NASM, in the interests of simplicity, also does not support the
       hybrid syntaxes supported by MASM and its clones, such as
       `mov ax,table[bx]', where a memory reference is denoted by one
       portion outside square brackets and another portion inside. The
       correct syntax for the above is `mov ax,[table+bx]'. Likewise,
       `mov ax,es:[di]' is wrong and `mov ax,[es:di]' is right.

 2.2.3 NASM Doesn't Store Variable Types

       NASM, by design, chooses not to remember the types of variables you
       declare. Whereas MASM will remember, on seeing `var dw 0', that you
       declared `var' as a word-size variable, and will then be able to
       fill in the ambiguity in the size of the instruction `mov var,2',
       NASM will deliberately remember nothing about the symbol `var'
       except where it begins, and so you must explicitly code
       `mov word [var],2'.

       For this reason, NASM doesn't support the `LODS', `MOVS', `STOS',
       `SCAS', `CMPS', `INS', or `OUTS' instructions, but only supports the
       forms such as `LODSB', `MOVSW', and `SCASD', which explicitly
       specify the size of the components of the strings being manipulated.

 2.2.4 NASM Doesn't `ASSUME'

       As part of NASM's drive for simplicity, it also does not support the
       `ASSUME' directive. NASM will not keep track of what values you
       choose to put in your segment registers, and will never
       _automatically_ generate a segment override prefix.

 2.2.5 NASM Doesn't Support Memory Models

       NASM also does not have any directives to support different 16-bit
       memory models. The programmer has to keep track of which functions
       are supposed to be called with a far call and which with a near
       call, and is responsible for putting the correct form of `RET'
       instruction (`RETN' or `RETF'; NASM accepts `RET' itself as an
       alternate form for `RETN'); in addition, the programmer is
       responsible for coding CALL FAR instructions where necessary when
       calling _external_ functions, and must also keep track of which
       external variable definitions are far and which are near.

 2.2.6 Floating-Point Differences

       NASM uses different names to refer to floating-point registers from
       MASM: where MASM would call them `ST(0)', `ST(1)' and so on, and
       `a86' would call them simply `0', `1' and so on, NASM chooses to
       call them `st0', `st1' etc.

       As of version 0.96, NASM now treats the instructions with `nowait'
       forms in the same way as MASM-compatible assemblers. The
       idiosyncratic treatment employed by 0.95 and earlier was based on a
       misunderstanding by the authors.

 2.2.7 Other Differences

       For historical reasons, NASM uses the keyword `TWORD' where MASM and
       compatible assemblers use `TBYTE'.

       NASM does not declare uninitialized storage in the same way as MASM:
       where a MASM programmer might use `stack db 64 dup (?)', NASM
       requires `stack resb 64', intended to be read as `reserve 64 bytes'.
       For a limited amount of compatibility, since NASM treats `?' as a
       valid character in symbol names, you can code `? equ 0' and then
       writing `dw ?' will at least do something vaguely useful. `DUP' is
       still not a supported syntax, however.

       In addition to all of this, macros and directives work completely
       differently to MASM. See chapter 4 and chapter 5 for further
       details.

Chapter 3: The NASM Language
----------------------------

   3.1 Layout of a NASM Source Line

       Like most assemblers, each NASM source line contains (unless it is a
       macro, a preprocessor directive or an assembler directive: see
       chapter 4 and chapter 5) some combination of the four fields

       label:    instruction operands        ; comment

       As usual, most of these fields are optional; the presence or absence
       of any combination of a label, an instruction and a comment is
       allowed. Of course, the operand field is either required or
       forbidden by the presence and nature of the instruction field.

       NASM uses backslash (\) as the line continuation character; if a
       line ends with backslash, the next line is considered to be a part
       of the backslash-ended line.

       NASM places no restrictions on white space within a line: labels may
       have white space before them, or instructions may have no space
       before them, or anything. The colon after a label is also optional.
       (Note that this means that if you intend to code `lodsb' alone on a
       line, and type `lodab' by accident, then that's still a valid source
       line which does nothing but define a label. Running NASM with the
       command-line option `-w+orphan-labels' will cause it to warn you if
       you define a label alone on a line without a trailing colon.)

       Valid characters in labels are letters, numbers, `_', `$', `#', `@',
       `~', `.', and `?'. The only characters which may be used as the
       _first_ character of an identifier are letters, `.' (with special
       meaning: see section 3.9), `_' and `?'. An identifier may also be

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕亚洲不卡| 欧美日韩黄色影视| 奇米一区二区三区| 午夜精品久久久久久久久| 尤物av一区二区| 亚洲精品国产无套在线观| 午夜视频一区二区| 奇米影视一区二区三区| 精油按摩中文字幕久久| 韩国精品免费视频| 国产成人在线看| caoporn国产一区二区| 色综合视频在线观看| 日本韩国一区二区| 欧美高清你懂得| 日韩一区二区在线看| 精品福利一二区| 国产欧美精品一区二区色综合朱莉| 久久久综合视频| 综合激情网...| 视频一区国产视频| 久久99精品久久只有精品| 国产成人av一区二区三区在线观看| 国产成人三级在线观看| 91小视频在线| 日韩亚洲欧美高清| 国产午夜精品久久久久久免费视| 中文字幕av一区二区三区| 一区二区三区精品在线| 麻豆视频观看网址久久| 99精品热视频| 日韩一级高清毛片| 国产精品国产精品国产专区不蜜| 亚洲综合久久久| 国产精品资源在线看| 色综合久久久久综合体桃花网| 欧美精品日韩一本| 国产精品护士白丝一区av| 国产69精品久久久久777| 亚洲黄色av一区| 国产一区二区久久| 欧美片在线播放| 亚洲天堂精品视频| 韩国欧美国产1区| 在线视频一区二区免费| 久久婷婷久久一区二区三区| 亚洲影院理伦片| www.欧美日韩国产在线| 日韩视频在线一区二区| 亚洲天堂福利av| 国产jizzjizz一区二区| 欧美男男青年gay1069videost| 国产亚洲成年网址在线观看| 亚洲va国产天堂va久久en| 国产一区二区三区精品欧美日韩一区二区三区 | 欧美日韩国产精品自在自线| 久久蜜桃一区二区| 日韩激情一二三区| 欧美色男人天堂| 亚洲日本成人在线观看| 高清视频一区二区| 2019国产精品| 久久超级碰视频| 日韩一区国产二区欧美三区| 一区二区三区不卡视频在线观看 | 欧美视频在线播放| 中文字幕在线观看不卡视频| 国产在线一区二区| 精品欧美黑人一区二区三区| 五月开心婷婷久久| 色综合视频在线观看| 中文字幕一区视频| av在线播放成人| 欧美mv日韩mv| 韩国精品在线观看| 久久久综合网站| 三级在线观看一区二区| 5月丁香婷婷综合| 手机精品视频在线观看| 欧美无砖专区一中文字| 亚洲午夜国产一区99re久久| 92精品国产成人观看免费| 自拍偷拍欧美激情| 日韩限制级电影在线观看| 日韩专区一卡二卡| 欧美一二三四区在线| 精品亚洲成a人在线观看| 日韩一区二区三区免费观看| 久久国产视频网| 久久久亚洲精品一区二区三区| 国产一区二区三区四区五区美女| 久久久久9999亚洲精品| aaa国产一区| 亚洲精品欧美激情| 欧美人与z0zoxxxx视频| 极品美女销魂一区二区三区| 久久久91精品国产一区二区精品| 久久99国产精品免费| 久久精品视频免费观看| 91免费版pro下载短视频| 亚洲欧美日韩国产综合| 欧美日韩国产高清一区| 国精产品一区一区三区mba视频| 久久一区二区视频| 国产一区二区三区免费看| 国产精品无遮挡| 91成人免费在线视频| 美女一区二区久久| 国产片一区二区三区| 欧洲精品中文字幕| 国内成人精品2018免费看| 亚洲另类春色校园小说| 欧美一区二区国产| 丰满少妇久久久久久久| 亚洲成人综合网站| 国产精品久久久久四虎| 在线不卡中文字幕播放| 成人网页在线观看| 老司机午夜精品| 日韩理论片中文av| 精品成人在线观看| 欧美三级电影在线看| 成人综合婷婷国产精品久久蜜臀| 亚洲综合色噜噜狠狠| 国产精品天天看| 欧美精品一卡二卡| 99久久免费国产| 国产一区视频网站| 香蕉加勒比综合久久| 中文字幕人成不卡一区| 欧美本精品男人aⅴ天堂| 91玉足脚交白嫩脚丫在线播放| 蜜臀91精品一区二区三区| 一区二区三区免费网站| 欧美国产精品中文字幕| 欧美二区在线观看| 不卡一区在线观看| 国产黄人亚洲片| 久久国产精品色婷婷| 日日夜夜免费精品| 亚洲一区二区不卡免费| 亚洲国产精品av| 久久久一区二区三区捆绑**| 日韩精品一区在线观看| 欧美精品三级日韩久久| 在线视频欧美精品| 色成年激情久久综合| 蜜臀久久99精品久久久久久9| 国产精品久久久久影视| 欧美极品xxx| 国产精品久久久久久久久动漫| 国产丝袜欧美中文另类| 精品国产亚洲在线| 2021久久国产精品不只是精品| 日韩一区二区免费在线电影| 91精品国产综合久久久久久久久久| 欧美性淫爽ww久久久久无| 欧美日韩一区 二区 三区 久久精品| 色婷婷一区二区三区四区| 色婷婷综合久久久久中文一区二区 | 欧美妇女性影城| 欧美性生活影院| 精品视频999| 3d成人h动漫网站入口| 欧美影视一区在线| 欧美另类一区二区三区| 欧美一卡2卡3卡4卡| 精品欧美一区二区三区精品久久| 欧美在线观看视频一区二区三区| 色综合久久88色综合天天6| 91麻豆自制传媒国产之光| 91麻豆蜜桃一区二区三区| 欧美色老头old∨ideo| 欧美一区二区三区在线观看| 欧美一区二区高清| 欧美不卡一区二区三区| 国产午夜精品美女毛片视频| 中文字幕一区二区三区色视频| 一区二区三区四区中文字幕| 午夜欧美视频在线观看| 极品少妇一区二区三区精品视频 | 精品久久久久久久久久久院品网| 精品99一区二区| 18欧美乱大交hd1984| 婷婷久久综合九色综合绿巨人| 日本三级亚洲精品| 懂色av一区二区在线播放| 色欧美日韩亚洲| xf在线a精品一区二区视频网站| 中文字幕一区二区视频| 蜜臀av一区二区| 99国产欧美久久久精品| 日韩一区和二区| 亚洲日本va在线观看| 麻豆成人免费电影| 一本色道久久综合亚洲aⅴ蜜桃| 91精品国产欧美一区二区| 国产精品国产馆在线真实露脸| 日韩在线播放一区二区| 色呦呦一区二区三区|