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

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

?? nasmdoca.htm

?? nasm手冊 大家可以看看 對要寫匯編程序的幫助很大
?? HTM
字號:
<html><head><title>NASM Manual</title></head><body><h1 align=center>The Netwide Assembler: NASM</h1><p align=center><a href="nasmdocb.html">Next Chapter</a> |<a href="nasmdo10.html">Previous Chapter</a> |<a href="nasmdoc0.html">Contents</a> |<a href="nasmdoci.html">Index</a><h2><a name="appendix-A">Appendix A: Ndisasm</a></h2><p>The Netwide Disassembler, NDISASM<h3><a name="section-A.1">A.1 Introduction</a></h3><p>The Netwide Disassembler is a small companion program to the NetwideAssembler, NASM. It seemed a shame to have an x86 assembler, complete witha full instruction table, and not make as much use of it as possible, sohere's a disassembler which shares the instruction table (and some otherbits of code) with NASM.<p>The Netwide Disassembler does nothing except to produce disassemblies of<em>binary</em> source files. NDISASM does not have any understanding ofobject file formats, like <code><nobr>objdump</nobr></code>, and it willnot understand <code><nobr>DOS .EXE</nobr></code> files like<code><nobr>debug</nobr></code> will. It just disassembles.<h3><a name="section-A.2">A.2 Getting Started: Installation</a></h3><p>See <a href="nasmdoc1.html#section-1.3">section 1.3</a> for installationinstructions. NDISASM, like NASM, has a <code><nobr>man page</nobr></code>which you may want to put somewhere useful, if you are on a Unix system.<h3><a name="section-A.3">A.3 Running NDISASM</a></h3><p>To disassemble a file, you will typically use a command of the form<p><pre>       ndisasm [-b16 | -b32] filename</pre><p>NDISASM can disassemble 16-bit code or 32-bit code equally easily,provided of course that you remember to specify which it is to work with.If no <code><nobr>-b</nobr></code> switch is present, NDISASM works in16-bit mode by default. The <code><nobr>-u</nobr></code> switch (for USE32)also invokes 32-bit mode.<p>Two more command line options are <code><nobr>-r</nobr></code> whichreports the version number of NDISASM you are running, and<code><nobr>-h</nobr></code> which gives a short summary of command lineoptions.<h4><a name="section-A.3.1">A.3.1 COM Files: Specifying an Origin</a></h4><p>To disassemble a <code><nobr>DOS .COM</nobr></code> file correctly, adisassembler must assume that the first instruction in the file is loadedat address <code><nobr>0x100</nobr></code>, rather than at zero. NDISASM,which assumes by default that any file you give it is loaded at zero, willtherefore need to be informed of this.<p>The <code><nobr>-o</nobr></code> option allows you to declare adifferent origin for the file you are disassembling. Its argument may beexpressed in any of the NASM numeric formats: decimal by default, if itbegins with `<code><nobr>$</nobr></code>' or `<code><nobr>0x</nobr></code>'or ends in `<code><nobr>H</nobr></code>' it's<code><nobr>hex</nobr></code>, if it ends in `<code><nobr>Q</nobr></code>'it's <code><nobr>octal</nobr></code>, and if it ends in`<code><nobr>B</nobr></code>' it's <code><nobr>binary</nobr></code>.<p>Hence, to disassemble a <code><nobr>.COM</nobr></code> file:<p><pre>       ndisasm -o100h filename.com</pre><p>will do the trick.<h4><a name="section-A.3.2">A.3.2 Code Following Data: Synchronisation</a></h4><p>Suppose you are disassembling a file which contains some data whichisn't machine code, and <em>then</em> contains some machine code. NDISASMwill faithfully plough through the data section, producing machineinstructions wherever it can (although most of them will look bizarre, andsome may have unusual prefixes, e.g.`<code><nobr>FS OR AX,0x240A</nobr></code>'), and generating `DB'instructions ever so often if it's totally stumped. Then it will reach thecode section.<p>Supposing NDISASM has just finished generating a strange machineinstruction from part of the data section, and its file position is now onebyte <em>before</em> the beginning of the code section. It's entirelypossible that another spurious instruction will get generated, startingwith the final byte of the data section, and then the correct firstinstruction in the code section will not be seen because the starting pointskipped over it. This isn't really ideal.<p>To avoid this, you can specify a`<code><nobr>synchronisation</nobr></code>' point, or indeed as manysynchronisation points as you like (although NDISASM can only handle 8192sync points internally). The definition of a sync point is this: NDISASMguarantees to hit sync points exactly during disassembly. If it is thinkingabout generating an instruction which would cause it to jump over a syncpoint, it will discard that instruction and output a`<code><nobr>db</nobr></code>' instead. So it <em>will</em> startdisassembly exactly from the sync point, and so you <em>will</em> see allthe instructions in your code section.<p>Sync points are specified using the <code><nobr>-s</nobr></code> option:they are measured in terms of the program origin, not the file position. Soif you want to synchronise after 32 bytes of a<code><nobr>.COM</nobr></code> file, you would have to do<p><pre>       ndisasm -o100h -s120h file.com</pre><p>rather than<p><pre>       ndisasm -o100h -s20h file.com</pre><p>As stated above, you can specify multiple sync markers if you need to,just by repeating the <code><nobr>-s</nobr></code> option.<h4><a name="section-A.3.3">A.3.3 Mixed Code and Data: Automatic (Intelligent) Synchronisation </a></h4><p>Suppose you are disassembling the boot sector of a<code><nobr>DOS</nobr></code> floppy (maybe it has a virus, and you need tounderstand the virus so that you know what kinds of damage it might havedone you). Typically, this will contain a <code><nobr>JMP</nobr></code>instruction, then some data, then the rest of the code. So there is a verygood chance of NDISASM being <em>misaligned</em> when the data ends and thecode begins. Hence a sync point is needed.<p>On the other hand, why should you have to specify the sync pointmanually? What you'd do in order to find where the sync point would be,surely, would be to read the <code><nobr>JMP</nobr></code> instruction, andthen to use its target address as a sync point. So can NDISASM do that foryou?<p>The answer, of course, is yes: using either of the synonymous switches<code><nobr>-a</nobr></code> (for automatic sync) or<code><nobr>-i</nobr></code> (for intelligent sync) will enable<code><nobr>auto-sync</nobr></code> mode. Auto-sync mode automaticallygenerates a sync point for any forward-referring PC-relative jump or callinstruction that NDISASM encounters. (Since NDISASM is one-pass, if itencounters a PC-relative jump whose target has already been processed,there isn't much it can do about it...)<p>Only PC-relative jumps are processed, since an absolute jump is eitherthrough a register (in which case NDISASM doesn't know what the registercontains) or involves a segment address (in which case the target codeisn't in the same segment that NDISASM is working in, and so the sync pointcan't be placed anywhere useful).<p>For some kinds of file, this mechanism will automatically put syncpoints in all the right places, and save you from having to place any syncpoints manually. However, it should be stressed that auto-sync mode is<em>not</em> guaranteed to catch all the sync points, and you may stillhave to place some manually.<p>Auto-sync mode doesn't prevent you from declaring manual sync points: itjust adds automatically generated ones to the ones you provide. It'sperfectly feasible to specify <code><nobr>-i</nobr></code> <em>and</em>some <code><nobr>-s</nobr></code> options.<p>Another caveat with auto-sync mode is that if, by some unpleasant fluke,something in your data section should disassemble to a PC-relative call orjump instruction, NDISASM may obediently place a sync point in a totallyrandom place, for example in the middle of one of the instructions in yourcode section. So you may end up with a wrong disassembly even if you useauto-sync. Again, there isn't much I can do about this. If you haveproblems, you'll have to use manual sync points, or use the<code><nobr>-k</nobr></code> option (documented below) to suppressdisassembly of the data area.<h4><a name="section-A.3.4">A.3.4 Other Options</a></h4><p>The <code><nobr>-e</nobr></code> option skips a header on the file, byignoring the first N bytes. This means that the header is <em>not</em>counted towards the disassembly offset: if you give<code><nobr>-e10 -o10</nobr></code>, disassembly will start at byte 10 inthe file, and this will be given offset 10, not 20.<p>The <code><nobr>-k</nobr></code> option is provided with twocomma-separated numeric arguments, the first of which is an assembly offsetand the second is a number of bytes to skip. This <em>will</em> count theskipped bytes towards the assembly offset: its use is to suppressdisassembly of a data section which wouldn't contain anything you wanted tosee anyway.<h3><a name="section-A.4">A.4 Bugs and Improvements</a></h3><p>There are no known bugs. However, any you find, with patches ifpossible, should be sent to<a href="mailto:jules@dsf.org.uk"><code><nobr>jules@dsf.org.uk</nobr></code></a>or<a href="mailto:anakin@pobox.com"><code><nobr>anakin@pobox.com</nobr></code></a>,or to the developer's site at<a href="https://sourceforge.net/projects/nasm/"><code><nobr>https://sourceforge.net/projects/nasm/</nobr></code></a>and we'll try to fix them. Feel free to send contributions and new featuresas well.<p>Future plans include awareness of which processors certain instructionswill run on, and marking of instructions that are too advanced for someprocessor (or are <code><nobr>FPU</nobr></code> instructions, or areundocumented opcodes, or are privileged protected-mode instructions, orwhatever).<p>That's All Folks!<p>I hope NDISASM is of some use to somebody. Including me. :-)<p>I don't recommend taking NDISASM apart to see how an efficientdisassembler works, because as far as I know, it isn't an efficient oneanyway. You have been warned.<p align=center><a href="nasmdocb.html">Next Chapter</a> |<a href="nasmdo10.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一区二区三区免费野_久草精品视频
成人黄色大片在线观看| 国产精品美女久久久久久久久 | 欧美精品一二三四| 国产日韩欧美精品在线| 亚洲一级在线观看| 成人一区二区在线观看| 欧美私模裸体表演在线观看| 欧美精品一区二区三区久久久| 国产精品国产三级国产有无不卡| 亚洲一区二区三区四区在线免费观看 | 国产乱码精品1区2区3区| 91国产成人在线| 久久久久久久电影| 成人精品高清在线| 精品1区2区3区| 精品一区二区av| 亚洲精品国久久99热| 美女国产一区二区| 2017欧美狠狠色| 国产精品久久久一本精品| 91丝袜美女网| 国产一区二三区好的| 日韩一区中文字幕| 国产欧美一区二区精品性色| 91色在线porny| 国产精品一二三区| 青青草视频一区| 日日夜夜一区二区| 亚洲精品成人少妇| 色婷婷av一区二区三区大白胸| 欧美一区二区在线播放| 亚洲乱码国产乱码精品精的特点 | 99国产欧美久久久精品| 欧美日本一区二区三区| 亚洲另类中文字| 欧美性猛交xxxx乱大交退制版 | 亚洲国产日韩精品| 欧美三级电影在线看| 亚洲高清免费观看高清完整版在线观看| 国产69精品久久久久毛片| 国产精品久久久久久久久免费桃花 | 成人教育av在线| 亚洲男女毛片无遮挡| av午夜一区麻豆| 一区二区三区四区国产精品| 欧美日韩综合色| 国产成人aaa| √…a在线天堂一区| 日韩一级黄色大片| 成人av免费在线播放| 天天影视色香欲综合网老头| 精品捆绑美女sm三区| 美女视频免费一区| 亚洲第一av色| 午夜欧美在线一二页| 蜜桃精品在线观看| 国产一区不卡在线| 久久狠狠亚洲综合| 韩国精品久久久| 91网站视频在线观看| 色综合久久综合| 欧美三日本三级三级在线播放| 日本高清无吗v一区| 色久优优欧美色久优优| 在线观看区一区二| 69久久夜色精品国产69蝌蚪网| 欧美日韩在线电影| 欧美一卡2卡三卡4卡5免费| 久久久一区二区| 中文字幕一区二区三区在线播放 | 国产一区二区精品久久| 国产老妇另类xxxxx| 一本到不卡免费一区二区| 在线中文字幕一区二区| 91.com视频| 国产日韩欧美一区二区三区综合| 精品成人佐山爱一区二区| 最新成人av在线| 免费av成人在线| 91国在线观看| 国产欧美视频一区二区| 亚洲一区二区三区四区五区黄| 国内精品国产三级国产a久久| 一本色道久久综合亚洲91 | 首页国产欧美久久| 99精品国产91久久久久久| 精品999久久久| 午夜精品影院在线观看| 成人黄动漫网站免费app| 欧美日韩一本到| 国产精品成人免费精品自在线观看| 一区二区三区欧美激情| 国产99久久久久| www激情久久| 麻豆国产欧美日韩综合精品二区| 91色porny| 亚洲第一搞黄网站| 久久综合久久综合亚洲| 国产成人99久久亚洲综合精品| 一区二区中文字幕在线| 欧美人与禽zozo性伦| 国产宾馆实践打屁股91| 国产成人在线视频免费播放| 亚洲va国产天堂va久久en| 日韩美一区二区三区| 欧美一区日韩一区| 一区二区免费在线| 久久亚洲私人国产精品va媚药| 91日韩精品一区| 国产精品一区二区在线观看网站| 夜夜操天天操亚洲| 在线看国产日韩| 国产精品一区在线观看你懂的| 5566中文字幕一区二区电影| 久久久久久久久久久久久久久99| 爽好久久久欧美精品| 成人激情免费视频| 蜜桃av噜噜一区二区三区小说| 成人欧美一区二区三区黑人麻豆| 91麻豆精品国产自产在线| 91猫先生在线| 成人黄页毛片网站| 国产精品18久久久久久久网站| 美国欧美日韩国产在线播放| 亚洲一二三四在线观看| 一区二区三区国产豹纹内裤在线| 久久免费视频一区| 久久亚洲一级片| 久久亚洲一级片| 久久精品一区二区三区四区| 国产亚洲欧洲一区高清在线观看| 欧美一区二区精品| 久久―日本道色综合久久| 精品久久一二三区| 国产欧美日韩精品一区| 国产精品国产三级国产aⅴ中文| |精品福利一区二区三区| 国产免费观看久久| 91丝袜美腿高跟国产极品老师 | 3751色影院一区二区三区| 国产午夜一区二区三区| 91原创在线视频| 国产美女视频一区| 日本人妖一区二区| 国产精品传媒入口麻豆| 欧美日韩国产综合一区二区三区 | 亚洲综合色自拍一区| 欧美性色综合网| 色噜噜狠狠成人网p站| 欧美日韩国产小视频在线观看| 91亚洲精品一区二区乱码| 另类成人小视频在线| av影院午夜一区| 成人一区二区三区视频| 韩国精品久久久| 精品一二三四在线| 国内精品第一页| 国产一区二区三区在线看麻豆 | 大白屁股一区二区视频| 国产精品一卡二| 国产成人亚洲综合a∨猫咪| 精品福利一区二区三区| 亚洲视频中文字幕| 中文字幕中文字幕中文字幕亚洲无线| 国产日韩欧美电影| 欧美激情一区二区| 国产精品热久久久久夜色精品三区| 亚洲国产成人午夜在线一区| 国产欧美综合在线| 国产精品久久国产精麻豆99网站| 日本一区二区三区dvd视频在线| 日本一区二区不卡视频| 亚洲日穴在线视频| 亚洲国产精品久久人人爱蜜臀 | 日韩一区二区三区视频在线 | 亚洲国产毛片aaaaa无费看| 午夜伊人狠狠久久| 麻豆视频一区二区| 国产a区久久久| 色呦呦国产精品| 欧美老人xxxx18| 久久亚洲春色中文字幕久久久| 久久精品人人爽人人爽| 亚洲三级在线看| 日韩av不卡一区二区| 国产一区二区三区香蕉| 99久久99久久综合| 777奇米成人网| 国产女人aaa级久久久级| 国产精品久久夜| 一区二区三区在线观看视频| 奇米综合一区二区三区精品视频 | 午夜电影网一区| 国产毛片精品国产一区二区三区| 国产露脸91国语对白| www.亚洲人| 91 com成人网| 中文字幕一区二区三中文字幕| 日本不卡一区二区三区| 成人av影视在线观看|