Інтелектуальна цінність програм на Асемблері

Маючи в своєму розпорядженні сучасні могутні мови, ви все ще потребуєте Асемблера із-за його ефективності і точності. Асемблерні програми можуть бути дуже ефективними. З програмістів, з рівними навиками і здібностями, що працює на мові Асемблера створить програму компактнішу і швидкодіючу, чим така ж програма, написана на мові високого рівня. Це так практично для всіх невеликих або середніх програм. На жаль, у міру зростання розмірів, програми на мові Асемблера втрачають частину своїх переваг. Це відбувається із-за необхідної в асемблерній програмі уваги до деталей. Як ви бачите, мова Асемблера вимагає від вас планування кожної дії комп'ютера. У невеликих програмах це дозволяє оптимізувати роботу програми з апаратними засобами.
У великих же програмах величезна кількість деталей може перешкодити вам ефективно працювати над самою програмою, навіть якщо окремі компоненти програми виявляться дуже непоганими. Безумовно, програмування на мові Асемблера відповідає потребам не кожної програми. Програми на мові Асемблера дуже точні. Оскільки ця мова дозволяє програмістові безпосередньо працювати зі всім апаратним забезпеченням, асемблерна програма може робити те, що недоступно ніякий іншій програмі. Поза сумнівом, що в програмуванні пристроїв введення-висновку, де потрібний контроль над окремими розрядами регістрів пристрою, програмування на мові Асемблера - єдиний відповідний вибір. Ясно, що ефективність і точність мови Асемблера дають певні переваги.
Але його простота створює і деякі проблеми. Коли ж варто обирати для програмування мову Асемблер? Звичайно, ви повинні користуватися програмами на мові Асемблера, коли немає іншого способу написати програму. Наприклад, програмісти фірми IBM писали з використанням процедур Асемблера всі програми управління пристроями введення-висновку для IBM PC. Для управління пристроями введення-висновку і системою переривань, було потрібно ту точність мови Асемблера, яку не може забезпечити жоден інша мова програмування. Аналогічно, на мові Асемблера у фірмі IBM писалися процедури діагности, які повинні перевіряти кожну деталь апаратури. Мова Асемблера необхідна також і в тих випадках, коли головними є робочі характеристики програми.
Це може бути час виконання або кінцевий розмір програми. Бібліотека математичних процедур Фортрану - приклад програми, що вимагає хороших характеристик, як відносно часу, так і розміру. Математичні процедури є частиною будь-якої програми на Фортрані, тому вони повинні займати якомога менше місця. Крім того, ці процедури управляють всіма математичними функціями у фортрановськой програмі і часто використовуються. Отже, вони повинні виконуватися швидко. Яка програма не підходить для мови Асемблера? Звичайно, ви можете написати на нім будь-яку програму, проте з великою програмою краще працювати вязике високого рівня, такому як Бейсик або Паскаль. Ці мови дозволяють вам зосередитися на своїй проблемі. Вам не доводиться безпосередньо мати справи з тонкощами апаратного устаткування і процесора.
Мови високого рівня дозволяють вам відступити назад і за деревами побачити ліс. Очевидно далі, що ви потребуєте з'єднання програм мови Асемблера з програмами мов високого рівня. Тут ми обмежимося програмуванням на мові Асемблера для тих завдань, для яких він добре підходить, таких як управління введенням-висновком. І останнє, при програмуванні на мові Асемблера і лише через написання програм на цьому рівні деталізації ви можете зрозуміти як працює машина на самому нижньому рівні. Якщо ви хочете дізнатися про комп'ютер все, ви повинні бути знайомі з його мовою Асемблера.
Єдиний спосіб добитися цього писати програми на цій мові. Найпопулярнішими на сьогоднішній день є пакети Turbo Assembler (TASM) фірми Borland, Macro Assembler for Windows32 (MASM32), створений Hutch (на основі старого MASM фірми Microsoft), а також Flat Assembler (FASM), і Netwide Assembler (NASM), що розвивається командою NASM Development Team. Всі ці асемблери надають вельми широкі можливості для програміста. На них можна писати програми як під DOS, так і під Windows.