740

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

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

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

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

Русский

2013-01-06

88 KB

28 чел.

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

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

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

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

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

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

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

Кафедра                    ЭиВТ                   

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

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

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

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

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

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


 

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

27857. Дифференциальная защита трансформатора с торможением (схема, расчет) 86 KB
  для отстройки защит от броска тока намагничивания и от максимальных значений установившегося первичного тока небаланса максимального расчётного необходимо соответствующим образом выбрать ток срабатывания защиты минимальный и число витков торм. Далее расчёт витков НТТ основной и неосновной обмоток и максимальный первичный ток небаланса выполняется точно так же как и для реле РНТ в соответствии с таблицей. Дополнением к этому расчёту является выбор числа витков тормозной обмотки. FСРмин=100 А витков FРАБ=IРАБWРАБ Fторм=IтормWторм...
27858. Причины отклонения частоты в энергосистеме. Автоматическая частотная разгрузка 38.5 KB
  Смысл АЧР заключается: при дефиците мощности частота начинает снижатся в сети уже при частоте равной 48 Гц система разваливается. АЧР отключает наименее ответственные потребители восстанавливая таким образом баланс мощности. Величина мощности отключаемой устройством АЧР должна определятся с учётом того что в общем случае мощность потребляемой нагрузки зависит от частоты и снижается вместе с ней. 1 2...
27859. Схема устройства АВР на переменном оперативном токе в установках ниже 1000 В. Схе 145.5 KB
  Схема устройства АВР на переменном оперативном токе в установках ниже 1000 В. Схемы устройств АВР в установках выше 1000 В. АВР двигателей. Схемы и устройство АВР на переменном оперативном токе на установках меньше 1000В.
27860. Схема токовой ступенчатой защиты на постоянном оперативном токе в совмещенном и разнесенном исполнениях. Автоматическая частотная разгрузка (требования к АЧР, расчет) 100.5 KB
  Автоматическая частотная разгрузка требования к АЧР расчет Схемы токовых ступенчатых защит 1. Автоматическая частотная разгрузка АЧР Смысл АЧР заключается: при дефиците мощности частота начинает снижатся в сети уже при частоте равной 48 Гц система разваливается. АЧР отключает наименее ответственные потребители восстанавливая таким образом баланс мощности. Работа АЧР должна выполнятся при снижении частоты до 4748 Гц.
27861. Особенности расчета максимальной токовой защиты с дешунтированием катушки отключения выключателя 137.5 KB
  Проверить отсутствие возврата реле после дешунтирования катушки отключения т. возврат реле в начальное состояние на время работы катушки отключения выключателя должен быть исключен. Проверка коммутационной способности переключающих контактов реле. РТ85 МТЗ с независимой выдержкой времени выполненной по схеме неполной звезды на переменном оперативном токе с дешунтированием ОКВ с промежуточным реле РП341 и реле времени РВМ12.
27862. Совместное действие устройств АПВ и токовой защиты. Расчет тока срабатывания поперечной дифференциальной токовой направленной защиты 156.5 KB
  Совместное действие устройств АПВ и токовой защиты. Совместное действие защиты и устройств АПВ Согласованное действие АПВ с действием РЗ можно повысить эффективность устройств автоматики расширить защитные зоны простых токовых быстродействующих защит. При этом допускается не селективная работа защиты с последующим исправлением в результате действия устройств АПВ. При замыкании в точке сети Iотс выключает Q1 →АПВ→ включает его обратно.