Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Отчет по лабораторной работе № 11





Тема: «Программирование цикла с переадресацией»

 

Цель работы: _________________________________________________________________________

______________________________________________________________________________________

 

Ход работы:

Пример циклической программы (таблица 1). Суммирование элементов массива, длина которого, записывается в регистр CX, смещение первого элемента в DI. Элементы массива представлены 16-ти разрядными числами.

Таблица 1.

Адрес команды Код команды Метка Команда Операнды Комментарии
      XOR AX,AX Сбросить регистры
      XOR BX,BX
      MOV CX,05 (CX):=0005
    MOR: ADD AX,[DI] Прибавить текущий элемент
      JNC NC Имеется перенос
010B     INC BX Да, учесть в BX
010C   NC: INC DI Продвинуть указатель
010D     INC DI
010E     LOOP MOR Повторить цикл
      INT3   Остановка

1. Вызвать программу AFD. Записать в регистр Di 0030.

2. По адресам со смещением [0030-0039] записать числа в соответствии с вариантом (таблица 2).

Вариант № __ Адреса                    
Числа                    

3. Ввести фрагмент программы таблицы 1, учитывая, что в командах переходов вместо меток должны быть машинные адреса команд, на которые осуществляется переход. В процессе ввода заполнить 2 колонку таблицы 1.

4. После ввода фрагмента программы выйти из режима ассемблирования, нажав Ctrl + Enter.

5. Набрать D 100 (ввод).

6. Выполнить программу в пошаговом режиме с помощью клавиши F1, на каждом шаге фиксирую результат в таблице 3, учитывая, что старшие разряды числа находятся в регистре BX, а младшие в AX.

Таблица 3.

Шаг Адрес команды AX BX CX Флажок CF
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           

 

7. Ввести фрагмент программы индивидуального задания, выполнить его в пошаговом режиме, нажимая F1, записать результат.

 

Вариант индивидуального задания № __

Условие задачи: __________________________________________________________________

____________________________________________________________________________________________________________________________________________________________________________

__________________________________________________________________________________

 

Решение и результат:

______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Выводы: ____ ____________________________________________________________________ ____________________________________________________________________________________________________________________________________________________________________________

 

Ответы на контрольные вопросы:

1. Какие команды применяются для организации циклов? _______________________________

______________________________________________________________________________________

 

2. Какой регистр используется в качестве счетчика в цепочечных командах? ________________

 

3. Каким образом выполняется команда LOOP (повторить цикл)?

______________________________________________________________________________________

______________________________________________________________________________________

 

 

группа ПЗ- __ ФИО _________________ дата выполнения работы __________ дата сдачи ________

 

Отчет по лабораторной работе № 12.

Тема: «Подпрограммы и стек»

 

Цель работы: _________________________________________________________________________

______________________________________________________________________________________

 

Ход работы:

1. Запустить AFD.exe. Набрать А 100. Ввести программу записи содержимого регистров в стек:

PUSH AX

PUSH [10]

PUSH [SI]

INT3

2. Для выхода из ассемблирования нажать Ctrl+Enter. Записать в регистры данные (таблица 1).

Таблица 1.

До выполнения программы После выполнения программы
АХ    
10,11 A456  
SI    
20,21 94F5  
SP    
Ячейки памяти: FFFE    
FFFC    
FFFA    

3. Набрать D 100, выполнить программу в пошаговом режиме (F2). Убедиться, что после выполнения каждой команды содержимое SP уменьшается на 2, т.к. стек работает со словами и меньший байт записывается по меньшему адресу. Содержимое регистров при этом не изменяется. Заполнить таблицу 1.

4. Очистить содержимое регистров (записать 0). Ввести программу, которая выталкивает содержимое регистров. Учитывая принцип работы стека, вводимая программа будет иметь вид:

РОР DX

РОР CX

РОР BX

РОР AX

INT3

Выполнить программу в пошаговом режиме, заполнить таблицу 2.

Таблица 2.

До выполнения программы После выполнения программы
АХ    
BX    
CX    
DX    
SP    
Ячейки памяти: FFF8    
FFFA    
FFFC    
FFFE    

5. Исследовать выполнение команды PUSHA, которая записывает содержимое всех регистров МП в стек (таблица 3). Набрать А 100 и программу: PUSHA

INT3

Записать в регистры значения из таблицы 3. Набрать D 100, выполнить программу в пошаговом режиме (F2).

Таблица 3.

До выполнения программы После выполнения программы
АХ    
BX    
CX    
DX    
SI    
DI    
SP    
BP    
Ячейки памяти: FFFE    
FFFC    
FFFA    
FFF8    
FFF6    
FFF4    
FFF2    
FFF0    

6. Исследовать выполнение команды РОРА, которая выталкивает из содержимое всех регистров. Очистить регистры, набрать А 100 и программу: РОРА

INT3

Таблица 4.

До выполнения программы После выполнения программы
АХ    
BX    
CX    
DX    
SI    
DI    
SP    
BP    
Ячейки памяти: FFFE    
FFFC    
FFFA    
FFF8    
FFF6    
FFF4    
FFF2    
FFF0    

7. Набрать D 100, выполнить программу в пошаговом режиме (F2), заполнить таблицу 4.

8. Исследовать выполнение команды PUSHF, которая размещает в вершине стека содержимое регистра флагов. Набрать А 100 и программу: PUSHF

INT3

9. Набрать D 100, выполнить программу. Записать содержимое 2-х ячеек вершины стека _________

и сравнить результат со значениями флажков, формат регистра флажков имеет следующий вид:

  nt io pl of df if tf sf zf   af   pf   cf
                               
                               

10. Пример использования стека. Дан массив (см. таблицу), состоящий из 10 байт, записанных с адреса со смещением 0010. Используя стек можно переписать элементы массива в обратном порядке (вместо имен меток писать адреса перехода в командах loop). Выполнение программы клавиша F1.

Адрес                    
До выполнения                    
После выполнения                    

MOV SI,0010

MOV CX,0A

M: PUSH [SI]

11. Составить программу индивидуального задания. Выполнить в пошаговом режиме, нажимая F2, записать результат. Вариант № __ Условие задачи:
INC SI

LOOP M

MOV SI,0010

MOV CX,0A

M1: POP [SI]

INC SI

LOOP M1

INT3

 

Решение и результат:

Выводы: ____ ______________________________________________________________________ ________________________________________________________________________________________

Ответы на контрольные вопросы: 1. Как производится запись числа в стек? 2. Как выполняется чтение числа из стека? 3. Какие функции выполняет стек? 4. Какая команда используется для записи числа в стек? 5. Какая команда используется для записи содержимого всех регистров МП в стек?

группа ПЗ- __ ФИО _________________ дата выполнения работы __________ дата сдачи ________

Отчет по лабораторной работе № 13.

Тема: «Командный цикл процессора»

 

Цель работы: ____________________________________________________________________

____________________________________________________________________________________________________________________________________________________________________________

______________________________________________________________________________________

Ход работы:

1. Вызвать программу отладчик AFD.ехе.

2. На запрос: "Press any key to continue" нажать любую клавишу.

3. Переместить курсор в поле 1 (регистры), используя клавишу F7. В регистр ВХ записать число 0140, в регистр SI записать число 0140, в регистр DI записать число 0160.

4. Вернуть курсор в поле 4 (область ячеек памяти), нажав клавишу F8 дважды. По адресам 0140-0148 набрать шестнадцатеричные числа 01, 02…09, по адресам 0160-0168 набрать числа А1, А2, …А9.

5. Перейти в поле 2 (CMD командная строка), нажав клавишу F7.

Ввести команду: D 100 (ввод) (дамп памяти с адреса 100).

6. Ввести команду ассемблирования: А (ввод)

7. В поле 3 ввести фрагмент программы в соответствии с таблицей 1 (графы 4, 5). В процессе ввода заполнить графу 3 таблицы 1.

Таблица 1.

Шаг Адрес Код команды Команда Операнды Комментарии
           
      MOV CX,0005 CX:=05
      MOV AL,[SI] AL:=[SI]
      XLAT   Замена байта
      MOV [DI],AL [DI]:=AL
      INC SI SI:=SI+1
      INC DI DI:=DI+1
  010А   DEC CX CX:=CX-1
  010В   JNZ   если не 0 – перейти на адрес 0103
  010D   INT3   остановка

8. После ввода фрагмента программы выйти из режима ассемблирования, нажав Ctrl + Enter.

9. Набрать D 100 (ввод).

10. Выполнить фрагмент программы в пошаговом режиме, многократно нажимая клавишу F2, ввод, и фиксируя на каждом этапе состояние регистров: АХ, СХ, SI, DI, флажков. Результаты занести в таблицу 2.

Таблица 2.

Шаг Адрес команды AX CX SI DI Флажки
OF DF IF SF ZF AF PF CF
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           
                           

После выполнения программы (появится сообщение Stop by BRx) записать содержимое ячеек памяти с относительными адре­сами 0140-0148 и 0160-0168 в таблицу 3.

Таблица 3.

Адрес                             165 166      
до                                    
после                                    

Выводы: _________________________________________________________________________ ________________________________________________________________________________________________________________________________________________________________________________

Ответы на контрольные вопросы:

1. Какие элементы входят в состав программной модели МП?

____________________________________________________________________________________________________________________________________________________________________________________________

 

2. Структура и назначение регистров АХ, ВХ, СХ, DX.

________________________________________________________________________________________________________________________________________________________________________________________________

 

3. Структура и назначение регистра флажков.

________________________________________________________________________________________________________________________________________________________________________________________________

 

4. Перечислите сегментные регистры и укажите их назначение.

________________________________________________________________________________________________________________________________________________________________________________________________

 

5. Укажите назначение регистров SP, BP, SI, DI.

________________________________________________________________________________________________________________________________________________________________________________________________

 

6. Назначение программы-отладчика AFD. ____________________________________________________ ______________________________________________________________________________________________

 

7. Основные команды программы-отладчика AFD.

____________________________________________________________________________________________________________________________________________________________________________________________

 

 

группа ПЗ- __ ФИО _________________ дата выполнения работы __________ дата сдачи ________

Date: 2016-02-19; view: 648; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию