Асемблер (інформаційні технології)

Асе́мблер (від англ. assembler — збирач) — машинно-орієнтована мова програмування низького рівня, а також система програмування з використанням цієї мови.

Історична довідка

Один із перших асемблерів створив Н. Рочестер (1919–2001; США) для машини IBM 701. Запровадження асемблера замість кодів машинних команд уможливило написання програм у символьній (алфавітно-цифровій) формі. У 1950-х асемблери, названі автокодерами, були одними з перших, що надавали можливість визначення й використання макрокоманд (програмного алгоритму дій, записаних користувачем). Від 1960-х стала значущою взаємодія та інтеграція програм і фрагментів мови асемблера з модулями, написаними мовами програмування високого рівня.

Більшість ранніх мікрокомп’ютерів з обмеженою оперативною пам’яттю потребували програмного забезпечення, написаного вручну майже виключно на асемблері, зокрема з кодом BIOS (Basic Input/Output System — базова система введення-виведення), DOS (Disk Operating System — дискова операційна система), прикладних програм.

Типовими прикладами великих асемблерних програм 1970–1980-х є BIOS і DOS для комп’ютерів IBM PC, компілятор Turbo Pascal, перші програми електронних таблиць (наприклад, Lotus 1-2-3), численні комп’ютерні ігри.

Характеристика

Асемблер використовує мнемоніку, що відповідає машинним командам мікропроцесора певної архітектури комп’ютера. Кожен із типів процесорів має власний набір машинних команд, для якого створюють унікальну платформозалежну асемблерну програму. Асемблер використовують там, де необхідна максимальна швидкодія або виконання операцій не є можливим на мовах високого рівня (точне керування апаратними засобами системи, створення нових драйверів, розроблення й тестування нової апаратури).

Асемблер як система програмування містить мову асемблер і транслятор із цієї мови, перетворює (асемблює) початковий текст програми на будь-якому асемблері в об’єктний код або в безпосередньо виконуваний машинний код.

Класифікація систем програмування Асемблер

Асемблери для DOS

Найвідомішими асемблерами для операційної системи DOS були Borland Turbo Assembler (TASM), Mіcrosoft Macro Assembler (MASM) і Watcom Assembler (WASM). Також свого часу був популярним простий асемблер A86.

Асемблер для Wіndows

З появою операційної системи Wіndows створено розширення TASM, іменоване TASM 5+, що дало змогу створювати програми для виконання в середовищі Wіndows. Останню відому версію TASM-5.3, що підтримує інструкції MMX, на тепер включено до Turbo C++ Explorer. Компілятор розвинуто завдяки сучасному середовищу розробки TASM Vіsual. Mіcrosoft підтримує свій продукт Mіcrosoft Macro Assembler. Її розвиток триває, останні версії включено до наборів DDK.

GNU і Lіnux

Складником операційної системи GNU є пакет Bіnutіls, який містить асемблер Gas (GNU Assembler), що використовує AT&T-синтаксис, на відміну від більшості інших популярних асемблерів, де використовують Іntel-синтаксис (підтримується з версії 2.10).

Переносні асемблери

Є відкритий проект асемблера — NASM (Netwіde Assembler), версії якого доступні для різних операційних систем, і який дає змогу отримувати об’єктні файли для цих систем. Yasm — перероблена версія NASM під ліцензією BSD. Flat assembler (fasm) — асемблер під модифікованою для заборони переліцензування (зокрема під GNU GPL) BSD-ліцензією. Є версії для KolіbrіOS, Lіnux, DOS і Wіndows; використовує Іntel-синтаксис і підтримує інструкції Х86-64.

Асемблери для RISC

Є також низка асемблерів для архітектури RISC, відмінної від системи Х86. Це певні RISC-архітектури, зокрема: MCS-51 (Intel 8051); AVR; AVR32; ARM; PIC; MSP430; PowerPC; MIPS тощо.

Джерело

  • ДСТУ ISO/IEC 2382:2018 Інформаційні технології. Словник. Київ : ДП Український науково-дослідний і навчальний центр проблем стандартизації, 2018. 456 с.

Література

  1. Юров В., Хорошенко С. Assembler: учебный курс. Санкт-Петербург : Питер, 1999. 672 c.
  2. Зубков С. В. Ассемблер для DOS, Windows и UNIX. Москва : ДМК Пресс ; Санкт-Петербург : Питер, 2006. 608 с.
  3. Пирогов В. Ассемблер и дизассемблирование Санкт-Петербург : БХВ-Петербург, 2006. 464 с.
  4. Irvine K. Assembly Language for Intel-Based Computers. 5th ed. Upper Saddle River : Prentice Hall, 2006. 722 p.
  5. Касперски К. Искусство дизассемблирования. Санкт-Петербург : БХВ-Петербург, 2008. 896 с.
  6. Аблязов Р. З. Программирование на ассемблере на платформе х86-64. Москва : ДМК Пресс, 2011. 304 c.
  7. Hoey J. Beginning x64 Assembly Programming: from Novice to AVX Professional. New York : Apress, 2019. 413 p.

Автор ВУЕ

А. Я. Гладун


Покликання на цю статтю

Покликання на цю статтю: Гладун А. Я. Асемблер (інформаційні технології) // Велика українська енциклопедія. URL: https://vue.gov.ua/Асемблер (інформаційні технології) (дата звернення: 7.12.2021).


Оприлюднено

Статус гасла: Оприлюднено
Оприлюднено:
24.11.2021


Офіційний телеграм-канал ВУЕОфіційний телеграм-канал ВУЕ