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

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

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

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

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

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

от 25%

Подписываем

договор

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

Скидка 25% при заказе до 4.3.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. ТЕМА 2 ОБЩАЯ ТЕОРИЯ УПРАВЛЕНИЯ
3. Пауль Хиндемит.html
4. НА ТЕМУ- Форма держави- поняття елементи види
5. Тема 6 Мікроекономічна модель підприємства
6. на тему- Культура стародавнього світу Виконала студентка групи Ю34 Павлів Іванна.
7. Сегодня главной целью и стратегическим направлением специального образования является обеспечение услов
8. дипломная работа Работа допущена к защите Научный руководитель-
9. Дубовский педагогический колледж Отчет практиканта Вид практики
10. ІСаржан С Е Соловйова Р