Машинно-ориентированное программирование — это процесс создания программы, где исходный код пишется на машинно-ориентированном языке (например, на языке-ассемблере).
Программы, написанные на машинно-ориентированных языках чаще всего не кроссплатформенны. Хотя, в качестве исключения, можно взять в пример программы, которые не используют системные вызовы, относящиеся к определённой ОС, а также, использующие машинные операторы, которые есть во всех известных процессорных архитектурах.
Машинно-ориентированное программирование имеет смысл быть в сфере системного программирования, но в некоторых случаях его применение является бесполезным (а иногда даже невозможным).
Применение машинно-ориентированного программирования Даже сегодня, когда существует множество языков программирования высокого уровня, таких как Python или же Java, машинно-ориентированное программирование остаётся более, чем просто востребованным. Вот самые распространённые случаи его применения:
Программирование некоторых микроконтроллеров (например, создание драйвера клавиатуры). Создание программ для различных дисплеев, станков и так далее (что можно отнести к прошлому пункту). Создания загрузчика для ОС. Создание ОС (отличается от предыдущего пункта тем, что на машинно-ориентированном языке пишется не только загрузчик, а также, например, ядро ОС).
Плюсы и минусы
Плюсы Оптимизированные программы: затраты памяти минимальны, а один оператор, написанный на языке-ассемблере, равен одному машинному оператору (за исключение можно взять макро- и псевдооператоры). Облегчённая отладка программ: библиотеки отсутствуют, соответственно весь код будет написан программистом.
Минусы Объёмный код: часто приходится писать подпрограммы для вывода строк (или даже символов). Сложное освоение: кардинальные отличия от программирования на языках более высокого уровня.
Машинно-ориентированные языки программирования NASM — свободный язык-ассемблер для архитектур Intel x86, используется при написании 16-, 32- и 64-разрядных программ. FASM — свободно распространяемый многопроходной язык-ассемблер для машин с архитектурой x86 с открытым исходным кодом. GAS — язык-ассемблер проекта GNU, используется в компиляторах GCC. MASM — язык-ассемблер для процессоров семейства x86. Изначально был произведён компанией Microsoft для написания программ под MS-DOS, в одно время был самым популярным ассемблером для этой ОС. TASM — программный пакет, предоставляемый компанией Borland, для разработки программ на ассемблере под архитектуру x86. YASM — язык-ассемблер, который является попыткой полностью переписать NASM.
На этом список машинно-ориентированных не заканчивается, но здесь приведены самые часто используемые языки-ассемблеры.
Категория:Программирование