740

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

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

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

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

Русский

2013-01-06

88 KB

33 чел.

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

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

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

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

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

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

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

Кафедра                    ЭиВТ                   

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

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

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

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

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

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


 

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

34824. Мировоззренческое и методологическое значение понятия материя для медика 44.5 KB
  В соответствии с этим можно выделить различные формы материализма и идеализма. Так с точки зрения исторического развития материализма можно отметить следующие его основные формы. Материализм Древнего Востока и Древней Греции это первоначальная форма материализма в рамках которой предметы и окружающий мир рассматриваются сами по себе независимо от сознания как состоящие из материальных образований и элементов Фалес. Существуют и такие разновидности материализма как например последовательный материализм в рамках которого принцип...
34825. Постановка проблемы сознания в философии. Отражение как атрибут материи. Развитие форм отражения как предпосылка возникновения сознания. Сознание как высшая форма отражения 40.5 KB
  Развитие форм отражения как предпосылка возникновения сознания. Сознание как высшая форма отражения. Логично предположить что вся материя обладает свойством по существу родственным с ощущением свойством отражения. присущее всей материи свойство отражения.
34826. Сущность сознания. Проблема идеального. Критика альтернативных концепций сознания 38 KB
  Критика альтернативных концепций сознания. Таким образом речь как и орудия труда это важнейший фактор формирования сознания человека и его мира. Еще раз отметим что идеальное главнейший признак сознания обусловленный социальной природой человека.
34827. Сознание как субъективный образ объективного мира. Творческая природа сознания. Сознание и самосознание. Рефлексия и интенсивность. Проблема формирования человеческой психики у слепоглухих детей 40 KB
  Творческая природа сознания. Способность к целеполаганию специфически человеческая способность составляющая кардинальную характеристику сознания. В структуре сознания наиболее отчетливо выделяются прежде всего такие моменты как осознание вещей а также переживание т. Развитие сознания предполагает прежде всего обогащение его новыми знаниями об окружающем мире и самом человеке.
34828. Структура сознания. Разум, чувства и воля. Соотношение сознательного и бессознательного. З. Фрейд и К. Юнг. Интуиция, интуиция врача 48.5 KB
  В структуре сознания наиболее отчетливо выделяются прежде всего такие моменты как осознание вещей а также переживание т. Развитие сознания предполагает прежде всего обогащение его новыми знаниями об окружающем мире и самом человеке. рациональный уровни сознания.
34829. Отбор альтернативных проектов по критерию ЧДД и по показателю внутренней нормы доходности капитальных вложений 36 KB
  Какой проект лучше Для того чтобы выбрать лучший проект нужно для каждого проекта построить графики функций NPV i. Обычно эти графики выглядят следующим образом: NPV Если i iкр то лучше проект Б поскольку у него NPV больше. В диапазоне i =0iкр два показателя вступают NPV и r вступают в противоречия: NPVБ NPVА лучше Б и rБ rА лучше А. В диапазоне i iкр: NPVБ NPVА лучше А и rБ rА лучше А.
34830. Номинальная, периодическая и эффективная (эквивалентная) процентная ставка 28.5 KB
  Периодическая процентная ставка iпер = iном m где m количество периодов в году внутри которых доход начисляется по процентной ставке iпер. iном = iперm Эффективная эквивалентная процентная ставка iэф доходы начисленные по этой процентной ставке в конце года равны доходам начисленным m раз в течение года по процентной ставке iпер т.: 1 iэф=1 iперm 1 iэф=1 iном mm Если количество лет n то 1 iэфn=1 iном mnm Чем чаще в течение года начисляются проценты по фиксированной периодической процентной ставке тем доходы...
34831. Реальная и номинальная ставка процента. Учет инфляции при расчете ЧДД 36 KB
  Учет инфляции при расчете ЧДД β годовая прогнозируемая инфляция доли единицы i реальная годовая процентная ставка. Без учета инфляции. С учетом инфляции. NPV = NCF0∑Tt=1 NCFt⃰ 1 iномt ≥0 2 NCFt прогноз чистых денежных потоков в постоянных ценах без учета инфляции; NCFt⃰ прогноз чистых денежных потоков в постоянных ценах с учетом инфляции.
34832. Приведение инвестиционных проектов в сопоставимый вид по продолжительности жизненного цикла 55 KB
  Только после этого сравнивают показатели NPV. А: Т= 10 лет NPV Б:Т=20 лет NPVБ 10 лет NPV 2NPV 20 лет NPVБ NPVБ В данном случае нужно сравнить удвоенный ЧДД проекта А с ЧДД проекта Б. Если А: Т= 2 года NPV Б:Т=3 года NPVБ Т о эти 2 проекта можно сравнивать только на продолжительности 6 лет. А: 2 года 2года 2 года Б: 3 года 3 года 3 NPV 2 NPVБ 6 лет В проект А следует реинвестировать денежные средства дважды в проект Б один раз.