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.

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

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

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

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


 

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

36456. Основные характеристики и достижения Древнего Рима 38 KB
  переход от патриархального к классическому рабству на территории Италии произошел в греческих городахколониях Южной Италии и Сицилии. Сельское хозяйство Италии переживало подъем. Одним из важных показателей прогресса в сельском хозяйстве Италии является выделение новых отраслей: животноводства и приусадебного птицеводства. Скот и птицу разводили в Италии с незапамятных времен но лишь во III вв.
36457. Основные пути перехода античных обществ к феодализму 34 KB
  Византийский путь. Итальянский путь. ЗФранцузский путь Фр. Самый быстрый путь из которого возникли госва Европы Скандинавскорусский путь.
36458. Переход античных обществ к феодализму (один из вариантов на историческом примере) 26.5 KB
  Римская империя = Византия Как и любой переход между цивилизациями данный переход проходил в четыре этапа. Однако неравномерность развития регионов мира приводила к большим различиям в развитии процесса переходного периода. Однако латентный этап перехода начался раннее сформировав ряд важных тенденций ставших впоследствии элементами феодальной цивилизации. Переход по византийскому пути был наименее болезненным но проходило очень медленно.
36459. Основные особенности и достижения Византии 27.5 KB
  Большая роль городов. Высокая роль государства в экономич. Основные достижения: 1 большая роль городов 2развитие торговли 3Высокая роль государства в экономике 4развитие архитектуры 5 использование религии в политических целях 6культурная экспансия 7развита централизация 8социальная мобильность 9Византии удавалось сдерживать натиск с Востока 10 Система подготовки кадров 11иерархическая система правления.
36460. Особенности экономического строя государств феодальной цивилизации на историческом примере 31 KB
  Крупное независимое землевладение значительный слой мелких земельных собственников и крестьянские общины – вот что лежало в основе византийской экономики. Наступал период преобладания семейной общины. К 6 веку была утрачена социальная почва для укрепления мелкого крестьянства что привело к ослаблению деревни упадку земельной собственности городской общины античная традиция и последующему кризису мелких городов конец V в.
36461. Особенности политического устройства государств феодальной цивилизации на историческом примере 43 KB
  примере Византийская империя: Всю тысячелетнюю историю Византии можно условно разделить на три периода : 1. появление и развитие феодализма в Византии. Фактически же и история Византии как самостоятельного государства и история Византийской цивилизации началась в 395 г. Кроме того военностратегическое положение Константинополя обеспечивало Византии господство над проливами.
36462. Утрата античных знаний, упадок культуры 36 KB
  Главное достижение: смогли не только сохранить достижения античной науки но и соединить ее с восточными познаниями. Леонардо Пизанский непопулярные не прошли лицензию у Церкви науки – изучал восточные науки арабские и инд. Однако несмотря на протест церкви непопулярные науки продолжали развиваться т. В середине 15 века происходит научная революция сутью которой было избавление науки от гнета католических догмат.
36463. Трансформация и дробление религиозных течений как признак кризиса феодальной цивилизации 39.5 KB
  Признаки упадка церкви: коррупция и неравенство в церковной иерархии церкви. Их суть: нельзя отпускать грехи без покаяния оно требует внутренней работы а не просто оплаты раскаивающийся получает прощение от Бога а не от церкви лучше совершить доброе деяние чем откупаться богатство церкви в священном писании а не в золоте и добрых делах. Лютер получил значительную поддержку но в каталической церкви дело сначала показалось незначительным когда в 1520 году Папа отлучил Лютера от церкви его многочисленные сторонники сожгли...
36464. Трансформация экономики в рамках индустриальной цивилизации 31.5 KB
  Без постоянно изобретения и совершенствования машин существование такой цивилизации уже становится невозможным. Технический прогресс становится основой жизни цивилизации. И в то же время в процессе монополизации уже были заложены противоречия ярко проявившиеся в ходе развития индустриальном цивилизации.