Файл: Лабораторная работа 1 Изучение команд передачи данных и работы со стеком процессора.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 28.03.2024

Просмотров: 8

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.



Контрольные вопросы:

  1. Сколько команд безусловного перехода использовано в программе?

1

2. Назовите все условные команды, использованные в программе.

3. Как надо изменить условные операторы, чтобы после выполнения программы

содержимое регистра BX было равно 1?

4.Что такое регистр флагов и для чего он используется?

Регистр флагов - регистр состояния, содержащий текущее состояние процессора. Он отражает результат арифметических операций, а также информацию об ограничениях, накладываемых на работу процессора в текущий момент времени

5. Назовите основные признаки фиксируемые регистром флагов.

6. Укажите те строки в которых программа использует содержимое регистра

признаков.

  1. Для чего используется команда CMP?

Команда cmp позволяет использовать утилиту для побайтового сравнения двух произвольных файлов

8. Что меняется внутри процессора при выполнении команды CMP

Вычитывает второй операнд из первого, но содержимое полей не меняет


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

Организация циклов в процессоре

1. Цель работы: изучить порядок выполнения циклов процессором.

2. Выполнение работы:

Задание1: оттранслировать нижеследующую программу на Ассемблере и

записать ее листинг. Используя отладчик, записать в таблицу изменения

регистров AX, BX и CX, исполняя программу по шагам.

Задание 2: объяснить изменение данных в полученной таблице.
1 masm

2 0000 model small

3 0000 .Data

4 0000 0004 p1 dw 04h

5 0002 .code

6 0000 start:

7 0000 B8 0000s mov ax,@data

8 0003 8E D8 mov ds,ax

9 0005 A1 0000r mov ax,p1

10 0008 BB 0000 mov bx,0

11 000B Lb1:

12 000B 83 C3 01 add bx,1

13 000E FE C8 dec al

14 0010 75 F9 jnz Lb1

15 0012 8B 0E 0000r mov cx,p1

16 0016 83 EB 01 Lb2: sub bx,1

17 0019 E2 FB loop Lb2

18 001B B8 4C00 mov ax,4c00h

19 001E CD 21 int 21h

20 end start



Шаг

AX

BX

CX

1

087B

0000

0000

2

087B

0000

0000

3

0004

0000

0000

4

0004

0000

0000

5

0004

0001

0000

6

0003

0001

0000

7

0003

0001

0000

8

0003

0002

0000

9

0002

0002

0000

10

0002

0002

0000

11

0002

0003

0000

12

0001

0003

0000

13

0001

0003

0000

14

0001

0004

0000

15

0000

0004

0000

16

0000

0004

0000

17

0000

0004

0004

18

0000

0003

0004

19

0000

0000

0000

20

4C00

0000

0000




Контрольные вопросы:

  1. Сколько циклов используется в программе?

2 цикла, jnz Lb1 - конец sub bx,1 - начало

  1. Укажите начало и конец циклов организованных в программе.

Lb1: add bx - начало

  1. С помощью, каких команд можно организовать циклы?

Loop, jnz

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

Функцию счётчика цикла

5. Сколько раз выполняется повтор в последней циклической области

программы?

4 раза

6. От чего зависит количество циклических повторов при использовании

команды LOOP?

СХ - счётчик цикла