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

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

?? nasmdoc.txt

?? EDIT Assembler can for VC6 VC8 VC2005
?? TXT
?? 第 1 頁 / 共 5 頁
字號:
       (except of course that surrounding the constant with single quotes
       allows double quotes to appear within it and vice versa); the
       contents of those are represented verbatim. Strings enclosed in
       backquotes support C-style `\'-escapes for special characters.

       The following escape sequences are recognized by backquoted strings:

             \'          single quote (') 
             \"          double quote (") 
             \`          backquote (`) 
             \\          backslash (\) 
             \?          question mark (?) 
             \a          BEL (ASCII 7) 
             \b          BS  (ASCII 8) 
             \t          TAB (ASCII 9) 
             \n          LF  (ASCII 10) 
             \v          VT  (ASCII 11) 
             \f          FF  (ASCII 12) 
             \r          CR  (ASCII 13) 
             \e          ESC (ASCII 27) 
             \377        Up to 3 octal digits - literal byte 
             \xFF        Up to 2 hexadecimal digits - literal byte 
             \u1234      4 hexadecimal digits - Unicode character 
             \U12345678  8 hexadecimal digits - Unicode character

       All other escape sequences are reserved. Note that `\0', meaning a
       `NUL' character (ASCII 0), is a special case of the octal escape
       sequence.

       Unicode characters specified with `\u' or `\U' are converted to
       UTF-8. For example, the following lines are all equivalent:

             db `\u263a`            ; UTF-8 smiley face 
             db `\xe2\x98\xba`      ; UTF-8 smiley face 
             db 0E2h, 098h, 0BAh    ; UTF-8 smiley face

 3.4.3 Character Constants

       A character constant consists of a string up to eight bytes long,
       used in an expression context. It is treated as if it was an
       integer.

       A character constant with more than one byte will be arranged with
       little-endian order in mind: if you code

                 mov eax,'abcd'

       then the constant generated is not `0x61626364', but `0x64636261',
       so that if you were then to store the value into memory, it would
       read `abcd' rather than `dcba'. This is also the sense of character
       constants understood by the Pentium's `CPUID' instruction.

 3.4.4 String Constants

       String constants are character strings used in the context of some
       pseudo-instructions, namely the `DB' family and `INCBIN' (where it
       represents a filename.) They are also used in certain preprocessor
       directives.

       A string constant looks like a character constant, only longer. It
       is treated as a concatenation of maximum-size character constants
       for the conditions. So the following are equivalent:

             db    'hello'               ; string constant 
             db    'h','e','l','l','o'   ; equivalent character constants

       And the following are also equivalent:

             dd    'ninechars'           ; doubleword string constant 
             dd    'nine','char','s'     ; becomes three doublewords 
             db    'ninechars',0,0,0     ; and really looks like this

       Note that when used in a string-supporting context, quoted strings
       are treated as a string constants even if they are short enough to
       be a character constant, because otherwise `db 'ab'' would have the
       same effect as `db 'a'', which would be silly. Similarly, three-
       character or four-character constants are treated as strings when
       they are operands to `DW', and so forth.

 3.4.5 Floating-Point Constants

       Floating-point constants are acceptable only as arguments to `DB',
       `DW', `DD', `DQ', `DT', and `DO', or as arguments to the special
       operators `__float8__', `__float16__', `__float32__', `__float64__',
       `__float80m__', `__float80e__', `__float128l__', and
       `__float128h__'.

       Floating-point constants are expressed in the traditional form:
       digits, then a period, then optionally more digits, then optionally
       an `E' followed by an exponent. The period is mandatory, so that
       NASM can distinguish between `dd 1', which declares an integer
       constant, and `dd 1.0' which declares a floating-point constant.
       NASM also support C99-style hexadecimal floating-point: `0x',
       hexadecimal digits, period, optionally more hexadeximal digits, then
       optionally a `P' followed by a _binary_ (not hexadecimal) exponent
       in decimal notation.

       Underscores to break up groups of digits are permitted in floating-
       point constants as well.

       Some examples:

             db    -0.2                    ; "Quarter precision" 
             dw    -0.5                    ; IEEE 754r/SSE5 half precision 
             dd    1.2                     ; an easy one 
             dd    1.222_222_222           ; underscores are permitted 
             dd    0x1p+2                  ; 1.0x2^2 = 4.0 
             dq    0x1p+32                 ; 1.0x2^32 = 4 294 967 296.0 
             dq    1.e10                   ; 10 000 000 000.0 
             dq    1.e+10                  ; synonymous with 1.e10 
             dq    1.e-10                  ; 0.000 000 000 1 
             dt    3.141592653589793238462 ; pi 
             do    1.e+4000                ; IEEE 754r quad precision

       The 8-bit "quarter-precision" floating-point format is
       sign:exponent:mantissa = 1:4:3 with an exponent bias of 7. This
       appears to be the most frequently used 8-bit floating-point format,
       although it is not covered by any formal standard. This is sometimes
       called a "minifloat."

       The special operators are used to produce floating-point numbers in
       other contexts. They produce the binary representation of a specific
       floating-point number as an integer, and can use anywhere integer
       constants are used in an expression. `__float80m__' and
       `__float80e__' produce the 64-bit mantissa and 16-bit exponent of an
       80-bit floating-point number, and `__float128l__' and
       `__float128h__' produce the lower and upper 64-bit halves of a 128-
       bit floating-point number, respectively.

       For example:

             mov    rax,__float64__(3.141592653589793238462)

       ... would assign the binary representation of pi as a 64-bit
       floating point number into `RAX'. This is exactly equivalent to:

             mov    rax,0x400921fb54442d18

       NASM cannot do compile-time arithmetic on floating-point constants.
       This is because NASM is designed to be portable - although it always
       generates code to run on x86 processors, the assembler itself can
       run on any system with an ANSI C compiler. Therefore, the assembler
       cannot guarantee the presence of a floating-point unit capable of
       handling the Intel number formats, and so for NASM to be able to do
       floating arithmetic it would have to include its own complete set of
       floating-point routines, which would significantly increase the size
       of the assembler for very little benefit.

       The special tokens `__Infinity__', `__QNaN__' (or `__NaN__') and
       `__SNaN__' can be used to generate infinities, quiet NaNs, and
       signalling NaNs, respectively. These are normally used as macros:

       %define Inf __Infinity__ 
       %define NaN __QNaN__ 
       
             dq    +1.5, -Inf, NaN         ; Double-precision constants

   3.5 Expressions

       Expressions in NASM are similar in syntax to those in C. Expressions
       are evaluated as 64-bit integers which are then adjusted to the
       appropriate size.

       NASM supports two special tokens in expressions, allowing
       calculations to involve the current assembly position: the `$' and
       `$$' tokens. `$' evaluates to the assembly position at the beginning
       of the line containing the expression; so you can code an infinite
       loop using `JMP $'. `$$' evaluates to the beginning of the current
       section; so you can tell how far into the section you are by using
       `($-$$)'.

       The arithmetic operators provided by NASM are listed here, in
       increasing order of precedence.

 3.5.1 `|': Bitwise OR Operator

       The `|' operator gives a bitwise OR, exactly as performed by the
       `OR' machine instruction. Bitwise OR is the lowest-priority
       arithmetic operator supported by NASM.

 3.5.2 `^': Bitwise XOR Operator

       `^' provides the bitwise XOR operation.

 3.5.3 `&': Bitwise AND Operator

       `&' provides the bitwise AND operation.

 3.5.4 `<<' and `>>': Bit Shift Operators

       `<<' gives a bit-shift to the left, just as it does in C. So `5<<3'
       evaluates to 5 times 8, or 40. `>>' gives a bit-shift to the right;
       in NASM, such a shift is _always_ unsigned, so that the bits shifted
       in from the left-hand end are filled with zero rather than a sign-
       extension of the previous highest bit.

 3.5.5 `+' and `-': Addition and Subtraction Operators

       The `+' and `-' operators do perfectly ordinary addition and
       subtraction.

 3.5.6 `*', `/', `//', `%' and `%%': Multiplication and Division

       `*' is the multiplication operator. `/' and `//' are both division
       operators: `/' is unsigned division and `//' is signed division.
       Similarly, `%' and `%%' provide unsigned and signed modulo operators
       respectively.

       NASM, like ANSI C, provides no guarantees about the sensible
       operation of the signed modulo operator.

       Since the `%' character is used extensively by the macro
       preprocessor, you should ensure that both the signed and unsigned
       modulo operators are followed by white space wherever they appear.

 3.5.7 Unary Operators: `+', `-', `~', `!' and `SEG'

       The highest-priority operators in NASM's expression grammar are
       those which only apply to one argument. `-' negates its operand, `+'
       does nothing (it's provided for symmetry with `-'), `~' computes the
       one's complement of its operand, `!' is the logical negation
       operator, and `SEG' provides the segment address of its operand
       (explained in more detail in section 3.6).

   3.6 `SEG' and `WRT'

       When writing large 16-bit programs, which must be split into
       multiple segments, it is often necessary to be able to refer to the
       segment part of the address of a symbol. NASM supports the `SEG'
       operator to perform this function.

       The `SEG' operator returns the _preferred_ segment base of a symbol,
       defined as the segment base relative to which the offset of the
       symbol makes sense. So the code

               mov     ax,seg symbol 
               mov     es,ax 
               mov     bx,symbol

       will load `ES:BX' with a valid pointer to the symbol `symbol'.

       Things can be more complex than this: since 16-bit segments and
       groups may overlap, you might occasionally want to refer to some
       symbol using a different segment base from the preferred one. NASM
       lets you do this, by the use of the `WRT' (With Reference To)
       keyword. So you can do things like

               mov     ax,weird_seg        ; weird_seg is a segment base 
               mov     es,ax 
               mov     bx,symbol wrt weird_seg

       to load `ES:BX' with a different, but functionally equivalent,
       pointer to the symbol `symbol'.

       NASM supports far (inter-segment) calls and jumps by means of the
       syntax `call segment:offset', where `segment' and `offset' both
       represent immediate values. So to call a far procedure, you could
       code either of

               call    (seg procedure):procedure 
               call    weird_seg:(procedure wrt weird_seg)

       (The parentheses are included for clarity, to show the intended
       parsing of the above instructions. They are not necessary in
       practice.)

       NASM supports the syntax `call far procedure' as a synonym for the
       first of the above usages. `JMP' works identically to `CALL' in
       these examples.

       To declare a far pointer to a data item in a data segment, you must
       code

  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品热视频| 国产在线国偷精品产拍免费yy| 97精品视频在线观看自产线路二| 国产欧美一区二区三区网站| 国产91精品一区二区麻豆网站 | 肉丝袜脚交视频一区二区| 欧美日韩激情一区二区| 视频一区中文字幕国产| 精品91自产拍在线观看一区| 国产激情精品久久久第一区二区| 国产精品久久久久久亚洲毛片| 91免费视频大全| 日韩精彩视频在线观看| 久久久九九九九| 99久久精品99国产精品 | 中文无字幕一区二区三区| 99精品国产热久久91蜜凸| 玉米视频成人免费看| 日韩欧美卡一卡二| 99在线精品视频| 免费成人小视频| 国产精品福利影院| 91精品国产91热久久久做人人 | 91欧美激情一区二区三区成人| 亚洲国产精品久久一线不卡| 日韩免费观看高清完整版 | 日韩午夜激情免费电影| 国产1区2区3区精品美女| 亚洲一区二区三区视频在线播放| 91麻豆精品国产| 成人一区二区三区在线观看 | 欧美成人激情免费网| 91小视频免费看| 日韩av在线播放中文字幕| 中文字幕乱码久久午夜不卡| 欧美日韩三级视频| 成人免费毛片aaaaa**| 爽好久久久欧美精品| 一区视频在线播放| wwwwww.欧美系列| 欧美日韩精品综合在线| 成人av在线电影| 老司机精品视频导航| 亚洲一区电影777| 亚洲国产岛国毛片在线| 欧美一级生活片| 色综合久久88色综合天天6| 国产曰批免费观看久久久| 午夜久久久影院| 亚洲猫色日本管| 中文字幕av不卡| 日韩精品一区二区三区swag| 欧美日韩精品专区| 色婷婷综合久久久中文一区二区| 国产精品一区三区| 九色|91porny| 视频一区欧美日韩| 亚洲 欧美综合在线网络| 亚洲免费观看高清在线观看| 国产精品国产馆在线真实露脸| 欧美精品一区二区三区蜜桃视频| 欧美日本一道本| 欧美视频完全免费看| 91视频观看免费| 不卡一区二区在线| 丰满岳乱妇一区二区三区| 国产成人在线视频网址| 国内不卡的二区三区中文字幕 | 亚洲国产精品成人综合色在线婷婷| 精品久久99ma| 欧美大片顶级少妇| 欧美一区二区视频在线观看 | 正在播放一区二区| 欧美一级片在线看| 欧美一卡二卡在线观看| 欧美日韩午夜在线视频| 欧美色电影在线| 在线不卡a资源高清| 6080午夜不卡| 欧美一区二区国产| 26uuu亚洲| 欧美国产日韩一二三区| 欧美国产一区二区| 亚洲欧洲成人精品av97| 亚洲免费伊人电影| 亚洲成av人影院| 丝袜脚交一区二区| 精品中文av资源站在线观看| 国产一区二区三区精品欧美日韩一区二区三区 | 欧美一区二区三区四区久久 | 久久久久久日产精品| 国产视频一区在线播放| 中文字幕一区二区三区四区 | 一区二区三区加勒比av| 亚洲一本大道在线| 久久精品国产精品亚洲红杏| 国产一区二区三区精品视频| a美女胸又www黄视频久久| 在线欧美日韩精品| 制服丝袜国产精品| 国产欧美视频一区二区| 亚洲视频你懂的| 免费人成网站在线观看欧美高清| 免费在线观看不卡| 成人久久久精品乱码一区二区三区| 91丨九色丨尤物| 日韩一区二区电影在线| 欧美韩日一区二区三区四区| 亚洲综合激情另类小说区| 美国毛片一区二区| a在线欧美一区| 日韩一区二区三区电影在线观看| 欧美国产精品劲爆| 天天综合网 天天综合色| 国产91精品欧美| 欧美日韩不卡在线| 久久精品欧美日韩精品| 午夜日韩在线电影| 成人午夜精品在线| 在线播放中文字幕一区| 一区二区中文字幕在线| 麻豆专区一区二区三区四区五区| 粉嫩aⅴ一区二区三区四区五区| 欧美少妇bbb| 国产精品三级久久久久三级| 青青草原综合久久大伊人精品 | 亚洲国产日韩a在线播放| 狠狠久久亚洲欧美| 欧美体内she精高潮| 欧美极品另类videosde| 琪琪久久久久日韩精品| 91美女在线看| 国产日产亚洲精品系列| 日韩av电影天堂| 91美女片黄在线观看| 国产亚洲女人久久久久毛片| 首页亚洲欧美制服丝腿| 色999日韩国产欧美一区二区| 久久色中文字幕| 日日骚欧美日韩| 91在线视频在线| 中文字幕乱码久久午夜不卡| 久久国产精品72免费观看| 欧洲av一区二区嗯嗯嗯啊| 中文字幕中文在线不卡住| 国产一区二区看久久| 日韩欧美在线一区二区三区| 午夜精彩视频在线观看不卡| 色哟哟精品一区| 亚洲欧洲av一区二区三区久久| 国模少妇一区二区三区| 制服丝袜激情欧洲亚洲| 亚洲成人av资源| 欧美三级视频在线| 亚洲国产欧美在线| 欧美亚洲高清一区| 一二三区精品福利视频| 色老汉av一区二区三区| 中文字幕一区二区在线播放 | 国产一区二区在线观看视频| 日韩色在线观看| 青青草97国产精品免费观看 | 精品粉嫩超白一线天av| 免费日韩伦理电影| 精品日韩在线观看| 精品综合免费视频观看| 亚洲精品一区二区三区99| 国产一区二区三区在线观看免费 | 成人av在线电影| 亚洲同性gay激情无套| 99久久99久久久精品齐齐| 亚洲日本中文字幕区| 色综合久久综合网| 亚洲制服丝袜在线| 欧美巨大另类极品videosbest| 亚欧色一区w666天堂| 91精品国产欧美一区二区| 裸体健美xxxx欧美裸体表演| 日韩一级免费观看| 久草中文综合在线| 欧美国产精品中文字幕| 一本到不卡精品视频在线观看 | 精品久久久久99| 成人av集中营| 一区二区三区高清| 欧美顶级少妇做爰| 韩国女主播成人在线观看| 日本一区二区三区在线观看| 一本色道亚洲精品aⅴ| 亚洲成a人片在线不卡一二三区| 91麻豆精品国产自产在线| 麻豆成人综合网| 国产精品国产三级国产三级人妇| 色视频一区二区| 丝袜亚洲另类欧美综合| 久久蜜桃一区二区| 欧美自拍偷拍午夜视频| 美脚の诱脚舐め脚责91| 欧美激情一区在线观看| 欧美三级日韩三级国产三级|