Для студентов МГТУ им. Н.Э.Баумана по предмету Машинно-зависимые языки и основы компиляцииРазработка программы, выводящей на экран часы, показывающие текущую дату и времяРазработка программы, выводящей на экран часы, показывающие текущую дату и время
2021-03-202024-09-03СтудИзба
ДЗ: Разработка программы, выводящей на экран часы, показывающие текущую дату и время
-66%
Описание
Введение
Для того чтобы компьютер мог выполнить команды пользователя на аппаратном уровне, необходимо сгенерировать определенную последовательность действий с помощью машинного кода. Машинный код – это совокупность команд конкретной электронной вычислительной машины, которая интерпретируется процессором [1]. Для удобства управления машинными кодами используются языки программирования низкого уровня. Язык ассемблера – это язык низкого уровня с командами, не всегда соответствующими командам машины, который позволяет обеспечить дополнительные возможности (макрокоманды). Ассемблер – это переводчик исходного текста программы, написанной на языке ассемблера, в программу на машинном коде [2]. В настоящее время можно выделить две области, в которых использование языка ассемблера оправдано и необходимо. 1. Машинно-зависимое системное программное обеспечение, которое обычно управляет устройствами компьютера. В этих программах используются особые машинные команды, которые нет необходимости применять в прикладных программах. 2. Оптимизация выполнения программ. Довольно часто компиляторы выдают вполне неэффективную программу на машинном языке. В основном это касается программ вычислительного характера, в которых большую часть времени выполняется маленький участок программы. Для решения этой проблемы могут быть использованы многоязыковые системы программирования. В таких случаях большая часть программы пишется на языке программирования высокого уровня, а критичные по времени выполнения участки программы – на языке Ассемблера [6]. Изучение языка ассемблера позволяет улучшить понимание организации вычислительных действий в процессоре, принципов его работы и позволяет создавать оптимальные программы на языках высокого уровня
1. Исследовательская часть
1.1.Существующие компиляторы языка ассемблера Обзор компилятора языка ассемблера FASM
FASM (расшифровывается как Flat Assembler - Ассемблер плоского режима) – ассемблер с достаточно упрощенным синтаксисом, поддержкой всех процессорных команд, мощным макропроцессором и гибкой системой управления форматом создаваемых файлов. К достоинствам можно отнести: распространяется в исходных текстах на бесплатной основе и к настоящему моменту перенесен на MS-DOS, Windows 9x/NT, LINUX, поддерживает Unicode и все x86 процессоры вплоть до Pentium-4. Макроязык FASM'а настолько мощный, что позволяет писать программы на себе самом без единой ассемблерной строки. Из недостатков можно отметить: изучение плохо структурированной документации и небольшое количество демонстрационных примеров требуют большого количества времени, затрачиваемого на изучение языка, несовместимость с MASM затрудняет разработку приложений для Windows. FASM не поддерживает генерацию отладочной информации и это существенно портит его репутацию со стороны программистов [3]. Пример написания программы Hello World на FASM (Рис. 1):
![]()
Для того чтобы компьютер мог выполнить команды пользователя на аппаратном уровне, необходимо сгенерировать определенную последовательность действий с помощью машинного кода. Машинный код – это совокупность команд конкретной электронной вычислительной машины, которая интерпретируется процессором [1]. Для удобства управления машинными кодами используются языки программирования низкого уровня. Язык ассемблера – это язык низкого уровня с командами, не всегда соответствующими командам машины, который позволяет обеспечить дополнительные возможности (макрокоманды). Ассемблер – это переводчик исходного текста программы, написанной на языке ассемблера, в программу на машинном коде [2]. В настоящее время можно выделить две области, в которых использование языка ассемблера оправдано и необходимо. 1. Машинно-зависимое системное программное обеспечение, которое обычно управляет устройствами компьютера. В этих программах используются особые машинные команды, которые нет необходимости применять в прикладных программах. 2. Оптимизация выполнения программ. Довольно часто компиляторы выдают вполне неэффективную программу на машинном языке. В основном это касается программ вычислительного характера, в которых большую часть времени выполняется маленький участок программы. Для решения этой проблемы могут быть использованы многоязыковые системы программирования. В таких случаях большая часть программы пишется на языке программирования высокого уровня, а критичные по времени выполнения участки программы – на языке Ассемблера [6]. Изучение языка ассемблера позволяет улучшить понимание организации вычислительных действий в процессоре, принципов его работы и позволяет создавать оптимальные программы на языках высокого уровня
1. Исследовательская часть
1.1.Существующие компиляторы языка ассемблера Обзор компилятора языка ассемблера FASM
FASM (расшифровывается как Flat Assembler - Ассемблер плоского режима) – ассемблер с достаточно упрощенным синтаксисом, поддержкой всех процессорных команд, мощным макропроцессором и гибкой системой управления форматом создаваемых файлов. К достоинствам можно отнести: распространяется в исходных текстах на бесплатной основе и к настоящему моменту перенесен на MS-DOS, Windows 9x/NT, LINUX, поддерживает Unicode и все x86 процессоры вплоть до Pentium-4. Макроязык FASM'а настолько мощный, что позволяет писать программы на себе самом без единой ассемблерной строки. Из недостатков можно отметить: изучение плохо структурированной документации и небольшое количество демонстрационных примеров требуют большого количества времени, затрачиваемого на изучение языка, несовместимость с MASM затрудняет разработку приложений для Windows. FASM не поддерживает генерацию отладочной информации и это существенно портит его репутацию со стороны программистов [3]. Пример написания программы Hello World на FASM (Рис. 1):


Характеристики домашнего задания
Учебное заведение
Семестр
Просмотров
9
Размер
1,51 Mb
Список файлов
Разработка программы_ выводящей на экран часы_ показывающие текущую дату и время.pdf

Ваше удовлетворение является нашим приоритетом, если вы удовлетворены нами, пожалуйста, оставьте нам 5 ЗВЕЗД и позитивных комментариев. Спасибо большое!