
- •Федеральное агентство связи
- •Регистры общего назначения.
- •Сегментные регистры.
- •Регистры состояния и управления.
- •Формат команд.
- •Создание программы на ассемблере.
- •Отладчик Turbo Debugger.
- •Структура программы на ассемблере.
- •Методические указания по выполнению лабораторных работ.
- •Лабораторная работа №1 Изучение пакета tasm и организация ввода данных с клавиатуры.
- •Лабораторная работа №2 Система адресования и последовательность выполнения основных команд пересылки.
- •Лабораторная работа №3 Программирование арифметических операций.
- •Лабораторная работа №4 Программирование логических операций
- •Лабораторная работа №5 Запись и выполнение программ пересылки данных между информационными массивами.
- •Лабораторная работа №6 Программирование ветвящихся вычислительных процессов.
- •Лабораторная работа №7 Программирование итеративных циклических вычислительных процессов.
- •Лабораторная работа №8 Программирование и контроль регулярных циклических вычислительных процессов.
- •Лабораторная работа №9 Программа и стек.
- •Лабораторная работа № 10 Программирование вычислительных процессов с использованием стандартных подпрограмм.
Отладчик Turbo Debugger.
Отладчик Turbo Debugger (TD) представляет собой оконную среду отладчика программ на уровне исходного текста на языке ассемблер. Он позволяет решить две главные задачи:
определить место логической ошибки;
определить причину логической ошибки.
В данном примере лабораторных работ TD будет также применяться и для исследования программ, созданных по результатам лабораторных работ. Запуск отладчика можно произвести из каталога, где он записан. После запуска TD в меню FILE выбрать пункт OPEN и выбрать исследуемый файл. В меню VIEW выбрать пункт CPU. Исследовать программу в пошаговом режиме, используя клавишу F7. Окно CPU отражает состояние микропроцессора и состоит из 5 подокон:
окно с исходной программой в дизассемблированном виде;
Registers - окно регистров микропроцессора, отражающего текущее содержимое регистров;
окно флагов, которые отражают текущее состояние флагов микропроцессора в соответствии с их мнемоническими названиями;
окно стека Stack, отражающее содержимое памяти выделенной для стека. Адрес области стека определяется содержимым регистров SS и SP;
окно с дампом памяти Dump, отражающего содержимое области памяти по адресу, который формируется из компонентов, указанных в левой части окна.
Каждое из 5 подокон независимо друг от друга и в зависимости от настроек TD может, как присутствовать, так и отсутствовать в окне CPU.
Структура программы на ассемблере.
Все программы, которые следует создать по курсу лабораторных работ, будут содержать в себе некоторые стандартные блоки, которые будут одинаковы для всех программ, и блоки, которые отражают непосредственно цель лабораторной работы. Эти блоки для всех лабораторных работ будут разные.
Пример стандартного оформления программы на языке ассемблер:
Masm model small .data
stack 256 .code start: mov ax,@data mov ds,ax |
; режим работы ; модель памяти ; сегмент данных. При наличии ; исходных данных они описываются в ; этом сегменте ; сегмент стека размером в 256 байт ; сегмент кода ; точка входа в программу ; заносим адрес сегмента данных в регистр АХ ; АХ в DS |
; далее текст программы в соответствии с заданием лабораторной работы
mov ax,4c00h int 21h end start |
; пересылка 4c00h в регистр АХ ; вызов прерывания с номером 21h ; конец программы сточкой входа start
|
Методические указания по выполнению лабораторных работ.
Перед началом выполнения лабораторных работ преподаватель ведущий занятие должен провести инструктаж студентов о правилах работы с лабораторным оборудованием, и о порядке проведения лабораторных занятий.
В начале лабораторного занятия студент обязан получить допуск к выполнению лабораторных работ. Допуск дается преподавателем при выполнении следующих условий:
наличие тетради для отчетов по лабораторным работам
правильно выполненная предварительная часть задания
умение работать с лабораторным стендом
число незащищённых работ меньше двух
По окончании работы после проверки преподавателем экспериментальных данных, студент обязан сдать лабораторный стенд лаборанту. Оформление отчетов всего лабораторного цикла осуществляется в отдельной тетради.