Microsoft Macro Assembler (MASM) — асемблер для архітектури x86 під операційну систему Microsoft Windows, що використовує синтаксис Intel. Поточна версія MASM існує у двох різновидах: для 16- і 32-бітного коду і для 64-бітного (ML64).
Тип | асемблер |
---|---|
Розробник | Microsoft |
Стабільний випуск | 10.0.30319.1 (12 квітня 2010) |
Операційна система | Windows і MS DOS |
Ліцензія | |
Вебсайт | masm32.com |
До версії 6.12 був окремим продуктом Microsoft. Зараз він включений до складу різних компіляторів і середовищ розробки компанії.
Історія
Перші версії MASM з'явилися у 1981 році. До версії 5.0 MASM був доступний тільки для операційних систем MS DOS. Версії 5.1 і 6.0 розроблялися крім MS DOS також і для (OS/2).
Версія 6.0, яка була випущена у 1992 році була першою версією, що включала підтримку програмування на більш високому рівні і більш C-подібний синтаксис. В кінці цього року з'явилася версія 6.1A, в якій було додано підтримку керуванням пам'яті, що була сумісна з . У 1993 році було додано повну підтримку 32-бітного режиму і всього набору інструкцій процесора Pentium. Виконуваний файл MASM у той час постачався як «бі-модальний» DOS-розширений файл (використовуючи TNT DOS extender від ).
Версії 6.12-6.14 були реалізовані як патчі до версії 6.11. Вони змінили тип виконуваного файлу MASM у власний формат Windows — і, зрештою, 6.11 була останньою версією з можливістю запуску на MS DOS.
Кінець-кінцем 1997 року MASM мав повну підтримку Windows 95 і включав деякі інструкції, специфічні для AMD.
У 1999 році представила набір інструкцій SIMD і MMX, які невдовзі після цього став підтримувати і MASM. З випуском версії 6.15, Microsoft припинила підтримку MASM як окремого продукту і включила його до інструментарію Visual Studio. Підтримки 64-бітного режиму в MASM не було до випуску Visual Studio 2005, де MASM отримав номер версії 8.0. Сьогодні MASM продовжує використовуватися на платформі Win32, попри конкуренцію з такими новими продуктами, як NASM, FASM, TASM, .
Приклади програм
Програма Hello World на MASM32.
.386 .model flat, stdcall option casemap :none include \masm32\include\masm32.inc include \masm32\include\kernel32.inc include \masm32\macros\macros.asm includelib \masm32\lib\masm32.lib includelib \masm32\lib\kernel32.lib .code start: print "Hello world" exit end start
Приклад тієї ж програми на мові MASM версії 4.0 для процесора Intel 8086.
include io.asm data segment x db 'Hello world!', '$' data ends stack segment stack db 128 dup (?) stack ends code segment assume cs: code, ds: data, ss: stack start: mov ax, data mov ds, ax lea dx, x outstr finish code ends end start
Приклад тієї ж програми для MS-DOS на мові MASM версії 6.1 для процесора Intel 8086.
.model tiny .code .startup mov dx, offset Hello mov ah, 9 int 21h .exit Hello db 'Hello world!$' end
Програми сторонніх розробників, що підтримують MASM
Інтегровані середовища розробки
- Microsoft Visual Studio
- WinAsm Studio
- EasyCode
Налагоджувачі
- OllyDbg
Дизасемблери
- IDAPro
Примітки
- . Архів оригіналу за 18 серпня 2009. Процитовано 26 жовтня 2011.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title () - . Архів оригіналу за 4 березня 2009. Процитовано 26 жовтня 2011.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title () - . Архів оригіналу за 1 листопада 2011. Процитовано 26 жовтня 2011.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title () - . Архів оригіналу за 28 жовтня 2011. Процитовано 26 жовтня 2011.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title ()
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Microsoft Macro Assembler MASM asembler dlya arhitekturi x86 pid operacijnu sistemu Microsoft Windows sho vikoristovuye sintaksis Intel Potochna versiya MASM isnuye u dvoh riznovidah dlya 16 i 32 bitnogo kodu i dlya 64 bitnogo ML64 MASMTipasemblerRozrobnikMicrosoftStabilnij vipusk10 0 30319 1 12 kvitnya 2010 Operacijna sistemaWindows i MS DOSLicenziyaVebsajtmasm32 com Do versiyi 6 12 buv okremim produktom Microsoft Zaraz vin vklyuchenij do skladu riznih kompilyatoriv i seredovish rozrobki kompaniyi IstoriyaPershi versiyi MASM z yavilisya u 1981 roci Do versiyi 5 0 MASM buv dostupnij tilki dlya operacijnih sistem MS DOS Versiyi 5 1 i 6 0 rozroblyalisya krim MS DOS takozh i dlya OS 2 Versiya 6 0 yaka bula vipushena u 1992 roci bula pershoyu versiyeyu sho vklyuchala pidtrimku programuvannya na bilsh visokomu rivni i bilsh C podibnij sintaksis V kinci cogo roku z yavilasya versiya 6 1A v yakij bulo dodano pidtrimku keruvannyam pam yati sho bula sumisna z Visual C U 1993 roci bulo dodano povnu pidtrimku 32 bitnogo rezhimu i vsogo naboru instrukcij procesora Pentium Vikonuvanij fajl MASM u toj chas postachavsya yak bi modalnij DOS rozshirenij fajl vikoristovuyuchi TNT DOS extender vid Versiyi 6 12 6 14 buli realizovani yak patchi do versiyi 6 11 Voni zminili tip vikonuvanogo fajlu MASM u vlasnij format Windows i zreshtoyu 6 11 bula ostannoyu versiyeyu z mozhlivistyu zapusku na MS DOS Kinec kincem 1997 roku MASM mav povnu pidtrimku Windows 95 i vklyuchav deyaki instrukciyi specifichni dlya AMD U 1999 roci predstavila nabir instrukcij SIMD i MMX yaki nevdovzi pislya cogo stav pidtrimuvati i MASM Z vipuskom versiyi 6 15 Microsoft pripinila pidtrimku MASM yak okremogo produktu i vklyuchila jogo do instrumentariyu Visual Studio Pidtrimki 64 bitnogo rezhimu v MASM ne bulo do vipusku Visual Studio 2005 de MASM otrimav nomer versiyi 8 0 Sogodni MASM prodovzhuye vikoristovuvatisya na platformi Win32 popri konkurenciyu z takimi novimi produktami yak NASM FASM TASM Prikladi programPrograma Hello World na MASM32 386 model flat stdcall option casemap none include masm32 include masm32 inc include masm32 include kernel32 inc include masm32 macros macros asm includelib masm32 lib masm32 lib includelib masm32 lib kernel32 lib code start print Hello world exit end start Priklad tiyeyi zh programi na movi MASM versiyi 4 0 dlya procesora Intel 8086 include io asm data segment x db Hello world data ends stack segment stack db 128 dup stack ends code segment assume cs code ds data ss stack start mov ax data mov ds ax lea dx x outstr finish code ends end start Priklad tiyeyi zh programi dlya MS DOS na movi MASM versiyi 6 1 dlya procesora Intel 8086 model tiny code startup mov dx offset Hello mov ah 9 int 21 h exit Hello db Hello world endProgrami storonnih rozrobnikiv sho pidtrimuyut MASMIntegrovani seredovisha rozrobki Microsoft Visual Studio WinAsm Studio EasyCode Nalagodzhuvachi OllyDbg Dizasembleri IDAProPrimitki Arhiv originalu za 18 serpnya 2009 Procitovano 26 zhovtnya 2011 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya Arhiv originalu za 4 bereznya 2009 Procitovano 26 zhovtnya 2011 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya Arhiv originalu za 1 listopada 2011 Procitovano 26 zhovtnya 2011 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya Arhiv originalu za 28 zhovtnya 2011 Procitovano 26 zhovtnya 2011 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya