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.

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

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

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

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


 

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

26432. Однокамерный желудок 25 KB
  Тело желудка corpus ventriculi изогнуто. Различают большую кривизну желудка curvatura ventriculi major и малую кривизну curvatura ventriculi minor. В области большой кривизны между входной и выходной частями стенку желудка называют донной fundus ventriculi. На малую кривизну желудка с диафрагмы и печени переходит брюшина и образует малый сальник omentum minus.
26433. Опорно-двигательный аппарат (apparatus locomotorius) 20.5 KB
  Все его системы активно участвуют в реализации биомеханического двигательного поведения животных которое складывается из 2 компонентов: статический удержание животного на ногах во время покоя динамический перемещение тела в пространстве локомоция. Костносвязочная и мышечная системы единый биомеханический аппарат а его системы взаимообуславливают друг друга.
26434. Орган слуха и равновесия 20.5 KB
  Наружное ухо: ушная раковина и наружный слуховой проход железы выделяющие серу. Среднее ухо: барабанная полость молоточек наковальня чечевицеобразная косточка и стремечко евстахиева труба с носоглоткой. Внутреннее ухо: костный и перепончатый лабиринт. Внутреннее ухо состоит из преддверия vestibulum улитки cochlea и вестибулярного аппарата.
26435. Организм и его составляющие 21 KB
  Уровни анатомической организации организма: организм аппарат функциональное объединение разнородных органов которые отличаются своим происхождением развитием но объединяются общностью функций эндокринный опорнодвигательный мочеполовой аппарат система органов совокупность органов имеющих общий план строения общность развития из 1 эмбрионального зачатка функций система органов пищеварения трубкообразный тип из энтодермы. 3 группы систем органов: соматическая висцеральная и интегрирующая сердечнососудистая система...
26436. Органы кроветворения и иммунной защиты 21.5 KB
  Они делятся на: центральные органы красный костный мозг и тимус и периферические контролирующие внутреннюю среду: селезёнка и лимфоузлы; на границе организма с внешней средой: миндалины лимфоидные образования пищеварительного тракта дыхательного аппарата мочеполового аппарата. Красный костный мозг medulla osse в костях вырабатывает в периферическую кровь кровяные клетки.
26437. Органы мочевыделения organa uropoetica 21.5 KB
  Анатомический состав: почки постоянно образуют мочу мочеточники непарный мочевой пузырь и мочеиспускательный канал у самцов мочеполовой. У птиц: почки мочеточники уросинус клоаки. Иннервация: почки: вагусом через экстра и интрамуральные ганглии. Кровоснабжение: почки: почечные арт.
26438. Парасимпатическая НС 20 KB
  Парасимпатическая иннервация происходит в голове от центров среднего и продолговатого мозга через экстра и интрамуральные ганглии а также ресничный крылонёбный подчелюстной и ушной ганглии; органы грудной и брюшной полости от продолговатого мозга по вагусу через экстра и интрамуральные ганглии тазовой полости от крестцового отдела спинного мозга по тазовым нервам через экстра и интрамуральные ганглии. Перерыв происходит в парасимпатических ганглиях: экстра и интрамуральных.
26439. Передняя кишка 21.5 KB
  Пищевод трубчатый мышечный орган выстланный слизистой оболочкой покрытой многослойным плоским ороговевающим эпителием устойчивым к воздействиям корма. Пищевод начинается в глотке и заканчивается в желудке. По расположению различают шейную грудную и брюшную части пищевода.
26440. Плечевой пояс 21 KB
  В области лопатки располагаются мышцы действующие на плечевой сустав предостная supraspinatus дельтовидная заостная infraspinatus малая круглая teres minor клювовидноплечевая coracobrachialis подлопаточная subscapularis большая круглая напрягатель капсулы сустава а также часть мышц плечевого пояса трапециевидная ромбовидная зубчатая вентральная serratus ventralis. У птиц плечевой пояс имеет трёхчленное построение: саблевидная лопатка коракоид и ключица.