У вас вопросы?
У нас ответы:) SamZan.net

Программирование на языке SSEMBLER в среде ОС LINUX Вы

Работа добавлена на сайт samzan.net: 2016-03-30

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 9.6.2025

Министерство Образования и Науки Украины

Одесский Национальный Политехнический Университет

Институт компьютерных систем

Кафедра Компьютерных Систем

Протокол

Лабораторной работы № 27

«Программирование на языке ASSEMBLER в среде ОС LINUX»

          Выполнил

                                                                                                                    Студент гр. АЕ – 082

  Суслов А.Н.                                                                                                                                                          

                                                                           Проверил

                                                                                                                                    Нестерюк А. Г.                                                                                                                                     

Одесса 2011

Цель работы.

  •  Изучить способы создания простейшей программы на языке программирования ASSEMBLER в среде ОС LINUX.

При выполнении работы следует изучить:

  •  Порядок создания и редактирования исходного текстового файла
  •  Особенности синтаксиса языка ассемблер gas
  •  Порядок ассемблирования текста программы
  •  Порядок компоновки объектного модуля
  •  Запуск программы на исполнение.

Порядок выполнения работы

Создание и редактирование текстового файла с заданным именем

  1.  Запустим ОС LINUX. Зарегистрируемся под именем guest, введем пароль 111111.
  2.  Откроем окно терминала.
  3.  Запустим командную оболочку mc.
  4.  Откроем каталог /home/guest
  5.  Наберем в командной строке команду
              
    touch a1.s  <ENTER>
    Убедимся, что в текущем каталоге создан файл с именем
    a1.s. Данный файл будем использовать в качестве файла исходного текста программы.
  6.  Выберем файл a1.s с помощью щелчка мыши. С помощью клавиши F4 откроем файл для редактирования. Обратите внимание на подсказки в нижней части окна редактора. Введем в файл несколько строк, например, краткую характеристику соседа. Внимание! Просьба не забывать, что у нас на специальности учатся дети из интеллигентных семей! Сохраним файл, закроем текстовый редактор.
  7.  Находясь в среде командной оболочки mc, проверим наличие введенного текста в файле с помощью клавиши F3. Закроем окно просмотра текста.

Задание: 

  1.  Изучить приведенный пример, уяснить способ создания программы.
  2.  Модернизировать программу таким образом, чтобы в окне терминала выводился результат вычисления простейшего арифметического выражения.

Листинг программы.

.data                                   # section declaration

msg:

       .ascii  "-PROGA LABA27!? PAWED!?\n-COOL!!! \n"  # our dear string

       len = . - msg                   # length of our dear string

.text                                   # section declaration

                       # we must export the entry point to the ELF linker or

   .global _start      # loader. They conventionally recognize _start as their

                       # entry point. Use ld -e foo to override the default.

_start:

# write our string to stdout

       movl    $len,%edx       # third argument: message length

       movl    $msg,%ecx       # second argument: pointer to message to write

       movl    $1,%ebx         # first argument: file handle (stdout)

       movl    $4,%eax         # system call number (sys_write)

       int     $0x80           # call kernel

#calculating

movl $3,%eax

movl $5,%ebx

subl %eax,%ebx

# and exit

       movl    $0,%ebx         # first argument: exit code

       movl    $1,%eax         # system call number (sys_exit)

       int     $0x80           # call kernel

Вывод: 

Изучил способы создания простейшей программы на языке программирования ASSEMBLER в среде ОС LINUX. Изучил Порядок создания и редактирования исходного текстового файла, особенности синтаксиса языка ассемблер gas, порядок ассемблирования текста программы.  Порядок компоновки объектного модуля,  запуск программы на исполнение.




1. Методическая разработка «Панно оценок»
2. Приемы ввода данных
3. поднятие духа; формирование игровой культуры свободного времяпрепровождения; укрепление мотивации познав
4. 1По уровню его устойчивости- абсолютноустойчив
5. системой взаимосвязанных вершин и дуг
6. Обучение и воспитание детей с нарушением интеллекта в России и за рубежом
7. Повышение продуктивности коров как фактор роста рентабельности молочного скотоводства на примере ТОО АФ Родина
8. Любое предприятие является юридическим лицом имеет законченную систему учета и отчетности самостоятель
9. тема Гегеля Это место у Гегеля ~ средство для появления головной боли Ленин ПРЕДПОСЫЛКИ- ПАРМЕНИ
10. Новогодние огни 2013 Дата- 22 декабря 2013 года.