740

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

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

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

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

Русский

2013-01-06

88 KB

30 чел.

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

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

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

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

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

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

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

Кафедра                    ЭиВТ                   

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

РАБОТА №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.

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

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

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

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


 

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

45038. Розрахунок на точність важільного мікрометра 1.09 MB
  Зовнішній вигляд важільного мікрометра Механізм відліку рисунок 2 складається з синусного механізму з довжиною важеля а виконаного у вигляді вилки 3 з сталевою кулькою який впирається в стінку паза рухомої пятки 2 і зубчатого сектора 4 встановленого на одній осі О з синусним важелем і входячим в зачеплення з центральним колесом 5. Рисунок 2 Схема механізму відлікового пристрою важільного мікрометра Похибка схеми мікрометра обумовлена використанням в ній синусного механізму який має нелінійну функцію перетворення. Знайдемо...
45040. Технология публикации информации в формате. Виды форматов 2.52 MB
  Компьютерный формат файла специфический способ кодирования информации на компьютере. Существуют различные форматы файлов: звуковые форматы форматы автоматизированного проектирования форматы Continer цифровая звукозапись графические форматы видео форматы и т. Чтобы компьютер понимал к какому типу относится тот или иной файл и в какой программе его открыть после имени файла указывается расширение. Расширение файла это часть имени файла которое отделяется от основного имени точкой.
45041. Проектирование перинатального центра 5.07 MB
  Перинатальный центр - учреждение родовспоможения, оказывающее все виды высокотехнологичной и дорогостоящей медицинской стационарной помощи в области акушерства, гинекологии, неонатологии и в т.ч. хирургии новорожденных, а также осуществляющее амбулаторную, консультативно-диагностическую и медико-реабилитационную помощь женщинам и детям раннего возраста.
45043. Цивільна оборона. Методичні вказівки 331.5 KB
  Прогнозування і оцінка обстановки у разі вибуху газоповітряної суміші Варіант №0. Прогнозування обстановки під час вибуху газоповітряної суміші. Література16 Мета контрольної роботи поглибити і закріпити теоретичні знання з оцінки і захисту робітників і службовців у разі вибуху газоповітряної суміші на підприємстві набути навичок практичного використання знань. Завдання контрольної роботи виконання рохрахунковопояснювальної записки з оцінки обстановки на підприємстві у разі вибуху...
45044. Решение задачи линейного программирования графическим методом 451 KB
  Порядок выполнения: Составить математическую модель задачи. Проверить ограничение задачи. При Или Границы области допустимых решений Пересечением полуплоскостей будет являться область координаты точек которого удовлетворяют условию неравенствам системы ограничений задачи.
45045. ОТРАСЛИ ЭКОНОМИКИ 428 KB
  Таким образом экономика предприятия это наука о правилах хозяйствования на предприятии. Изучая данную дисциплину студент должен знать основы экономики предприятия как основного объекта рыночной экономики организационные и производственные основы функционирования предприятия в условиях рынка. Уметь построить организационную и производственную структуру предприятия.
45046. MD5 (message digest algorithm) 81.5 KB
  Обробка одного 512 бітового блока Кожний раунд приймає на вхід 512 бітовий блок Yq та 128 бітове значення буферу BCD. Елементарна операція Кожний раунд в обробці одного 512 бітового блока складається із послідовності 16 кроків кожен з яких є наступною операцією над BCD буфером: = b gb c d X[k] T[i] s де s є операцією циклічного зсуву вліво на s біт X[k] = M[q 16 k] kте 32 бітове слово в qому 512 бітовому блоці вхідного повідомлення. При надходження бітів до 2 3 та 4 раундів використовуються наступні перестановки:...