740

Процесс создание и отладки программы на языке ассемблера

Лабораторная работа

Информатика, кибернетика и программирование

Знакомство с методами создания и отладки программ, написанных на языке ассемблера. Создание программы, на языке ассемблера выполняющей арифметическую операцию и ввод/вывод с консоли. Трансляция, компоновка, трассировка программы.

Русский

2013-01-06

88 KB

29 чел.

Министерство образования и науки Российской Федерации

Муромский институт (филиал)

Федерального государственного бюджетного образовательного учреждения высшего профессионального образования

«Владимирский государственный университет

имени Александра Григорьевича и Николая Григорьевича Столетовых»

(МИ(филиал)ВлГУ)

Факультет                  ФРЭКС                  

Кафедра                    ЭиВТ                   

ЛАБОРАТОРНАЯ

РАБОТА №2

по программированию на языке ассемблера

Тема: Процесс создание и отладки программы на языке ассемблера

                    

        Руководитель

                                                             Бейлекчи Д.В.                   

           (фамилия, инициалы)

                                                     

(подпись)   (дата)

       Студент          ПО - 110       

  (группа)

      Алексеев  К. В.               

           (фамилия, инициалы)

        ______________________                                   

       (подпись)   (дата)

2012

Цель  работы:  Знакомство с методами создания и отладки программ, написанных на языке ассемблера.

Задание: Создать  программу,  на  языке  ассемблера  выполняющую  арифметическую операцию и ввод/вывод с консоли. 

Ход работы:

  1.  Изучение  способов ассемблирования  и  создания  исполняемого  файла  с помощью  программ Turbo Assembler (TASM.EXE)  и Turbo Link (TLINK.EXE).

  1.  Знакомство  с  командами  и  интерфейсом  отладчика Turbo Debbuger (TD.EXE), изучение трассировки и исправления программ.  

  1.  Написания кода программы, согласно варианту задания.

Арифметическая

операция

Операция

ввода-вывода

Res=X+Y

x,y – трехбайтные

Ввод символа

Код программы:

;описание сегмента кода

code segment

;указание соответствующих сегментных регистров сегментам

assume cs: code, ds:data, ss: stek

start:

mov ax, data ;в ах записывается адрес области данных

mov ds, ax ;адрес переписывается в регистр

mov ax,word ptr [X] ;из памяти в регистр ах записывается младшее слово числа Х

mov bx,word ptr [Y] ;из памяти в регистр bх записывается младшее слово числа Y

add ax,bx ;складываем младшие части чисел Х и Y, результат в ax

mov word ptr [Result],ax ;запись ax в результат на младшую позицию

mov ah,byte ptr [X+2] ;записываем в ah старшее слово числа X

mov bh,byte ptr [Y+2] ;записываем в bh старшее слово числа Y

adc ah,bh ;складываем старшие части чисел Х и Y, результат в ah

mov byte ptr [Result+2],ah ;запись ah в результат на старшую позицию

mov ah,1 ;функция 1 сервиса DOS: ввод символа с эхом c клавиатуры

int 21h ;вызов прерывания

mov [Chr],al ;запись символа «1» в память 31h

mov ah, 9 ;функция 9 сервиса DOS: вывод строки на CON (до '$')

mov dx, offset Msg ;запись в регистр dx начального адреса строки

int 21h ;вызов прерывания

mov ax, 4c00h ;запись номера функции завершения работы программы с кодом 0

int 21h ;вызов прерывания

code ends

;Описание сегмента данных

data Segment

X db 23h,1h,0h

Y db 56h,4h,0h

Result dd (?) ;резервирование памяти под результат

Msg db 13,10,'Enter:' ;вывод сообщения

Chr db '0', '$'

data ends ;конец сегмента данных

;Опишем сегмент стека

stek segment stack

dw 128 dup (?) ;под стек отводится 128 слов

stek ends

end Start

  1.  Трансляция, компоновка, трассировка программы.

Трансляция  операторов  языка  в  машинные  коды  ЭВМ. Для  этого используется  программа TASM,  которая  осуществляет  трансляцию исходного  текста  в  машинные  коды  и  генерацию  объектного  модуля. В результате  

получается  модуль (объектный  файл, .obj)  а,  при необходимости, файл  с  листингом  программы (.lst)  и файл  перекрёстных ссылок (.crf).

Компоновка,  создание  исполняемого  файла (.ехе  или .com).  Используется  программа TLINK.  При  помощи  компоновщика  можно  объединить несколько отдельно оттранслированных исходных модулей в один исполняемый файл.

При  необходимости  может  быть  выполнена  трассировка полученной  программы  с  целью  поиска  алгоритмических  ошибок  при помощи отладчика программ TD.

                                                                              Трассировка программы

       Окно  дизассемблера      Окно  регистров  и  окно  регистра  флагов       

Окно  шестнадцатеричного  просмотра (дампа)

Вывод: В ходе выполнения данной лабораторной работы мы ознакомились  с  методами  создания  и  отладки  программ, написанных на языке ассемблера.


 

А также другие работы, которые могут Вас заинтересовать

3832. Определение скорости монтажного патрона с помощью баллистического крутильного маятника 81 KB
  Определение скорости монтажного патрона с помощью баллистического крутильного маятника Цель работы - изучение законов сохранения на примере баллистического маятника. Приборы и принадлежности: баллистический крутильный маятник комплект монтажных пат...
3833. Дослідне вивчення властивостей математичного маятника. 96.5 KB
  Дослідне вивчення властивостей математичного маятника. Мета роботи: Перевірити справедливість формули періоду коливань математичного маятника для різних довжин маятника і різних кутів відхилення від положення рівноваги. Прилади і матеріали: Штатив...
3834. Исследование температурной зависимости электропроводности твердых тел 132 KB
  Исследование температурной зависимости электропроводности твердых тел/ Цель работы: Установление опытным путем законов изменения электропроводности твердых тел при их нагревании и определение энергии активации полупроводника. Теоретические исслед...
3835. Определение влажности воздуха 98.5 KB
  Определение влажности воздуха Приборы и принадлежности: Психрометр, барометр, пипетка и сосуд с водой. Теория работы и описание прибора Такие явления, как быстрота испарения, высыхание различных веществ, тканей, увядание растений, состояние организм...
3836. Определение удельной теплоты парообразования 135 KB
  Определение удельной теплоты парообразования Приборы и принадлежности: Кипятильник, сухопарник, термометр, штатив, технические весы, разновес, барометр-анероид, калориметр, сосуд с водой, стакан. Рис. 12 Теория работы и описание приборов Парообразов...
3837. Физический маятник 88 KB
  Цель работы: Экспериментальное определение физических характеристик колебаний физического и математического маятников. Имеется в виду сравнить экспериментальное и расчётное значение периода колебаний физического маятника и период колебаний математич...
3838. Определение ускорения свободного падения 146.5 KB
  Определение ускорения свободного падения Цель: Изучение динамики движения тел в поле гравитационного притяжения. Задача: измерение ускорения свободного падения с помощью математического и физического маятников Оборудование: универс...
3839. Обработка результатов измерений 95.21 KB
  Обработка результатов измерений. Табличное значение попадает в полученный нами интервал. Выберем на этой прямой достаточно удаленные друг от друга точки А (0,1;50) и В(0,8;300). По их координатам вычислим массу тележки как угловой коэффициент прямой...
3840. Дослідження параметрів вільних коливань фізичного маятника 141.5 KB
  Дослідження параметрів вільних коливань фізичного маятника Мета: вивчення закономірностей вільних коливань фізичного маятника. Використання комп’ютерного моделювання фізичних процесів у пакеті Interactive Physics...