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

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

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

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

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

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

от 25%

Подписываем

договор

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

Скидка 25% при заказе до 6.4.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. Цветовые пигменты utobse PLUS Пигмент Прозрачность
2. на темуРазработка наилучшего способа выделения и очистки инсулина из поджелудочной железы свиньи
3. эстетическое воспитание и художественное образование
4. реферат дисертації на здобуття наукового ступеня кандидата економічних наук КИЇВ ~2
5. Іпотека сільськогосподарських земель
6. I. ПСИХОЛОГИЯ. II
7. 8 13 июля i996 г введена в действие новая Конституция Украины
8. Перфторан революционная комбинация
9. Ростовский государственный строительный университет Утверждено.1
10. Светлячок г