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.

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

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

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

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


 

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

52770. Дії з десятковими дробами 59.5 KB
  Мета: - Систематизувати, узагальнити знання за темою: «Дії з десятковими дробами»; - закріпити вміння та навички учнів під час розв’язання вправ і задач; - розвивати пам'ять, увагу, пізнавальні здібності учнів; - виховувати вміння уважно слухати думку інших; - поважно відноситись до відповідей однокласників.
52772. Додавання та віднімання десяткових дробів 48 KB
  Мета уроку: повторити основний теоретичний матеріал за даною темою продовжити формувати практичні навики по розвязуванню вправ за даною темою; з метою активізації пізнавальної діяльності організувати роботу учнів на уроці у формі змагання між двома командами одного класу. Сьогодні учні ми проведемо з вами урок подорож по математичному океану. При допомозі піктограм трьох видів учні демонструють свій настрій на початку уроку. Учні пробують при допомозі вчителя сформулювати завдання уроку виходячи з теми уроку.
52773. Мандрівка до країни Десяткових дробів 121 KB
  Виконуючи різні завдання ми з вами побуваємо в різних містах країни Десяткових дробів і успішно прийдемо в місто гарних оцінок. Щоб потрапити до міста Усної лічби треба відгадати загадку: На базарі їх не купити На дорозі не зайдеш Їх не зважиш на терезах І ціни не підбереш знання Подивіться які гарні квіти ростуть в цьому місті. Щоб потрапити до міста Кмітливих треба відновити запис: 35 5 04 0 4187...
52774. Десяткові дроби і дії над ними 2.75 MB
  Дробова частина містить стільки цифр скільки нулів в запису знаменника звичайного дробу. 02 = 020 = 0200 = 5400 = 54 125080 = 12508 00980 = 0098 З двох десяткових дробів більше та у якої більша ціла частина. 32 41 092 102 45 3947 Для порівняння двох дробів з однаковими цілими частинами необхідно за допомоги приписування нулів праворуч зрівняти кількість цифр в дробовій частині після чого порівняти отриманні дроби порозрядно. З двох десяткових дробів більше та у якої більша ціла частина 32 41 092 102...
52775. Подорож до країни дробів. Позакласний навчально-виховний захід 1.35 MB
  Мета: прищеплювати інтерес до математики; формувати навички роботи з додатковою літературою; поглиблювати знання про дроби та розвивати навички виконання дій зі звичайними дробами. Селище ІСТОРИЧНЕ Дроби в Древнем Египте Необходимость в дробных числах возникла в результате практической деятельности человека. Первые дроби с которыми нас знакомит история зто дроби вида ; ; так называемые единичные дроби. Эти дроби мы находим прежде всего в египетских папирусах около 2000 лет до н.
52776. МНОЖЕННЯ ДЕСЯТКОВИХ ДРОБІВ 380.5 KB
  А як це зробити Отже мета уроку навчитися виконувати множення десяткових дробів та застосовувати набуті знання на практиці. Пояснювати правила множення десяткових дробів краще на конкретних прикладах розглянувши різні випадки. Звертаю увагу учнів на той випадок коли в результаті множення вийшла відповідь яка закінчується нулем.
52777. Розв’язання вправ з теми: «Дроби і ділення. Мішані числа» 583.5 KB
  Завдання учням: стрілочками встановити відповідність між номером завдання і відповідями. Самоперевірка завдання за наданим зразком. А б в Учні самостійно виконують завдання в зошитах під час перевірки пояснюють виконання завдань 2 3 2.
52778. Звичайні дроби. Розв’язування вправ 330.5 KB
  Аукціон розпродажу перепусток Хто швидше порахує Кожне завдання оцінюється в 1 бал з врахуванням швидкості виконання; хто перший виконав завдання додатково до загальної суми балів додає 3 бали другий 2 бали третій 1 бал. Що означають чисельник і знаменник дробів 3 5 і 7 12 взаємоперевірка в парах оцінку виставляє опонент; кількість балів 2 2. Математика 5 клас розділ Дробові числа рубрика Хочеш знати ще більше хто перший згадаєкількість балів 3 Третя зупинка: Стародавній Рим. Підсумок уроку Підрахунок балів...