Содержание
- 2. Microsoft Macro Assembler (MASM) — ассемблер для архітектури x86 під операційну систему Microsoft Windows, що використовує
- 3. Перші версії MASM з’явилися у 1981 році. До версії 5.0 MASM був доступний тільки для операційних
- 4. Приклади програм на MASM Программа “Hello, world!”: .386 .model flat, stdcall option casemap :none include \masm32\include\masm32.inc
- 5. Приклади програм на MASM include io.asm data segment x db 'Hello world!', '$' data ends stack
- 6. Приклади програм на MASM Приклад тієї ж програми для MS-DOS на мові MASM версії 6.1 для
- 7. Turbo Assembler (TASM) - програмний пакет компанії Borland, призначений для розробки програм на мові асемблера для
- 8. Особливості TASM Можливості об'єктно-орієнтованого програмування; 32-розрядна модель та підтримка кадру стека; Підтримка інтерфейсу захищеного режиму DOS
- 10. Скачать презентацию
Слайд 2
Microsoft Macro Assembler (MASM) — ассемблер для архітектури
x86 під операційну
Microsoft Macro Assembler (MASM) — ассемблер для архітектури
x86 під операційну
систему Microsoft Windows,
що використовує синтаксис Intel. Поточна версія MASM існує у двох різновидах: для 16- і 32 бітного коду і для 64-бітного (ML64). До версії 6.12 був окремим продуктом Microsoft. Зараз він включений до складу різних компіляторів і середовищ розробки компанії.
MASM состоит из:
ml.exe - транслятор. Он преобразует исходный текст в obj-файл (объектного формата COFF или OMF)
link.exe - линковщик. Создаёт готовый исполняемый exe или dll модуль (в формате для DOS, Windows...).
що використовує синтаксис Intel. Поточна версія MASM існує у двох різновидах: для 16- і 32 бітного коду і для 64-бітного (ML64). До версії 6.12 був окремим продуктом Microsoft. Зараз він включений до складу різних компіляторів і середовищ розробки компанії.
MASM состоит из:
ml.exe - транслятор. Он преобразует исходный текст в obj-файл (объектного формата COFF или OMF)
link.exe - линковщик. Создаёт готовый исполняемый exe или dll модуль (в формате для DOS, Windows...).
Слайд 3
Перші версії MASM з’явилися у 1981 році. До версії 5.0 MASM
Перші версії MASM з’явилися у 1981 році. До версії 5.0 MASM
був доступний тільки для
операційних систем MS DOS. Версії 5.1 і 6.0 розроблялися крім MS DOS також і для OS/2.
Версія 6.0, яка була випущена у 1992 році була першою версією, що включала підтримку програмування на більш високому рівні і більш C-подібний синтаксис. В кінці цього року з’явилася версія 6.1A, в якій було додано підтримку керуванням пам'яті, що була сумісна з Visual C++. У 1993 році було додано повну підтримку 32-бітного режиму і всього набору інструкцій процесора Pentium. Виконуваний файл MASM у той час постачався як "бі-модальний" DOS-розширений файл (використовуючи TNT DOS extender від Phar Lap).
Версії 6.12-6.14 були реалізовані як патчі до версії 6.11. Вони змінили тип виконуваного файлу MASM у власний формат Windows PE — і, зрештою, 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, HLASM.
операційних систем MS DOS. Версії 5.1 і 6.0 розроблялися крім MS DOS також і для OS/2.
Версія 6.0, яка була випущена у 1992 році була першою версією, що включала підтримку програмування на більш високому рівні і більш C-подібний синтаксис. В кінці цього року з’явилася версія 6.1A, в якій було додано підтримку керуванням пам'яті, що була сумісна з Visual C++. У 1993 році було додано повну підтримку 32-бітного режиму і всього набору інструкцій процесора Pentium. Виконуваний файл MASM у той час постачався як "бі-модальний" DOS-розширений файл (використовуючи TNT DOS extender від Phar Lap).
Версії 6.12-6.14 були реалізовані як патчі до версії 6.11. Вони змінили тип виконуваного файлу MASM у власний формат Windows PE — і, зрештою, 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, HLASM.
Історія MASM
Слайд 4
Приклади програм на MASM
Программа “Hello, world!”:
.386
.model flat, stdcall
option casemap
Приклади програм на MASM
Программа “Hello, world!”:
.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
Слайд 5
Приклади програм на MASM
include io.asm
data segment
x db 'Hello world!',
Приклади програм на MASM
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
Слайд 6
Приклади програм на MASM
Приклад тієї ж програми для MS-DOS на мові
Приклади програм на MASM
Приклад тієї ж програми для 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
процесора Intel 8086:
.model tiny .code .startup mov dx, offset Hello mov ah, 9 int 21h .exit Hello db 'Hello world!$' end
Слайд 7
Turbo Assembler (TASM) - програмний пакет
компанії Borland, призначений для розробки
Turbo Assembler (TASM) - програмний пакет
компанії Borland, призначений для розробки
програм на
мові асемблера для архітектури x86.
Крім того, TASM може працювати спільно з трансляторами з мов високого рівня фірми Borland, такими як Turbo C і Turbo Pascal. Як і інші програмні пакети серії Turbo, Турбо Асемблер більше не підтримується.
TASM досі використовується для навчання програмуванню на асемблері під архітектуру x86
За замовчуванням TASM працює в режимі сумісності з іншим поширеним ассемблером - Microsoft Macro Assembler, тобто TASM вміє транслювати вихідні коди, розроблені під MASM
мові асемблера для архітектури x86.
Крім того, TASM може працювати спільно з трансляторами з мов високого рівня фірми Borland, такими як Turbo C і Turbo Pascal. Як і інші програмні пакети серії Turbo, Турбо Асемблер більше не підтримується.
TASM досі використовується для навчання програмуванню на асемблері під архітектуру x86
За замовчуванням TASM працює в режимі сумісності з іншим поширеним ассемблером - Microsoft Macro Assembler, тобто TASM вміє транслювати вихідні коди, розроблені під MASM
Слайд 8
Особливості TASM
Можливості об'єктно-орієнтованого програмування;
32-розрядна модель та підтримка кадру стека;
Підтримка інтерфейсу захищеного
Особливості TASM
Можливості об'єктно-орієнтованого програмування;
32-розрядна модель та підтримка кадру стека;
Підтримка інтерфейсу захищеного
режиму DOS (DPMI) для роботи Турбо Асемблера в захищеному
режимі під управлінням Microsoft Windows;
Повна підтримка процесорів Intel 80386 і i486;
Спрощені директиви визначення сегментів;
Поліпшене керування лістингом;
Підтримка таблиць;
Перераховні типи;
Розвинені інструкції роботи з прапорами;
Нові засоби підтримки структур;
Швидка операція множення з безпосереднім (прямим) операндом;
Підтримка множинних визначень;
Директива специфікації VERSION;
Режим сумісності (Quirks mode) для емуляції MASM;
Повне налагодження на рівні початкового тексту за допомогою Турбо налагоджувача;
будована утиліта генерації перехресних посилань (TCREF);
Файли конфігурації і командні файли;
Утиліта - перетворювач файлів .h в .ash.
режимі під управлінням Microsoft Windows;
Повна підтримка процесорів Intel 80386 і i486;
Спрощені директиви визначення сегментів;
Поліпшене керування лістингом;
Підтримка таблиць;
Перераховні типи;
Розвинені інструкції роботи з прапорами;
Нові засоби підтримки структур;
Швидка операція множення з безпосереднім (прямим) операндом;
Підтримка множинних визначень;
Директива специфікації VERSION;
Режим сумісності (Quirks mode) для емуляції MASM;
Повне налагодження на рівні початкового тексту за допомогою Турбо налагоджувача;
будована утиліта генерації перехресних посилань (TCREF);
Файли конфігурації і командні файли;
Утиліта - перетворювач файлів .h в .ash.