Пересылка из регистра в регистр

1). DX, CX=CD34

2). BX, AX=B389

3). AX, CX=1C65

4). DX, SI=1F3C

5). AX, BX=30B9

6). AH, DL=67

7). AL, BL=20

8). DX, DI=3E3F

9). SI, DI=0A30

10). AX, BP=101E

11). DH, CH=6A

12). BP, DI=356D

Пересылка из регистра в регистр - student2.ru

Пересылка из регистра в регистр - student2.ru

Практическая работа № 4

Команды передачи данных и управления 2 часть

Цель работы: Изучить работу процессора при выполнении команд передачи данных PUSH, POP и команд передачи управления CALL, RET, использующих стек.

Задание:

1. Запустить программу Debug:

выполнить задание №1 с командами передачи данных и управления PUSH и POP.

1.1. Сохранить значения указанных в приложении 1 регистров в стеке, записав соответствующие команды в виде ассемблерных.

1.2. Переслать в указанные из приложения 1 регистры заданные значения, записав соответствующие команды в виде ассемблерных.

1.3. Восстановить значения указанных в приложении 1 регистров.

1.4. Составить ассемблерную программу, объединив пункты 1, 2, 3.

1.5. Ввести программу в сегмент кодов со смещением 114h.

1.6. Просмотреть в сегменте кодов дамп вашей программы.

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

2. Изучение работы команд Call и Ret.

2.1 Вызвать подпрограммы внутри данного сегмента и внутри подпрограммы, расположенные по относительным адресам, заданным в приложении 2, записав соответствующие команды в виде ассемблерных.

2.2 Написать подпрограмму, складывающую значения в регистрах из приложения 2. Значения переслать в регистры с помощью соответствующих ассемблерных команд. Сложение осуществляется командой ADD op1, op2.

2.3 Написать подпрограмму, вычитающую значения в регистрах из приложения 2. Значения переслать в регистры с помощью соответствующих ассемблерных команд. Вычитание осуществляется командой SUB op1,op2.

2.4 Ввести программу в сегмент кодов со смещение 100h.

2.5 Просмотреть содержимое стека после выполнения каждой из подпрограмм, сохранить и распечатать ход выполнения задания.

2.6 Составить ассемблерную программу и ввести программу в сегмент кодов со смещением 100h.

2.7 Посмотреть в сегменте кодов дамп программы.

2.8 Выполнить программу, просмотрев содержимое стека после вызова подпрограмм. Сохранить и распечатать результат работы.

Содержание отчета:

1. Цель работы.

2. ход выполнения работы:

- выполненное по пунктам каждое задание

Пересылка из регистра в регистр - student2.ru Пересылка из регистра в регистр - student2.ru

Практическая работа № 5

Выполнение арифметических команд 1 часть и 2 часть.

Цель работы: изучить работу процессора при выполнении арифметических команд(сложение, вычитание, умножение, деление) для различных способов адресации операндов.

Задание:

Произвести запуск программы- отладчика Debug.

Выполнить арифметические команды.

1. Изучение работы команды сложения ADD над знаковыми и беззнаковыми операндами, адресованными разными способами.

1). Переслать в указанные из приложения 1 регистры заданные значения (1 и 2 слагаемое), записав соответствующие команды в виде ассемблерных.

2). Записать в указанную ячейку памяти (если необходимо) заданное в приложении 1 значение операнда.

3). Просмотреть в сегменте данных записанную информацию если один из операндов это ячейка памяти.

4). Получить сумму заданных операндов, записав соответствующую команду в виде ассемблерной.

5). Составить ассемблерную программу и ввести программу в сегмент кодов со смещением 100h.

6). Посмотреть в сегменте кодов дамп программы.

7). Выполнить программу, просмотрев результат в сегменте данных если это необходимо. Сохранить и распечатать результат работы.

2. Изучение работы команд вычитания SUB над знаковыми и беззнаковыми операндами, адресованными разными способами.

1). Переслать в указанные из приложения 1 регистры, заданные значения (1 и 2 уменьшаемое, вычитаемое), записав соответствующие команды в виде ассемблерных.

2). Записать в указанную ячейку памяти (если необходимо) заданное в приложении 1 значение операнда.

3). Просмотреть в сегменте данных записанную информацию, если один из операндов это ячейка памяти.

4). Получить разность заданных операндов, записав соответствующую команду в виде ассемблерной.

5). Составить ассемблерную программу и ввести программу в сегмент кодов со смещением 135h.

6). Посмотреть в сегменте кодов дамп программы.

7). Выполнить программу, просмотрев результат в сегменте данных, если это необходимо. Сохранить и распечатать результат работы.

3. Изучение работы команд умножения MUL и IMUL над знаковыми и беззнаковыми операндами, адресованными разными способами.

1). Переслать в указанные из приложения 1 регистры, заданные значения (1 и 2 множимое, множитель), записав соответствующие команды в виде ассемблерных.

2). Записать в указанную ячейку памяти (если необходимо) заданное в приложении 1 значение операнда.

3). Просмотреть в сегменте данных записанную информацию, если один из операндов это ячейка памяти.

4). Получить произведение заданных операндов, записав соответствующую команду в виде ассемблерной.

5). Составить ассемблерную программу и ввести программу в сегмент кодов со смещением 200h.

6). Посмотреть в сегменте кодов дамп программы.

7). Выполнить программу, просмотрев результат в сегменте данных, если это необходимо. Сохранить и распечатать результат работы.

4. Изучение работы команд умножения MUL и IMUL над знаковыми и беззнаковыми операндами, адресованными разными способами.

1). Переслать в указанные из приложения 1 регистры, заданные значения (1 и 2 делимое, делитель), записав соответствующие команды в виде ассемблерных.

2). Записать в указанную ячейку памяти (если необходимо) заданное в приложении 1 значение операнда.

3). Просмотреть в сегменте данных записанную информацию, если один из операндов это ячейка памяти.

4). Получить частное заданных операндов, записав соответствующую команду в виде ассемблерной.

5). Составить ассемблерную программу и ввести программу в сегмент кодов со смещением 110h.

6). Посмотреть в сегменте кодов дамп программы.

7). Выполнить программу, просмотрев результат в сегменте данных, если это необходимо. Сохранить и распечатать результат работы.

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

1. Как представлены отрицательные числа в микропроцессоре?

2. О чём говорит состояние флага CF при сложении (вычитании) беззнаковых чисел?

3. О чём говорит состояние флага ОF при сложении (вычитании) беззнаковых чисел?

4. Какой делитель, кроме нуля, может часто вызывать прерывание и почему (исходя из того, что частное значительно меньше делимого)?

Пересылка из регистра в регистр - student2.ru

Пересылка из регистра в регистр - student2.ru

Содержание отчета:

1. Цель работы.

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

3. Распечатка выполненного по пунктам каждого задания с содержимым регистров, флагов командной строки до и после выполнения команд.

4. Содержимое сегмента кодов и данных при работе с памятью.

Практическая работа № 6

Наши рекомендации