microsoft macro assembler - wikipedia, the free encyclopedia

Upload: beta2009

Post on 14-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 Microsoft Macro Assembler - Wikipedia, The Free Encyclopedia

    1/3

    Microsoft Macro Assembler

    Developer(s) Microsoft

    Stable release 11.00.60610.1 / June 26, 2013

    Operating system Microsoft Windows and MS-

    DOS

    Type Assembler

    License Microsoft EULA

    Microsoft Macro Assemblerm Wikipedia, the free encyclopedia

    e Microsoft Macro Assembler (MASM) is an x86 assembler

    t uses the Intel syntax for MS-DOS and Microsoft Windows.

    ginning with MASM 8.0 there are two versions of the assembler-

    e for 16-bit and 32-bit assembly sources, and another (ML64) for

    bit sources only.

    ASM is maintained by Microsoft, but since version 6.12 has not

    n sold as a separateproduct, it is instead supplied with various

    crosoft SDKs and C compilers. Recent versions of MASM are

    luded with Microsoft Visual Studio.

    Contents

    1 History

    2 Object module formats supported by MASM

    3 Some third-party tools that support MASM

    3.1 IDEs

    3.2 Debuggers

    3.3 Disassemblers

    4 Assemblers compatible with MASM

    5 See also

    6 References

    7 External links

    istory

    e earliest versions of MASM date back to 1981.[1]

    to version 5.0, MASM was available as an MS-DOS application only. Versions 5.1 and 6.0 were available as both

    S-DOS and OS/2 applications.[2]

    rsion 6.0, released in 1992, added high-level programming support and a more C-like syntax. By the end of the year,sion 6.1A updated the memory management tobe compatible with code produced by Visual C++. In 1993 full support

    32-bit applications and the Pentium instruction set was added. The MASM binary at that time was shipped as a "bi-

    dal" DOS-extended binary (using the Phar Lap TNT DOS extender).

    rsions 6.12 to 6.14 were implemented as patches for version 6.11. These patches changed the type of the binary to

    ive PE format; version 6.11 is the last version of MASM that will run under MS-DOS.

    the end of 1997 MASM fully supported Windows 95 and included some AMD-specific instructions.[3]

    1999 Intel released macros for SIMD and MMX instructions, which were shortly after supported natively by MASM.th the 6.15 release in 2000, Microsoft discontinued support for MASM as a separate product, instead subsuming it into

    Visual Studio toolset. Though it was still compatible with Windows 98, current versions of Visual Studio were not.[3]

    pport for 64-bit processors was not added until the release of Visual Studio 2005, with MASM 8.0.

    bject module formats supported by MASM

    http://en.wikipedia.org/wiki/SIMDhttp://en.wikipedia.org/wiki/MMX_(instruction_set)http://en.wikipedia.org/wiki/AMDhttp://en.wikipedia.org/wiki/Portable_Executablehttp://en.wikipedia.org/wiki/Phar_Lap_(company)http://en.wikipedia.org/wiki/Intel_P5_(microarchitecture)http://en.wikipedia.org/wiki/Software_development_kithttp://en.wikipedia.org/wiki/C_(programming_language)http://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/MS-DOShttp://en.wikipedia.org/wiki/64-bithttp://en.wikipedia.org/wiki/Software_developerhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/X86_assembly_languagehttp://en.wikipedia.org/wiki/MS-DOShttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Visual_Studio_2005http://en.wikipedia.org/wiki/Windows_98http://en.wikipedia.org/wiki/Visual_Studiohttp://en.wikipedia.org/wiki/MMX_(instruction_set)http://en.wikipedia.org/wiki/SIMDhttp://en.wikipedia.org/wiki/AMDhttp://en.wikipedia.org/wiki/Portable_Executablehttp://en.wikipedia.org/wiki/Phar_Lap_(company)http://en.wikipedia.org/wiki/Intel_P5_(microarchitecture)http://en.wikipedia.org/wiki/Visual_C%2B%2Bhttp://en.wikipedia.org/wiki/C_(programming_language)http://en.wikipedia.org/wiki/OS/2http://en.wikipedia.org/wiki/MS-DOShttp://en.wikipedia.org/wiki/MS-DOShttp://en.wikipedia.org/wiki/Microsoft_Visual_Studiohttp://en.wikipedia.org/wiki/C_(programming_language)http://en.wikipedia.org/wiki/Software_development_kithttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/64-bithttp://en.wikipedia.org/wiki/32-bithttp://en.wikipedia.org/wiki/16-bithttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/MS-DOShttp://en.wikipedia.org/wiki/X86_assembly_languagehttp://en.wikipedia.org/wiki/X86_architecturehttp://en.wikipedia.org/wiki/EULAhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Software_licensehttp://en.wikipedia.org/wiki/Assembly_language#Assemblerhttp://en.wikipedia.org/wiki/List_of_software_categorieshttp://en.wikipedia.org/wiki/MS-DOShttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Software_release_life_cyclehttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Software_developer
  • 7/29/2019 Microsoft Macro Assembler - Wikipedia, The Free Encyclopedia

    2/3

    ly versions of MASM generated object modules using the OMF format, which was used to create binaries for MS-

    OS or OS/2.

    ce version 6.1, MASM is able to produce object modules in the Portable Executable[4][5] (PE/COFF) format.

    /COFF is compatible with recent Microsoft C compilers, and object modules produced by either MASM or the C

    mpiler can be routinely intermixed and linked into Win32 and Win64 binaries.

    ome third-party tools that support MASM

    Es

    RadASM[6]

    WinAsm Studio[7]

    EasyCode[8]

    Visual Studio [9]

    ebuggers

    OllyDbg[10]

    sassemblers

    IDAPro the Interactive Disassembler

    ssemblers compatible with MASM

    me other assemblers can assemble most code written for MASM, with the exception of more complex macros.

    Turbo Assembler (TASM) developed by Borland, later owned by Embarcadero, last updated in 2002 and supplied

    with Delphi and C++Builder for several years, later discontinued.

    JWASM Macro Assembler, licenced under the Sybase Open Watcom EULA.

    Pelle's Macro Assembler, a component of the Pelles C development environment.

    ee also

    Assembly language

    High-level assembler

    Comparison of assemblers

    eferences

    1. ^ Watt, Peggy; Christine McGeever (January 7, 1985). "Macintosh Vs. IBM PC At One Year"

    (http://books.google.com/books?id=-i4EAAAAMBAJ&pg=PA16).InfoWorld7 (1): pp. 1516. ISSN 0199-6649

    (//www.worldcat.org/issn/0199-6649). The IBM PC Macro Assembler was released in December 1981.

    2. ^ Marshall, Martin (April 29, 1991). "Macro Assembler Update Adds High-Level Features" (http://books.google.com/books?id=y1AEAAAAMBAJ&pg=PT20).InfoWorld13 (17): p. 21. ISSN 0199-6649 (//www.worldcat.org/issn/0199-6649).

    3. ^ ab R. E. Harvey (2007). "Assemblers"

    (http://web.archive.org/web/20080216121237/http://ourworld.compuserve.com/homepages/r_harvey/doc_book.htm).

    Archived from the original (http://ourworld.compuserve.com/homepages/r_harvey/doc_book.htm) on 16 February 2008.

    Retrieved 4 February 2010.

    4. ^ http://download.microsoft.com/download/e/b/a/eba1050f-a31d-436b-9281-92cdfeae4b45/pecoff.doc

    ^

    http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspxhttp://download.microsoft.com/download/e/b/a/eba1050f-a31d-436b-9281-92cdfeae4b45/pecoff.dochttp://ourworld.compuserve.com/homepages/r_harvey/doc_book.htmhttp://web.archive.org/web/20080216121237/http://ourworld.compuserve.com/homepages/r_harvey/doc_book.htmhttp://www.worldcat.org/issn/0199-6649http://en.wikipedia.org/wiki/International_Standard_Serial_Numberhttp://books.google.com/books?id=y1AEAAAAMBAJ&pg=PT20http://www.worldcat.org/issn/0199-6649http://en.wikipedia.org/wiki/International_Standard_Serial_Numberhttp://books.google.com/books?id=-i4EAAAAMBAJ&pg=PA16http://en.wikipedia.org/wiki/Comparison_of_assemblershttp://en.wikipedia.org/wiki/High-level_assemblerhttp://en.wikipedia.org/wiki/Assembly_languagehttp://en.wikipedia.org/wiki/Pelles_Chttp://en.wikipedia.org/wiki/JWASMhttp://en.wikipedia.org/wiki/C%2B%2BBuilderhttp://en.wikipedia.org/wiki/Embarcadero_Delphihttp://en.wikipedia.org/wiki/Turbo_Assemblerhttp://en.wikipedia.org/wiki/Interactive_Disassemblerhttp://en.wikipedia.org/wiki/RadASMhttp://en.wikipedia.org/wiki/Portable_Executablehttp://en.wikipedia.org/wiki/OS/2http://en.wikipedia.org/wiki/MS-DOShttp://en.wikipedia.org/wiki/Relocatable_Object_Module_Formathttp://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx
  • 7/29/2019 Microsoft Macro Assembler - Wikipedia, The Free Encyclopedia

    3/3

    . . . .6. ^ http://radasm.cherrytree.at/

    7. ^ http://www.winasm.net/

    8. ^ http://www.easycode.cat/English/index.htm

    9. ^ http://www.codeproject.com/Articles/271627/Assembly-Programming-with-Visual-Studio-2010-2012

    0. ^ http://www.ollydbg.de/

    xternal links

    Official Microsoft Macro Assembler Reference (http://msdn.microsoft.com/en-us/library/afzk3475.aspx)Intro to MASM Win32 (http://www.infernodevelopment.com/introduction-masm32)

    Win32 assembly tutorials using MASM (http://www.win32developer.com/asm/windows_tutorial_1.shtm)

    Win32 Radasm (http://www.assembly.com.br)

    rieved from "http://en.wikipedia.org/w/index.php?title=Microsoft_Macro_Assembler&oldid=570106005"

    tegories: Assemblers Microsoft development tools DOS software Windows software

    This page was last modified on 25 August 2013 at 09:32.

    Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By usingthis site, you agree to the Terms of Use and Privacy Policy.

    Wikipedia is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.

    http://www.wikimediafoundation.org/http://wikimediafoundation.org/wiki/Privacy_policyhttp://wikimediafoundation.org/wiki/Terms_of_Usehttp://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_Licensehttp://en.wikipedia.org/wiki/Help:Categoryhttp://en.wikipedia.org/w/index.php?title=Microsoft_Macro_Assembler&oldid=570106005http://www.assembly.com.br/http://www.win32developer.com/asm/windows_tutorial_1.shtmhttp://www.infernodevelopment.com/introduction-masm32http://msdn.microsoft.com/en-us/library/afzk3475.aspxhttp://www.ollydbg.de/http://www.codeproject.com/Articles/271627/Assembly-Programming-with-Visual-Studio-2010-2012http://www.easycode.cat/English/index.htmhttp://www.winasm.net/http://radasm.cherrytree.at/http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspxhttp://en.wikipedia.org/wiki/Category:Windows_softwarehttp://en.wikipedia.org/wiki/Category:DOS_softwarehttp://en.wikipedia.org/wiki/Category:Microsoft_development_toolshttp://en.wikipedia.org/wiki/Category:Assemblers