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

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

?? nasmdo10.htm

?? nasm手冊 大家可以看看 對要寫匯編程序的幫助很大
?? HTM
字號:
<html><head><title>NASM Manual</title></head><body><h1 align=center>The Netwide Assembler: NASM</h1><p align=center><a href="nasmdoca.html">Next Chapter</a> |<a href="nasmdoc9.html">Previous Chapter</a> |<a href="nasmdoc0.html">Contents</a> |<a href="nasmdoci.html">Index</a><h2><a name="chapter-10">Chapter 10: Troubleshooting</a></h2><p>This chapter describes some of the common problems that users have beenknown to encounter with NASM, and answers them. It also gives instructionsfor reporting bugs in NASM if you find a difficulty that isn't listed here.<h3><a name="section-10.1">10.1 Common Problems</a></h3><h4><a name="section-10.1.1">10.1.1 NASM Generates Inefficient Code</a></h4><p>We sometimes get `bug' reports about NASM generating inefficient, oreven `wrong', code on instructions such as<code><nobr>ADD ESP,8</nobr></code>. This is a deliberate design feature,connected to predictability of output: NASM, on seeing<code><nobr>ADD ESP,8</nobr></code>, will generate the form of theinstruction which leaves room for a 32-bit offset. You need to code<code><nobr>ADD ESP,BYTE 8</nobr></code> if you want the space-efficientform of the instruction. This isn't a bug, it's user error: if you preferto have NASM produce the more efficient code automatically enableoptimization with the <code><nobr>-On</nobr></code> option (see<a href="nasmdoc2.html#section-2.1.16">section 2.1.16</a>).<h4><a name="section-10.1.2">10.1.2 My Jumps are Out of Range</a></h4><p>Similarly, people complain that when they issue conditional jumps (whichare <code><nobr>SHORT</nobr></code> by default) that try to jump too far,NASM reports `short jump out of range' instead of making the jumps longer.<p>This, again, is partly a predictability issue, but in fact has a morepractical reason as well. NASM has no means of being told what type ofprocessor the code it is generating will be run on; so it cannot decide foritself that it should generate <code><nobr>Jcc NEAR</nobr></code> typeinstructions, because it doesn't know that it's working for a 386 or above.Alternatively, it could replace the out-of-range short<code><nobr>JNE</nobr></code> instruction with a very short<code><nobr>JE</nobr></code> instruction that jumps over a<code><nobr>JMP NEAR</nobr></code>; this is a sensible solution forprocessors below a 386, but hardly efficient on processors which have goodbranch prediction <em>and</em> could have used<code><nobr>JNE NEAR</nobr></code> instead. So, once again, it's up to theuser, not the assembler, to decide what instructions should be generated.See <a href="nasmdoc2.html#section-2.1.16">section 2.1.16</a>.<h4><a name="section-10.1.3">10.1.3 <code><nobr>ORG</nobr></code> Doesn't Work</a></h4><p>People writing boot sector programs in the <code><nobr>bin</nobr></code>format often complain that <code><nobr>ORG</nobr></code> doesn't work theway they'd like: in order to place the <code><nobr>0xAA55</nobr></code>signature word at the end of a 512-byte boot sector, people who are used toMASM tend to code<p><pre>        ORG 0         ; some boot sector code         ORG 510         DW 0xAA55</pre><p>This is not the intended use of the <code><nobr>ORG</nobr></code>directive in NASM, and will not work. The correct way to solve this problemin NASM is to use the <code><nobr>TIMES</nobr></code> directive, like this:<p><pre>        ORG 0         ; some boot sector code         TIMES 510-($-$$) DB 0         DW 0xAA55</pre><p>The <code><nobr>TIMES</nobr></code> directive will insert exactly enoughzero bytes into the output to move the assembly point up to 510. Thismethod also has the advantage that if you accidentally fill your bootsector too full, NASM will catch the problem at assembly time and reportit, so you won't end up with a boot sector that you have to disassemble tofind out what's wrong with it.<h4><a name="section-10.1.4">10.1.4 <code><nobr>TIMES</nobr></code> Doesn't Work</a></h4><p>The other common problem with the above code is people who write the<code><nobr>TIMES</nobr></code> line as<p><pre>        TIMES 510-$ DB 0</pre><p>by reasoning that <code><nobr>$</nobr></code> should be a pure number,just like 510, so the difference between them is also a pure number and canhappily be fed to <code><nobr>TIMES</nobr></code>.<p>NASM is a <em>modular</em> assembler: the various component parts aredesigned to be easily separable for re-use, so they don't exchangeinformation unnecessarily. In consequence, the<code><nobr>bin</nobr></code> output format, even though it has been toldby the <code><nobr>ORG</nobr></code> directive that the<code><nobr>.text</nobr></code> section should start at 0, does not passthat information back to the expression evaluator. So from the evaluator'spoint of view, <code><nobr>$</nobr></code> isn't a pure number: it's anoffset from a section base. Therefore the difference between<code><nobr>$</nobr></code> and 510 is also not a pure number, but involvesa section base. Values involving section bases cannot be passed asarguments to <code><nobr>TIMES</nobr></code>.<p>The solution, as in the previous section, is to code the<code><nobr>TIMES</nobr></code> line in the form<p><pre>        TIMES 510-($-$$) DB 0</pre><p>in which <code><nobr>$</nobr></code> and <code><nobr>$$</nobr></code>are offsets from the same section base, and so their difference is a purenumber. This will solve the problem and generate sensible code.<h3><a name="section-10.2">10.2 Bugs</a></h3><p>We have never yet released a version of NASM with any <em>known</em>bugs. That doesn't usually stop there being plenty we didn't know about,though. Any that you find should be reported firstly via the<code><nobr>bugtracker</nobr></code> at<a href="https://sourceforge.net/projects/nasm/"><code><nobr>https://sourceforge.net/projects/nasm/</nobr></code></a>(click on "Bugs"), or if that fails then through one of the contacts in<a href="nasmdoc1.html#section-1.2">section 1.2</a>.<p>Please read <a href="nasmdoc2.html#section-2.2">section 2.2</a> first,and don't report the bug if it's listed in there as a deliberate feature.(If you think the feature is badly thought out, feel free to send usreasons why you think it should be changed, but don't just send us mailsaying `This is a bug' if the documentation says we did it on purpose.)Then read <a href="#section-10.1">section 10.1</a>, and don't botherreporting the bug if it's listed there.<p>If you do report a bug, <em>please</em> give us all of the followinginformation:<ul><li>What operating system you're running NASM under. DOS, Linux, NetBSD,Win16, Win32, VMS (I'd be impressed), whatever.<li>If you're running NASM under DOS or Win32, tell us whether you'vecompiled your own executable from the DOS source archive, or whether youwere using the standard distribution binaries out of the archive. If youwere using a locally built executable, try to reproduce the problem usingone of the standard binaries, as this will make it easier for us toreproduce your problem prior to fixing it.<li>Which version of NASM you're using, and exactly how you invoked it.Give us the precise command line, and the contents of the<code><nobr>NASMENV</nobr></code> environment variable if any.<li>Which versions of any supplementary programs you're using, and how youinvoked them. If the problem only becomes visible at link time, tell uswhat linker you're using, what version of it you've got, and the exactlinker command line. If the problem involves linking against object filesgenerated by a compiler, tell us what compiler, what version, and whatcommand line or options you used. (If you're compiling in an IDE, pleasetry to reproduce the problem with the command-line version of thecompiler.)<li>If at all possible, send us a NASM source file which exhibits theproblem. If this causes copyright problems (e.g. you can only reproduce thebug in restricted-distribution code) then bear in mind the following twopoints: firstly, we guarantee that any source code sent to us for thepurposes of debugging NASM will be used <em>only</em> for the purposes ofdebugging NASM, and that we will delete all our copies of it as soon as wehave found and fixed the bug or bugs in question; and secondly, we wouldprefer <em>not</em> to be mailed large chunks of code anyway. The smallerthe file, the better. A three-line sample file that does nothing useful<em>except</em> demonstrate the problem is much easier to work with than afully fledged ten-thousand-line program. (Of course, some errors<em>do</em> only crop up in large files, so this may not be possible.)<li>A description of what the problem actually <em>is</em>. `It doesn'twork' is <em>not</em> a helpful description! Please describe exactly whatis happening that shouldn't be, or what isn't happening that should.Examples might be: `NASM generates an error message saying Line 3 for anerror that's actually on Line 5'; `NASM generates an error message that Ibelieve it shouldn't be generating at all'; `NASM fails to generate anerror message that I believe it <em>should</em> be generating'; `the objectfile produced from this source code crashes my linker'; `the ninth byte ofthe output file is 66 and I think it should be 77 instead'.<li>If you believe the output file from NASM to be faulty, send it to us.That allows us to determine whether our own copy of NASM generates the samefile, or whether the problem is related to portability issues between ourdevelopment platforms and yours. We can handle binary files mailed to us asMIME attachments, uuencoded, and even BinHex. Alternatively, we may be ableto provide an FTP site you can upload the suspect files to; but mailingthem is easier for us.<li>Any other information or data files that might be helpful. If, forexample, the problem involves NASM failing to generate an object file whileTASM can generate an equivalent file without trouble, then send us<em>both</em> object files, so we can see what TASM is doing differentlyfrom us.</ul><p align=center><a href="nasmdoca.html">Next Chapter</a> |<a href="nasmdoc9.html">Previous Chapter</a> |<a href="nasmdoc0.html">Contents</a> |<a href="nasmdoci.html">Index</a></body></html>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日产欧美一区二区视频| 欧美性videosxxxxx| 亚洲成av人片| 亚洲三级在线看| 亚洲欧美精品午睡沙发| 国产精品电影一区二区三区| 中文字幕欧美区| 欧美韩国日本一区| 亚洲人成网站精品片在线观看 | 亚洲乱码一区二区三区在线观看| 精品国产免费人成电影在线观看四季 | 成人午夜电影网站| 国产91精品一区二区| 成人三级伦理片| 日本精品视频一区二区三区| 在线免费不卡电影| 欧美剧在线免费观看网站| 欧美剧情片在线观看| 精品国产乱码久久久久久图片| 久久久久国产精品厨房| 欧美激情一区在线观看| 亚洲精品成人天堂一二三| 亚洲成a人片在线观看中文| 免费高清视频精品| 东方欧美亚洲色图在线| 日本精品裸体写真集在线观看| 欧美久久久一区| 久久一二三国产| 伊人开心综合网| 久久精品国产99国产| 不卡区在线中文字幕| 精品污污网站免费看| 精品国产一区二区三区久久久蜜月 | 中文一区二区在线观看| 亚洲综合一区二区| 国内一区二区视频| 日本久久电影网| 国产丝袜欧美中文另类| 亚洲影院久久精品| 国产高清精品网站| 欧美日韩一区二区三区在线看| 久久亚洲一级片| 亚洲高清免费一级二级三级| 国产一区二区女| 欧美久久久影院| 亚洲日本va在线观看| 精品一区二区成人精品| 欧美伊人久久久久久午夜久久久久| 久久亚洲一级片| 男女激情视频一区| 91麻豆.com| 国产网站一区二区三区| 琪琪一区二区三区| 欧美三级电影网| 亚洲人成精品久久久久久 | 国产午夜精品在线观看| 亚洲高清免费一级二级三级| 成人免费观看男女羞羞视频| 91精品国产免费| 亚洲第一狼人社区| 91免费国产在线观看| 中文字幕免费一区| 久草热8精品视频在线观看| 欧美日韩激情一区二区三区| 日韩美女视频一区| 成人精品高清在线| 国产日本亚洲高清| 国产伦理精品不卡| 精品成人佐山爱一区二区| 日韩av一区二区三区四区| 欧美色窝79yyyycom| 亚洲日本韩国一区| 91精品1区2区| 一区二区在线观看av| av毛片久久久久**hd| 中文字幕av不卡| 菠萝蜜视频在线观看一区| 国产精品久久久久国产精品日日| 老司机午夜精品| 久久婷婷国产综合国色天香| 理论电影国产精品| 欧美精品一区二区三区久久久| 毛片av一区二区| 337p粉嫩大胆色噜噜噜噜亚洲| 看电视剧不卡顿的网站| 亚洲精品在线电影| 国产伦精一区二区三区| 国产精品高潮久久久久无| 波多野结衣欧美| 亚洲自拍偷拍九九九| 欧美高清你懂得| 麻豆国产欧美一区二区三区| 精品剧情v国产在线观看在线| 精品一区二区在线观看| 久久你懂得1024| av在线不卡观看免费观看| 夜夜精品浪潮av一区二区三区| 欧美亚洲一区二区在线| 蜜臀91精品一区二区三区| 久久亚洲精华国产精华液| 成人aa视频在线观看| 一区二区三区在线观看国产| 欧美日韩一区二区三区视频| 免费在线视频一区| 国产精品丝袜一区| 欧美在线一区二区三区| 日本午夜一本久久久综合| 国产午夜精品久久久久久久| 91一区二区三区在线观看| 日韩影院精彩在线| 久久久99精品免费观看| 色综合久久久久久久久久久| 五月激情综合网| 国产精品视频第一区| 欧美手机在线视频| 国产成人欧美日韩在线电影| 亚洲最大的成人av| www国产亚洲精品久久麻豆| 91网站在线观看视频| 蜜桃av一区二区在线观看| 亚洲视频在线一区观看| 欧美mv日韩mv国产网站app| 91黄色在线观看| 国产精品1024| 日韩av在线发布| 伊人性伊人情综合网| 国产精品欧美一级免费| 91精品国产美女浴室洗澡无遮挡| 91片黄在线观看| 国产一区二区三区精品欧美日韩一区二区三区 | 在线免费一区三区| 国产一区二区在线观看免费| 午夜精品久久久久久久久| 国产欧美日韩在线看| 欧美电影免费提供在线观看| 欧美在线看片a免费观看| 成人的网站免费观看| 国产一区二区三区久久悠悠色av| 日韩va亚洲va欧美va久久| 亚洲精品亚洲人成人网| 国产婷婷色一区二区三区四区| 日韩三级在线观看| 欧美色倩网站大全免费| 99久久精品99国产精品| 国产99一区视频免费| 国产露脸91国语对白| 蜜芽一区二区三区| 日韩高清不卡在线| 亚洲午夜电影在线| 亚洲自拍都市欧美小说| 一区二区在线观看免费视频播放| 国产精品国产三级国产普通话三级| 久久亚洲精品国产精品紫薇| 精品人伦一区二区色婷婷| 欧美成人精品1314www| 欧美va亚洲va| 久久久久久久久久电影| 欧美激情一二三区| 中文av一区二区| 中文字幕一区不卡| 亚洲综合久久久| 亚洲第一综合色| 日本不卡中文字幕| 久久99国产精品久久| 精品一二三四区| 成人午夜视频网站| 91丨porny丨中文| 欧美视频精品在线观看| 日韩一区二区三| 国产亚洲精品久| 亚洲柠檬福利资源导航| 亚洲国产精品自拍| 狂野欧美性猛交blacked| 国产激情精品久久久第一区二区 | 国产精品白丝在线| 中文字幕色av一区二区三区| 一区二区三区**美女毛片| 亚洲一区二区不卡免费| 日本v片在线高清不卡在线观看| 久久精品国产成人一区二区三区| 国产激情91久久精品导航| 99久久夜色精品国产网站| 精品视频在线免费看| 欧美电影免费观看高清完整版在线| 精品国产污污免费网站入口| 国产日韩欧美麻豆| 亚洲国产综合在线| 久久成人18免费观看| 成人动漫在线一区| 欧美精品一卡两卡| 中文字幕欧美激情一区| 天天色综合天天| eeuss鲁片一区二区三区| 91精品欧美久久久久久动漫| 欧美激情一区二区三区蜜桃视频 | 国产精品美女久久久久久久久| 亚洲一二三区视频在线观看| 国产美女视频一区| 欧美视频一二三区| 亚洲欧洲日本在线|