#contents
----
¥¢¥»¥ó¥Ö¥ê¸À¸ì¤Ë´Ø¤¹¤ë¥ê¥ó¥¯½¸
-&topicpath;

*''¾ðÊó'' [#Info]

**µ»½Ñ¾ðÊó
-¹ñÆâ
:[[Technical Assembler:http://www.e-net.or.jp/user/missing-link/assembler/menu.html]]|
:[[64¥Ó¥Ã¥ÈCPU(AMD64+EM64T)¤Ç¥¢¥»¥ó¥Ö¥é:http://www.marbacka.net/asm64/]]|
:[[Iimori's Home Page:http://www.bekkoame.ne.jp/~iimori/]]|PowerPC¸þ¤±¤ËºÇŬ²½¤·¤¿ ANSI strlen() / memchr()¤Î¥³¡¼¥ÉÅù¡£
:[[Ç­¼ªÄÌ¿®¼Ò > Programming¹ÖºÂ:http://tmhiko.hp.infoseek.co.jp/nekomimi_com/Pro_tips/assem/]]|
:[[¥«¥ì¡¼²¹Àô > ºÇŬ²½¤Î°Ù¤Î¥¢¥»¥ó¥Ö¥éÆþÌç:http://ray.sakura.ne.jp]]|
:[[Ìܻؤ»¥×¥í¥°¥é¥Þ¡¼:http://www5c.biglobe.ne.jp/~ecb/]]|x86·Ï(8086·Ï)¥¢¥»¥ó¥Ö¥éÆþÌç

-³¤³°
:[[Agner Fog Research > Assembly resources:http://www.agner.org]]|
:[[Optimizing assembly code:http://www.agner.org/assem/]] / [[ÆüËܸìÌõ:http://hp.vector.co.jp/authors/VA003988/how_to_o.htm]]|
:[[With Unz - an Advanced Optimization for x86-CPU -:http://homepage1.nifty.com/herumi/]]|introduction to x86-assembler
:[[3D Buzz > Vector normalization done fast:http://www.3dbuzz.com/vbforum/showthread.php?t=104753&page=1]]|SSE3¤¬ÍøÍѲÄǽ¤«È½Äꤹ¤ëÊýË¡Åù¡£
:[[chris wright > SIMD Instruction Sets:http://softpixel.com/~cwright/programming/simd/]]|CPUID¤Î¼èÆÀÅù¡£
:[[HOW TO OPTIMIZE FOR THE PENTIUM PROCESSOR (In Japanese):http://hp.vector.co.jp/authors/VA003988/pentopt.htm]]|¤³¤Î¥Ú¡¼¥¸¤Ï¡¢Agner Fog¤µ¤ó¤Ë¤è¤ëƱ̾¤Î¥Þ¥Ë¥å¥¢¥ë¤Î¡¢Æ£ÇȽçµ×¤Ë¤è¤ëÆüËܸìÌõ¤Ç¤¹¡£

***MASM
:[[¥×¥í¥°¥é¥Þ¤Î±£¤ìΤ:http://www7.plala.or.jp/keny01/]]|[[»¨Ê¸¤ÎÉô²°:http://www7.plala.or.jp/keny01/sub/]]¤Ë¤â¥ê¥ó¥¯½¸¤¬¤¢¤ë¡£
:[[Iczelion's Win32 Assembly Homepage:http://spiff.tripnet.se/~iczelion/tutorials.html]]|Tutorial

***NASM
:[[Jun's Homepage > Linux ¤Ç¥¢¥»¥ó¥Ö¥ê¥×¥í¥°¥é¥ß¥ó¥°:http://www.nk.rim.or.jp/~jun/lxasm/asm00.html]]|¥¢¥»¥ó¥Ö¥é¤ò»È¤Ã¤Æ Linux ¤Î¥×¥í¥°¥é¥ß¥ó¥°¤ÇÍ·¤ó¤Ç¤ß¤Þ¤¹¡¥¥¢¥»¥ó¥Ö¥é¤Ë¤Ï NASM ¤ò»ÈÍѤ·¤Æ¡¤¥«¡¼¥Í¥ë¤òľÀÜÍøÍѤ¹¤ë¤³¤È¤Ë¤·¤Þ¤¹¡¥

***as/gas/GCC inline asm
:[[GCC¤Ç¥¤¥ó¥é¥¤¥ó¥¢¥»¥ó¥Ö¥ê¤ò»ÈÍѤ¹¤ëÊýË¡¤Èα°ÕÅÀÅù for x86:http://www.mars.sannet.ne.jp/sci10/on_gcc_asm.html]]|°Ê²¼¤Î¾ðÊó¤Ï¤¢¤Þ¤ê²áÅ٤˿®ÍѤ·¤Ê¤¤¤Ç²¼¤µ¤¤¡£¤è¤êÀµ³Î¤Ê¾ðÊó¤Ï¡¢as¤ägcc¤Îinfo¤«¤éÆÀ¤Æ²¼¤µ¤¤¡£¸Ä¡¹¤Î¥×¥í¥»¥Ã¥µÌ¿Îá¤Î²òÀâ¤Ï¤³¤³¤Ç¤Ï½Ò¤Ù¤Þ¤»¤ó¡£¤½¤Î¤è¤¦¤Êµ»½Ñ»ñÎÁ¤Ï¡¢¥¤¥ó¥Æ¥ë¤äAMD¤Î¥¦¥§¥Ö¥µ¥¤¥È¤ÎDeveloper¸þ¤±¤Î¥Ú¡¼¥¸¤«¤épdf·Á¼°¤ÇÆþ¼ê¤Ç¤­¤Þ¤¹¡£ 
:[[altanative¥Þ¥¯¥í¤Ç³Ø¤ÖgasÆþÌç:http://mkosaki.blog46.fc2.com/blog-entry-166.html]]|
:[[memologue > ¥¤¥ó¥é¥¤¥ó¥¢¥»¥ó¥Ö¥é¤ò»î¤·¤Æ¤ß¤¿:http://d.hatena.ne.jp/yupo5656/20040601/p1]]|Ãí°Õ»ö¹àÅù¡£
:[[Jun's Homepage > Linux Zaurus¤Ç¥¢¥»¥ó¥Ö¥ê¥×¥í¥°¥é¥ß¥ó¥°:http://www.nk.rim.or.jp/~jun/slasm/arm_idx.html]]|ARM¥×¥í¥»¥Ã¥µ¸þ¤±¾ðÊó¡£
:[[Linux Assembly:http://asm.sf.net]]|If you are looking for information on assembly programming under UNIX-like operating systems (Linux/BSD/BeOS/etc), this is the right place to be.

**»ÅÍÍ/µ¬³Ê
:[[Intel® Pentium4® ¥×¥í¥»¥Ã¥µ´ØÏ¢¥Þ¥Ë¥å¥¢¥ë:http://developer.intel.com/design/Pentium4/documentation.htm]]|
:[[Intel® Pentium­·® ¥×¥í¥»¥Ã¥µ´ØÏ¢¥Þ¥Ë¥å¥¢¥ë:http://developer.intel.com/design/pentiumiii/documentation.htm#man]]|
:[[Intel® Pentium® ¥×¥í¥»¥Ã¥µ´ØÏ¢¥Þ¥Ë¥å¥¢¥ë:http://developer.intel.com/design/archives/processors/index.htm]]|
:[[AMD64 Architecture Tech Docs:http://www.amd.com/us-en/Processors/DevelopWithAMD/0,,30_2252_739_7044,00.html]]|
:[[3DNow!™ Technology Tech Docs:http://www.amd.com/us-en/Processors/DevelopWithAMD/0,,30_2252_739_1102%5E1144,00.html]]|
:[[AMD-K6™ Processor Tech Docs:http://www.amd.com/us-en/Processors/DevelopWithAMD/0,,30_2252_739_1102,00.html]]|
:[[Sony Computer Entertainment Inc. > Cell Broadband Engine:http://cell.scei.co.jp/j_download.html]]|Cell Broadband Engine™ (CBE) ¸ø³«¾ðÊó¡¿¥À¥¦¥ó¥í¡¼¥É
:[[Power.org:http://www.power.org]]|IBM has announced plans to make the specifications of the PowerPC 405 core freely available to the academic and research community.
:[[AMD 128-Bit SSE5 Instruction Set:http://developer.amd.com/sse5.jsp]]|

-µ¬³Ê¾ðÊó
:[[HERO'S Download:http://reef.path.ne.jp/~hero/hero.htm]]|³Æ¼ï¥Ç¡¼¥¿¥·¡¼¥È¤ÎDownload¡£
:[[Ando's Processor Information Page:http://www.geocities.jp/andosprocinfo/]]| WebÆâ¤Ç¸ø³«¤µ¤ì¤Æ¤¤¤ë¥Þ¥¤¥¯¥í¥×¥í¥»¥µ´Ø·¸¤Î¥Ç¡¼¥¿¥·¡¼¥È¤ä¥Þ¥Ë¥å¥¢¥ë¡¤ÏÀʸÅù¤Î¼ã´³¤Î²òÀâ¤È¥ê¥ó¥¯½¸¤Ç¤¹¡£²òÀâ¤ÏÆüËܸì¤Ç¤¹¤¬¡¤¥ê¥ó¥¯¤ÏÂçȾ¤¬Êƹñ¤Î¤â¤Î¤Ê¤Î¤Ç¥ê¥ó¥¯Àè¤Î¥É¥­¥å¥á¥ó¥È¤ÏËØ¤É±Ñ¸ì¤Ç¤¹¡£
:[[ASCII24 > Akiba2Go! > ¡ÚºÇ¿·¥Ñ¡¼¥ÄÀ­Ç½¥Á¥§¥Ã¥¯(Vol.23)¡Û¤¤¤è¤¤¤è¥×¥ì¥¹¥³¥Ã¥ÈÅоì(PART2)¡ª:http://akiba.ascii24.com/akiba/column/latestparts/2004/03/01/648472-000.html]]|SSE3¤Î¿À¿ñ¤ËÀ¤³¦¤Ç½é¤á¤Æ¿¨¤ì¤ë¡ª
:[[»çÀî > x86CPU¤Î¿ôÃͱ黻µ¡¹½:http://homepage3.nifty.com/murasakigawa/tech/x86arith/]]|
:[[DDJ Microprocessor Center:http://x86.ddj.com]]|³¤³°¥µ¥¤¥È¡£

-SIMD(Single Instruction/Multiple Data) CPUIDs
~MMX/SSE/SSE2/SSE3/SSE4
 CPUID.01H:EDX.MMX  [bit 23] 
 CPUID.01H:EDX.SSE  [bit 25]
 CPUID.01H:EDX.SSE2 [bit 26]
 CPUID.01H:ECX.SSE3 [bit 0]
 CPUID.01H:ECX.SSE4 [bit 9]
3DNow!/Enhanced 3DNow!
 CPUID.80000001H:EDX.3DNow!  [bit 31] 
 CPUID.80000001H:EDX.E3DNow! [bit 30]

*''Assembler'' [#Assembler]
:[[gas(GNU assembler):http://www.gnu.org/software/binutils/]]|
:[[NASM(The Netwide Assembler):http://sf.net/projects/nasm]] <LGPL>|NASM is an 80x86 assembler designed for portability and modularity. It supports a range of object file formats including Linux a.out and ELF, COFF, Microsoft 16-bit OBJ and Win32.
:[[MASM(Microsoft Macro Assembler):http://msdn.microsoft.com/ja-jp/library/afzk3475.aspx]]|[[DDK(Device Driver Development Kit)>Microsoft VisualC++#DDK]]¤ËÉÕ¤¤¤Æ¤¯¤ë¡£
:[[MASM32:http://www.masm32.com]] / http://www.movsd.com <[[URL:http://www.masm32.com/mlicence.htm]]>|MASM32 version 9 is a working development for programmers who are interested in either learning or writing 32 bit Microsoft assembler (MASM). 
:[[NWSA(NOWSMART ASSEMBLER):http://www.vector.co.jp/soft/win95/prog/se183316.html]]|MASM Ver 5.00 ¤Ë½àµò¤·¤¿¥¢¥»¥ó¥Ö¥é¤Ç¤¹¡£
:[[FASM(flat assembler):http://www.flatassembler.net]] / http://sf.net/projects/fasm <BSD>|Fast and efficient self-assembling 80x86 assembler for DOS/Win32/Linux; with 8086-80486/Pentium/MMX/SSE/SSE2/SSE3 instructions support, 16-bit/32-bit code, binary/MZ/PE/COFF/ELF output formats.
:[[Adebug/Assemble:http://sf.net/projects/adebug]] <GPL>|Adebug/Assemble is a pair of Debugger/Assembler for the MC68Xxx family running on Atari and Amiga computers. Years ago commercial product, now GPL.
:[[The Yasm Modular Assembler Project:http://www.tortall.net/projects/yasm/]] <BSD>|Yasm is a complete rewrite of the NASM assembler under the "new" BSD License (some portions are under other licenses, see COPYING for details). It is designed from the ground up to allow for multiple assembler syntaxes to be supported (eg, NASM, TASM, GAS, etc.) in addition to multiple output object formats and even multiple instruction sets. Another primary module of the overall design is an optimizer module. 
:[[LZASM(Lazy Assembler):http://lzasm.hotbox.ru]]|LZASM is an x86 assembler for DOS and Windows that handles the TASM (Turbo Assembler) IDEAL mode and produces OMF OBJ files. Support MMX, SSE, SSE2, SSE3 (PNI), 3DNow!Pro instructions.

*''Library'' [#Library]
:[[MASM¥é¥¤¥Ö¥é¥ê:http://www.vector.co.jp/soft/dos/prog/se010298.html]]|¤³¤ì¤Ï¥Þ¥¤¥¯¥í¥½¥Õ¥È¤Î¥Þ¥¯¥í¥¢¥»¥ó¥Ö¥é(V5.1°Ê¾å)ÍѤ˺î¤Ã¤¿´Ø¿ô¤Î¥é¥¤¥Ö¥é¥ê¤Ç,MS-DOS¾å¤ÇÁö¤ë¥¢¥»¥ó¥Ö¥é¥×¥í¥°¥é¥à¤Î³«È¯¤ò»Ù±ç¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£
:[[libASM:http://www.fowelin.de/christian/computer/]] <LGPL>|This is the libASM. It is for all you assembly freaks, who want to write pure assembly under the best OS (Linux) using the NASM.
:[[AsmXml:http://mkerbiquet.free.fr/asm-xml/]] <BSD>|AsmXml is a very fast XML parser and decoder for x86 platforms. It achieves high speed by using the following features:
++Support of an XML subset only
++Written in pure assembler
++Optimized memory accesses
++Parsing and decoding at the same time
:[[Xbyak - x86, x64 JIT assembler -:http://homepage1.nifty.com/herumi/soft/xbyak.html]] <BSD>|Xbyak(¥«¥¤¥Ó¥ã¥Ã¥¯)¤Ïx86(IA32), x64(AMD64, x86-64)¤Î¥Þ¥·¥ó¸ìÌ¿Îá¤òÀ¸À®¤¹¤ëC++¤Î¥¯¥é¥¹¥é¥¤¥Ö¥é¥ê¤Ç¤¹. ¥×¥í¥°¥é¥à¼Â¹Ô»þ¤ËưŪ¤Ë¥¢¥»¥ó¥Ö¥ë¤¹¤ë¤³¤È¤¬²Äǽ¤Ê¤¿¤á, ½ÀÆð¤ÊºÇŬ²½(ưŪ¥³¡¼¥ÉÀ¸À®)¤¬²Äǽ¤È¤Ê¤ê¤Þ¤¹(ÍøÍÑ¥·¡¼¥ó:Î̻Ҳ½¤Î¹â®²½, ¼°¤Î·×»»).
:[[The SSE'''Plus''' Project:http://developer.amd.com/cpu/Libraries/sseplus/Pages/default.aspx]] / http://sf.net/projects/sseplus <Apache License V2.0>|SSEPlus is a SIMD function library. It provides optimized emulation for newer SSE instructions. It also provides a rich set of high performance routines for common operations such as arithmetic, bitwise logic, and data packing and unpacking. 

-SDK(Software Development Kit)
:[[Intel SDK for 45nm Next Generation Intel&reg; Core&trade;2 Processor Family and Intel&reg; SSE4 (Penryn SDK):http://softwarecommunity.intel.com/articles/eng/1193.htm]]|Windows´Ä¶­¸þ¤±¤ÎSSE4¥¨¥ß¥å¥ì¡¼¥¿DLL¤ä¡¢VisualStudio 2005¤ÎMASM¸þ¤±¤ÎSSE4¥Þ¥¯¥í¤¬ÉÕ°¤¹¤ë¡£

*''Tool'' [#Tool]
:[[HLA(High Level Assembly Language):http://freshmeat.net/projects/hla]]|The HLA (High Level Assembly) language was developed as a tool to help teach assembly language programming and machine organization to University students at the University of California, Riverside. The basic idea was to teach students assembly language programming by leveraging their knowledge of high level languages like C/C++ and Pascal/Delphi.
:[[AsmSrc:http://sf.net/projects/asmsrc]]|asmsrc generates assembler assembler source files from Linux executables. Library calls are detected along with symbols and other information found in ELF executable files. Generated source file is in nasm format.
:[[Intel2GAS:http://www.niksula.hut.fi/~mtiihone/intel2gas/]]|Intel2GAS is a converter that will convert assembler source files written for NASM to files that can be assembled using the GNU Assembler (GAS), on the i386 platform. It provides support for basic MMX instructions as well.
:[[¥í¡¼¥É¥ì¥¤¥Æ¥ó¥·¡¦ÂÓ°è·×¬¥Ä¡¼¥ë:http://www.geocities.co.jp/SiliconValley-Oakland/8071/loadbench.html]]|PC/AT¸ß´¹µ¡MS-DOSÍÑ Intel P6·Ï, Pentium4, AMD Athlon¸þ¤±¤Î¥í¡¼¥É¥ì¥¤¥Æ¥ó¥·¡¢¥í¡¼¥ÉÂÓ°è¡¢¥¹¥È¥¢ÂÓ°è¤ò·×¬¤¹¤ë¥Ä¡¼¥ë¤Ç¤¹¡£

*''»²¹Í½ñÀÒ'' [#Books]

**Ͻñ
:&amazon(4774114421,title);|
:&amazon(4756144667,title);|
:&amazon(4798008532,title);|¼ÂÁ©Åª¤ÊÆâÍÆ¡£Ãø¼Ô¤Ï [[¤ä¤Í¤¦¤é¤ª:http://yaneu.com]]»á
:&amazon(4887188293,title);|
:&amazon(479810955X,title);|
:&amazon(4797332816,title);|
:&amazon(4789833429,title);|
:&amazon(4839918201,title);|
:&amazon(4839920230,title);|
:&amazon(4798017051,title);|
:&amazon(4048675095,title);|
:&amazon(4798022543,title);|
:&amazon(4774138428,title);|

-MASM
:&amazon(4874083838,title);|
:&amazon(4871483134,title);|
:&amazon(4877832114,title);|[[¥µ¥Ý¡¼¥È¥Ú¡¼¥¸:http://www.cutt.co.jp/book/978-4-87783-211-7.html]]

-SIMD
:&amazon(4877831398,title);|
:&amazon(487783169X,title);|[[¥µ¥Ý¡¼¥È¥Ú¡¼¥¸:http://www.spacesoft.co.jp/Books/books.html]]
:&amazon(4877831703,title);|[[¥µ¥Ý¡¼¥È¥Ú¡¼¥¸:http://www.spacesoft.co.jp/Books/books.html]]
:&amazon(4877832440,title);|

-¥×¥í¥»¥Ã¥µ´ØÏ¢
:&amazon(4756102131,title);|
:&amazon(4789833291,title);|
:&amazon(4789833577,title);|
:&amazon(4789833518,title);|
:&amazon(4274063763,title);|
:&amazon(4774127353,title);|

-Çã¤Ã¤¿¤éÂÌÌÜËÜ
:&amazon(4839912025,title);|¡Ú·Ù¹ð¡ÛÆâÍÆ¤Ë¥Ç¥¿¥é¥á¤¬Â¿¤¤¤³¤È¤Çͭ̾¤Ê°­½ñ¡£
:&amazon(4839917183,title);|
:&amazon(4757211511,title);|¡Ú·Ù¹ð¡Û²þ¤¥Ä¡¼¥ë¤ÎÀâÌÀ½ñ°Ê²¼¤ÎÆâÍÆ¤ÇÌò¤ËΩ¤¿¤Ê¤¤¡£

**Íνñ
:&amazon(1886411972,title);|
:&amazon(0130879401,title);|
:&amazon(1592003516,title);|¥¤¥ó¥é¥¤¥ó¥¢¥»¥ó¥Ö¥é¤Ë¤è¤ëSSE¤Î¼ÂÁõ¥³¡¼¥ÉÅù¡£
:&amazon(0130491462,title);|