nasm2.06源程序

  • r9_613140
    了解作者
  • 1.8MB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-06-01 04:52
    上传日期
nasm2.06源程序和源代码。用于dos和windows编程。
nasm.rar
  • nasm-2.06rc1-win32
  • ndisasm.exe
    253.5KB
  • COPYING
    26.3KB
  • rdoff
  • ldrdf.exe
    30.5KB
  • rdf2com.exe
    19KB
  • rdflib.exe
    9.5KB
  • rdf2bin.exe
    19KB
  • rdf2ihx.exe
    19.5KB
  • rdx.exe
    13.5KB
  • rdfdump.exe
    15.5KB
  • nasm-2.06rc1源代码
  • eval.c
    26.3KB
  • version
    9B
  • tokens.h
    243B
  • regflags.c
    5.4KB
  • version.h
    282B
  • insnsn.c
    18.1KB
  • sync.h
    456B
  • COPYING
    26.3KB
  • perllib
  • random_sv_vectors.ph
    3.6KB
  • phash.ph
    4.9KB
  • README
    140B
  • crc64.ph
    7.8KB
  • gensv.pl
    656B
  • phash.pl
    994B
  • listing.c
    7.6KB
  • sync.c
    2.7KB
  • stdscan.h
    565B
  • raa.h
    1.6KB
  • standard.mac
    3KB
  • insns.dat
    211.6KB
  • nasm.1
    11KB
  • outform.c
    1.9KB
  • tokhash.c
    150.5KB
  • listing.h
    413B
  • regs.h
    6.7KB
  • Mkfiles
  • netware.mak
    8.9KB
  • openwcom.mak
    11.2KB
  • msvc.mak
    10.4KB
  • README
    1.5KB
  • owlinux.mak
    11.7KB
  • aclocal.m4
    547B
  • float.c
    24.9KB
  • raa.c
    2.4KB
  • disasm.c
    36.3KB
  • compiler.h
    4KB
  • test
  • imacro.asm
    143B
  • addr64x.asm
    865B
  • elfso.asm
    2.8KB
  • invlpga.asm
    295B
  • testnos3.asm
    16.2KB
  • iftoken.pl
    785B
  • jmp64.asm
    294B
  • zerobyte.asm
    341B
  • floatize.asm
    529B
  • multisection.asm
    1.9KB
  • smartalign16.asm
    468B
  • br560873.asm
    612B
  • far64.asm
    225B
  • perf
  • label.pl
    331B
  • token.pl
    459B
  • macro.pl
    341B
  • iftoken.asm
    4.2KB
  • test67.asm
    633B
  • xchg.asm
    1.2KB
  • changed.asm
    10.8KB
  • _version.asm
    86B
  • cofftest.c
    967B
  • a32offs.asm
    282B
  • tmap.nas
    44.5KB
  • uscore.asm
    501B
  • br1879590.asm
    564B
  • fwdoptpp.asm
    2.3KB
  • float8.asm
    2.6KB
  • xcrypt.asm
    338B
  • br2222615.asm
    377B
  • floatexp.asm
    13.2KB
  • andbyte.asm
    364B
  • riprel.asm
    183.2KB
  • nullfile.asm
    157B
  • float.asm
    3.4KB
  • riprel.pl
    764B
  • dtbcd.asm
    1.7KB
  • floatx.asm
    12.8KB
  • local.asm
    361B
  • radix.asm
    1.2KB
  • bcd.asm
    354B
  • fmsub.asm
    674B
  • riprel2.asm
    314B
  • fpu.asm
    3.3KB
  • inctest.asm
    380B
  • insnlbl.asm
    270B
  • smartalign32.asm
    468B
  • floatb.asm
    716B
  • movnti.asm
    199B
内容介绍
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8"><meta name="generator" content="pdf2htmlEX"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><link rel="stylesheet" href="https://csdnimg.cn/release/download_crawler_static/css/base.min.css"><link rel="stylesheet" href="https://csdnimg.cn/release/download_crawler_static/css/fancy.min.css"><link rel="stylesheet" href="https://csdnimg.cn/release/download_crawler_static/1018907/raw.css"><script src="https://csdnimg.cn/release/download_crawler_static/js/compatibility.min.js"></script><script src="https://csdnimg.cn/release/download_crawler_static/js/pdf2htmlEX.min.js"></script><script>try{pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});}catch(e){}</script><title></title></head><body><div id="sidebar" style="display: none"><div id="outline"></div></div><div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://csdnimg.cn/release/download_crawler_static/1018907/bg1.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">Internals of the Netwide Assembler</div><div class="t m0 x1 h3 y3 ff1 fs0 fc0 sc0 ls0 ws0">==================================</div><div class="t m0 x1 h3 y4 ff1 fs0 fc0 sc0 ls0 ws0">The Netwide Assembler is intended to be a modular, re-usable x86</div><div class="t m0 x1 h3 y5 ff1 fs0 fc0 sc0 ls0 ws0">assembler, which can be embedded in other programs, for example as</div><div class="t m0 x1 h3 y6 ff1 fs0 fc0 sc0 ls0 ws0">the back end to a compiler.</div><div class="t m0 x1 h3 y7 ff1 fs0 fc0 sc0 ls0 ws0">The assembler is composed of modules. The interfaces between them</div><div class="t m0 x1 h3 y8 ff1 fs0 fc0 sc0 ls0 ws0">look like:</div><div class="t m0 x2 h3 y9 ff1 fs0 fc0 sc0 ls0 ws0"> +--- preproc.c ----+</div><div class="t m0 x2 h3 ya ff1 fs0 fc0 sc0 ls0 ws0"> |<span class="_ _0"> </span> |</div><div class="t m0 x2 h3 yb ff1 fs0 fc0 sc0 ls0 ws0"> +---- parser.c ----+</div><div class="t m0 x2 h3 yc ff1 fs0 fc0 sc0 ls0 ws0"> |<span class="_ _1"> </span> | |</div><div class="t m0 x2 h3 yd ff1 fs0 fc0 sc0 ls0 ws0"> | float.c |</div><div class="t m0 x2 h3 ye ff1 fs0 fc0 sc0 ls0 ws0"> |<span class="_ _0"> </span> |</div><div class="t m0 x2 h3 yf ff1 fs0 fc0 sc0 ls0 ws0"> +--- assemble.c ---+</div><div class="t m0 x2 h3 y10 ff1 fs0 fc0 sc0 ls0 ws0"> | | |</div><div class="t m0 x3 h3 y11 ff1 fs0 fc0 sc0 ls0 ws0">nasm.c ---+ insnsa.c +--- nasmlib.c</div><div class="t m0 x2 h3 y12 ff1 fs0 fc0 sc0 ls0 ws0"> |<span class="_ _0"> </span> |</div><div class="t m0 x2 h3 y13 ff1 fs0 fc0 sc0 ls0 ws0"> +--- listing.c ----+</div><div class="t m0 x2 h3 y14 ff1 fs0 fc0 sc0 ls0 ws0"> |<span class="_ _0"> </span> |</div><div class="t m0 x2 h3 y15 ff1 fs0 fc0 sc0 ls0 ws0"> +---- labels.c ----+</div><div class="t m0 x2 h3 y16 ff1 fs0 fc0 sc0 ls0 ws0"> |<span class="_ _0"> </span> |</div><div class="t m0 x2 h3 y17 ff1 fs0 fc0 sc0 ls0 ws0"> +--- outform.c ----+</div><div class="t m0 x2 h3 y18 ff1 fs0 fc0 sc0 ls0 ws0"> |<span class="_ _0"> </span> |</div><div class="t m0 x2 h3 y19 ff1 fs0 fc0 sc0 ls0 ws0"> +----- *out.c -----+</div><div class="t m0 x1 h3 y1a ff1 fs0 fc0 sc0 ls0 ws0">In other words, each of `preproc.c', `parser.c', `assemble.c',</div><div class="t m0 x1 h3 y1b ff1 fs0 fc0 sc0 ls0 ws0">`labels.c', `listing.c', `outform.c' and each of the output format</div><div class="t m0 x1 h3 y1c ff1 fs0 fc0 sc0 ls0 ws0">modules `*out.c' are independent modules, which do not directly</div><div class="t m0 x1 h3 y1d ff1 fs0 fc0 sc0 ls0 ws0">inter-communicate except through the main program.</div><div class="t m0 x1 h3 y1e ff1 fs0 fc0 sc0 ls0 ws0">The Netwide *Disassembler* is not intended to be particularly</div><div class="t m0 x1 h3 y1f ff1 fs0 fc0 sc0 ls0 ws0">portable or reusable or anything, however. So I won't bother</div><div class="t m0 x1 h3 y20 ff1 fs0 fc0 sc0 ls0 ws0">documenting it here. :-)</div><div class="t m0 x1 h3 y21 ff1 fs0 fc0 sc0 ls0 ws0">nasmlib.c</div><div class="t m0 x1 h3 y22 ff1 fs0 fc0 sc0 ls0 ws0">---------</div><div class="t m0 x1 h3 y23 ff1 fs0 fc0 sc0 ls0 ws0">This is a library module; it contains simple library routines which</div><div class="t m0 x1 h3 y24 ff1 fs0 fc0 sc0 ls0 ws0">may be referenced by all other modules. Among these are a set of</div><div class="t m0 x1 h3 y25 ff1 fs0 fc0 sc0 ls0 ws0">wrappers around the standard `malloc' routines, which will report a</div><div class="t m0 x1 h3 y26 ff1 fs0 fc0 sc0 ls0 ws0">fatal error if they run out of memory, rather than returning NULL.</div><div class="t m0 x1 h3 y27 ff1 fs0 fc0 sc0 ls0 ws0">preproc.c</div><div class="t m0 x1 h3 y28 ff1 fs0 fc0 sc0 ls0 ws0">---------</div><div class="t m0 x1 h3 y29 ff1 fs0 fc0 sc0 ls0 ws0">This contains a macro preprocessor, which takes a file name as input</div><div class="t m0 x1 h3 y2a ff1 fs0 fc0 sc0 ls0 ws0">and returns a sequence of preprocessed source lines. The only symbol</div><div class="t m0 x1 h3 y2b ff1 fs0 fc0 sc0 ls0 ws0">exported from the module is `nasmpp', which is a data structure of</div><div class="t m0 x1 h3 y2c ff1 fs0 fc0 sc0 ls0 ws0">type `Preproc', declared in nasm.h. This structure contains pointers</div><div class="t m0 x1 h3 y2d ff1 fs0 fc0 sc0 ls0 ws0">to all the functions designed to be callable from outside the</div><div class="t m0 x1 h3 y2e ff1 fs0 fc0 sc0 ls0 ws0">module.</div><div class="t m0 x1 h3 y2f ff1 fs0 fc0 sc0 ls0 ws0">parser.c</div><div class="t m0 x1 h3 y30 ff1 fs0 fc0 sc0 ls0 ws0">--------</div><div class="t m0 x1 h3 y31 ff1 fs0 fc0 sc0 ls0 ws0">This contains a source-line parser. It parses `canonical' assembly</div><div class="t m0 x1 h3 y32 ff1 fs0 fc0 sc0 ls0 ws0">source lines, containing some combination of the `label', `opcode',</div><div class="t m0 x1 h3 y33 ff1 fs0 fc0 sc0 ls0 ws0">`operand' and `comment' fields: it does not process directives or</div><div class="t m0 x1 h3 y34 ff1 fs0 fc0 sc0 ls0 ws0">macros. It exports two functions: `parse_line' and `cleanup_insn'.</div><div class="t m0 x1 h3 y35 ff1 fs0 fc0 sc0 ls0 ws0">`parse_line' is the main parser function: you pass it a source line</div></div></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div></body></html>
评论
    相关推荐