Лабораторые работы / Методуказ к лаб 1-Орг-я ЭВМ
.docМетодические указания к выполнению лабораторной работы 1 (2 час.)
Тема: Изучение ассемблерной архитектуры микропроцессора IBM PC в среде отладчика TURBO-DEBBUGER (TD).
Аппаратно-программное обеспечение работы: IBM PC - совместимый компьютер, ОС WINDOWS или MS DOS, файл td.exe.
1. Подготовка к работе.
1.1. Повторить по установочной лекции, темам Учебного пособия / 1/ и лекциям 5 и 6:
-
Сегментацию памяти для процессоров IBM PC – тема 3 /1/.
-
Типы сегментов памяти, адресацию сегментов и элементов в них тема 3 /1/.
-
Регистры данных и адресов: имена, разрядность, назначение тема 3 /1/..
-
Взаимосвязь между типами сегментов и адресными регистрами тема 3 /1/..
-
Способы адресации операндов в командах языка Assembler тема 5 /1/.
-
Основные команды языка Assembler для IBM PC тема 6 /1/.
-
Ответить на контрольные вопросы для данной работы (пункт 5).
-
Изучить Инструкцию по работе с программой – отладчиком TD (см. Приложение А).
-
Порядок выполнения работы:
-
На рисунке 1 приведен рабочий экран программы-отладчика TD с некоторой рабочей программой, открытой в окне CPU. Изучите рабочий экран отладчика. Найдите все окна TD:
-
-окно CPU, где отображен текст загруженной программы на языке Assembler, а левее –адреса смещений ячеек памяти в сегменте кода со свои содержимым - H – кодами инструкций МП;
-
-окно регистров МП, а в нем найдите РОН, УКАЗАТЕЛИ, ИНДЕКСНЫЕ, СЕГМЕНТНЫЕ регистры и регистр ФЛАГОВ;
-
- окно сегмента данных, а в нем определить, сколько байт отображается в одной строке карты памяти сегмента ;
-
окно сегмента стека.
-
.Найдите все ресурсы этой программы (сегменты ОЗУ и их адреса, а также регистры МП). Письменно выполнить задания 3.1 – 3.12.
-
Запустите программу TD (файл TD.EXE). На экране монитора должна появиться картина, подобная рис 1. В окне CPU открыта некоторая рабочая программа. С этой программой Вы и будете работать. Несмотря на то, что программа Вам пока незнакома, отдельные команды Вычислительны сможете вспомнить или изучить.
-
Вновь выполните задания 3.1. – 3.12., но используя уже картинку на экране монитора.
-
Выполните задания 3.13 – 3.17. Эти эадания потребуют от вас умений вводить изменения (новые числовые значения) в ячейки и регистры. Если забыли, как это делать, воспользуйтесь Инструкцией по работе с программой TD.
-
Распечатайте картинку экрана программы TD.EXE после исполнения п.3.17.лаб. работы.
-
Составьте отчет по работе.
-
Задания к работе
-
Выпишите адрес текущего сегмента данных нулевого, а эатем и первого его байтов.
-
Вычислите физический адрес ячейки текущего сегмента данных с полным указателем DS:0005.
-
Укажите, какое значение находится в сегменте данных по адресу смещения 00010 = 000Аh. Это значение байта или слова?
-
Определите содержимое ячеек DS:0003h и DS:0011h. В каком сегменте они размещены?.
-
Укажите в h- кодах и b- кодах содержимое регистров AH, AL, AX.
-
Найдите в сегменте кодов одну из команд.. Выпишите в отчет ее полный указатель, мнемокод команды на языке Assembler и h - код ее инструкции МП
-
Найдите третий байт и третье слово в сегменте данных, выпишите их адреса (полный указатель) и значение в h- и b- кодах.
-
Найдите команду языка Assembler по ее следующему полному указателю: CS:0013h. Выпишите в отчет эту команду на языке Assembler и ее h - код инструкции. Составьте структурную схему выполнения операции команды.
-
Выпишите в отчет h- кодах и b- кодах содержимое ячейки памяти по адресу CS:0005h
-
Введите константу 0F2h в сегмент данных по адресу смещения 0001h
-
Введите содержимое ячейки DS:09A6h в любую ячейку стека Сколько ячеек стека и с какими полными адресами использовано под введенную константу?.
-
Введите содержимое регистра DX в сегмент данных по адресу смещения DS:0000h.
-
Иэмените значение флага Z. Каков смысл этого флага.
-
Попробуйте записать константу C2h по адресу: DS:0003h. Изменилось ли содержимое ячейки памяти? Почему? Переведите константу C2h в десятичную систему счисления, проверьте ее формат в h – кодах и исправьте исходный формат и вновь попробуйте записать эту константу в ту же ячейку. Опишите в отчете результата своей работы
-
Содержание отчета:
4.1. Тема и N лаб. работы
-
Тексты заданий с 3.1. по 3.17и результаты их выполнения.
-
Экран программы TD.EXE после исполнения п.3.17.лаб. работы на Вашем компьютере (а не) рис. 1 в данных методуказаниях.
-
Ответы на контрольные вопросы и выполнение всех заданий п. 5.
Примечание: Тексты заданий и вопросов записывать полностью !
-
Контрольные вопросы и задания для самопроверки:
5.1. Назовите все сегментные регистры
-
Какой сегмент данных называется текущим?
-
Как называется содержимое ячейки сегмента кодов?
-
Какова разрядность регистров общего назначения?
-
Что содержит регистр IP?
-
Какие регистры по умолчанию адресуют элемент в сегмент данных?
-
Какой регистр указывает на смещение в сегменте кодов?
-
В каких регистрах нельзя хранить операнды?
-
В каких регистрах можно хранить адреса смещений?
-
Приведите пример числового значения полного указателя в h- кодах.
-
Приведите примеры чисел: 4, 35, 335 в форматах байта и слова.
-
Нарисуйте карту памяти для следующих сегментов:
-
-Сегмента кода размером 5 слов.
-
-Сегмента данных с тремя любыми константами в формате байта, и переменной с именем Т1, указывающим на пятую ячейку сегмента.
-
-Сегмент дополнительных данных с одноразрядным, двухразрядным и трехразрядным десятичными числами в кодах ASCII.
Литература:
-
Архитектура и программирование реального режима микропроцессоров фирмы Intel: Уч. пособие /Сост. Т.К.Щемелева; Перм. техн. ун-т. Пермь,2001. 96 c.
-
Абель П. Язык ассемблера для IBM PC и программирования. – М.: Высш. шк., 1992. 447 с.
-
Любые источники с темой: Команды языка ассемблера для IBM PC (процессоров Intel)
.

Рисунок 1-Рабочий экран программы TD.
