Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Разработка программы в среде MASM

Замечание 1

Разработка программы в среде MASM — это разработка программы на языке макроассемблера.

Общие сведения о языках программирования

Программированием является процесс формирования компьютерных программ при помощи языков программирования. В узком смысле слова, программированием может считаться процесс кодирования, то есть, осуществление одного или ряда связанных взаимно алгоритмов на определенном языке программирования.

Языком программирования является формализованная знаковая система, которая предназначена для реализации алгоритмов в программном формате и является удобной для исполнительного устройства, к примеру, компьютера. Компьютерные программы используются, для того чтобы передать компьютеру инструкции по исполнению тех или иных вычислительных процессов и организации управления отдельными устройствами. Язык программирования должен определять совокупность лексических, синтаксических и семантических правил, которые используются при создании компьютерной программы. Он предоставляет возможность программистам четко определять, на какие события должен реагировать компьютер, при помощи каких методов можно сохранять и передавать данные, а также какие именно операции необходимо исполнять над этими данными при разных ситуациях.

Все языки программирования, как правило, могут относиться к машинно-независимым или машинно-ориентированным языкам. К машинно-независимым следует отнести Си, Си++, Паскаль и другие. С их помощью можно довольно оперативно формировать достаточно сложные программы. А в тех случаях, когда нужно создать самый компактный машинный код и сформировать наиболее быстродействующие программы, следует использовать машинно-ориентированные языки. Они взаимодействуют непосредственно с ячейками памяти и доступными программно компонентами микропроцессора.

Единственным языком, который прямо исполняется процессором, является машинный язык, именуемый также машинным кодом. Первоначально все программисты должны были прорабатывать любую мелочь в машинном коде, но сегодня эта тяжкая работа уже не осуществляется. Вместо этого программисты должны написать исходный код, и компьютер при помощи компилятора, интерпретатора или ассемблера, преобразует его в машинный код, который является готовым к выполнению на центральном процессоре. Даже если необходим абсолютный низкоуровневый контроль над системой, программист пишет программу на языке ассемблера, мнемонические инструкции которого можно преобразовать один к одному в соответствующие инструкции машинного языка целевого процессора.

«Разработка программы в среде MASM» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти

Разработка программы в среде MASM

Язык ассемблера является типом языка программирования низкого уровня, который представляет собой форму записи машинных команд, удобную для восприятия пользователем. На языке ассемблера лучше всего писать следующие категории программ:

  1. Программы, которые требуют максимальной скорости исполнения, такие как, главные элементы компьютерных игр, ядра операционных систем реального времени, а также критичные по времени фрагменты программ.
  2. Программы, которые взаимодействуют с внешними устройствами, то есть, это драйверы, программы, взаимодействующие напрямую с портами, звуковыми и видео платами.
  3. Программы, которые используют полностью имеющиеся возможности процессора, такие как, ядра многозадачных операционных систем, серверы.
  4. Программы, которые полностью используют возможности операционной системы, а именно, это вирусы, антивирусные программы, программы защиты от несанкционированного доступа, программы обхода защиты от несанкционированного доступа.

К числу достоинств языка ассемблера можно отнести следующие моменты:

  1. Наличие максимальной оптимизации программ, как по скорости исполнения, так и по размерам.
  2. Наличие максимальной адаптации под соответствующий процессор.

К числу недостатков языка ассемблера необходимо причислить следующие аспекты:

  1. Существенная трудоемкость составления программ, которая значительно больше, чем в языках высокого уровня.
  2. Наличие трудоемкости чтения программ.
  3. Наличие непереносимости на другие платформы, кроме совместимых платформ.
  4. Язык ассемблера является малопригодным для совместных проектов.

Программирование на уровне машинных команд является тем минимальным уровнем, на котором еще возможно программирование компьютера. Система машинных команд обязана являться достаточной для реализации необходимых действия, за счет выдачи указаний аппаратуре компьютера. Все машинные команды состоят из:

  • операционной части, которая определяет, что следует сделать,
  • операндной части, которая определяет объекты обработки.

Машинная команда микропроцессора, которая записана на языке Ассемблера, является одной строкой, следующего вида:

$[метка]$ команда/директива $[операнд(ы)]$ ;комментарии

Метка, если она есть, команда/директива и операнд, если он есть, должны разделяться по крайней мере одним символом пробела или табуляции.

Программа, которая написана на ассемблере MASM (Microsoft Macro Assembler), может иметь несколько частей, именуемых модулями, в каждом из которых можно определить один или ряд сегментов данных, стека и кода. Каждая законченная программа на ассемблере обязана иметь один главный, или базовый, модуль, с которого начинается ее исполнение. В модуле могут содержаться программные сегменты, сегменты данных и стека, которые были объявлены с помощью определенных директив. Помимо этого, перед объявлением сегментов следует указывать модель памяти с помощью директивы .MODEL.

Приведем пример «ничего не делающей» программы:

; prog.asm

.68 6P

.MODEL FLAT, STDCALL

.DATA

.CODE

START:

RET

END START

В этой программе присутствует всего одна команда микропроцессора. Эта команда RET. Она должна обеспечить правильное окончание работы программы. В общем варианте данная команда применяется для выхода из процедуры.

Воспользуйся нейросетью от Автор24
Не понимаешь, как писать работу?
Попробовать ИИ
Дата написания статьи: 22.07.2022
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot