Будь умным!


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

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

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

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

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

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

от 25%

Подписываем

договор

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

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

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

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

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

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

Протокол

Лабораторной работы № 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. Degrees nd by their llied helth professionls such s physicl therpists psychologists nd registered nurses
5. 1855 гг вступил на престол в 1825 г
6. Зоотехническая и экономическая оценка породы скота
7. Вступление [3] ЧАСТЬ ПЕРВАЯ [4] IСемья и родные [5] IIДетство [6] IIIДетский брак [7]
8. на тему- Сравнение туристских ресурсов Норвегии и Республики Саха Якутия Выполнила- студентка 5 кур.html
9. .1 Понятие гражданскойправосубъектности 4 1
10. Реферат- Финансовый учет
11. По результатам метрологической аттестации средству измерений приписываются определенные метрологически
12. РЕФЕРАТ Безопасность и жизнедеятельность Выполнил- студент института физической
13. ГОРЯЧИХ ТОЧЕК НА БАЛКАНАХ В.
14. Контрольная работа- Професійні навички документознавця-референта
15. Фінанси гроші та кредит Виконала Утенко Ю
16. Интеллигенция в зарубежье
17. Міжнародне право 1
18. Концептуальные основы внешней политики РФ на Ближнем Востоке на современном этапе
19. Тема Загальні вимоги до складання звітності
20. дидактика восходит к греческому языку в котором