Порядок выполнения работы.
1. В соответствии с номером варианта из таблицы №1 выбирается команда ЭВМ, время выполнения которой следует определить с помощью третьего способа.
2. Разрабатываются схемы алгоритмов первой и второй программы, отличающихся друг от друга наличием или отсутствием исследуемой команды. Программы должны быть циклическими, чтобы разность времен их выполнения была ощутимой и фиксировалась операционной системой. Программу следует написать на языке Ассемблер (или другом согласованном с преподавателем), предусмотрев в них задание различных исходных данных. При разработке программ на языках высокого уровня следует учесть, что компиляторы могут быть оптимизирующими.
3. Разработанные программы пропускаются через одну и ту же ЭВМ для трех вариантов исходных данных. Желательно, чтобы исходные данные были “легкими”, “средними” и “тяжелыми” для выполнения данной операции в ЭВМ. Например, для операции суммирования двоичных чисел с плавающей запятой исходные данные будут “легкими”, если порядки чисел будут одинаковыми, “тяжелыми” – для чисел с максимально возможной разностью порядков, “средними” – для промежуточных случаев. Здесь под трудностью выполнения операции подразумевается время ее выполнения для конкретных исходных данных. Для подбора исходных данных надо ознакомится с алгоритмов выполнения операции ЭВМ. Желательно проверить повторяемость результатов.
4. Оформляется отчет о лабораторной работе, где приводятся распечатки программ, анализ полученных результатов, сравнение полученных результатов с техническими данными из справочной литературы.
Таблица 1.1. Варианты заданий.
|
Вариант
|
Операция ЯВУ |
Тип операндов |
|
1 |
Сложение |
Ц1, Ц4 |
|
2 |
Сложение |
Ц4, ВО |
|
3 |
Сложение |
Ц2, Ц4 |
|
4 |
Сложение |
Ц1, ВО |
|
5 |
Вычитание |
Ц1, ВО |
|
6 |
Вычитание |
Ц2, Ц4 |
|
7 |
Вычитание |
Ц2,ВО |
|
8 |
Вычитание |
Ц1, Ц4 |
|
9 |
Умножение |
Ц1, ВО |
|
10 |
Умножение |
Ц4, ВО |
|
11 |
Умножение |
Ц1, Ц2 |
|
12 |
Умножение |
Ц2, ВО |
|
13 |
Деление |
Ц1, Ц4 |
|
14 |
Деление |
Ц4, ВО |
|
15 |
Деление |
Ц1, Ц2 |
|
16 |
Деление |
Ц2, ВО |
|
17 |
Пересылка |
Ц1, Ц2 |
|
18 |
Пересылка |
Ц1, Ц4 |
|
19 |
Пересылка |
Ц2, ВО |
|
20 |
Пересылка |
Ц4,ВО |
|
21 |
Сравнение |
Ц1, Ц4 |
|
22 |
Сравнение |
Ц1, ВО |
|
23 |
Сравнение |
Ц2, ВО |
|
24 |
Сравнение |
Ц4, ВО |
|
25 |
AND |
Ц1, Ц2 |
|
26 |
AND |
Ц1, Ц4 |
|
27 |
OR |
Ц1, Ц2 |
|
28 |
OR |
Ц2, Ц4 |
|
29 |
NOT |
Ц1, Ц4 |
|
30 |
XOR |
Ц2, Ц4 |
Цх– целые числахбайт;
ВО – вещественные числа одинарной точности;
Таблица 1.2.
|
Вариант
|
Команда Ассемблера
|
Операция ЯВУ |
Тип операндов |
Тип результатов |
|
1 |
DIV |
Сложение |
Ц |
Ц |
|
2 |
MUL |
Сложение |
ВО |
ВО |
|
3 |
AND |
Сложение |
ВД |
ВД |
|
4 |
OR |
Сложение |
Д |
Д |
|
5 |
XOR |
Вычитание |
Ц |
Ц |
|
6 |
NOT |
Вычитание |
ВО |
ВО |
|
7 |
SUB |
Вычитание |
ВД |
ВД |
|
8 |
ADD |
Вычитание |
Д |
Д |
|
9 |
ADC |
Умножение |
Ц |
Ц |
|
10 |
INC |
Умножение |
ВО |
ВО |
|
11 |
DEC |
Умножение |
ВД |
ВД |
|
12 |
CMP |
Умножение |
Д |
Д |
|
13 |
MOV |
Деление |
Ц |
Ц |
|
14 |
XCHG |
Деление |
ВО |
ВО |
|
15 |
PUSH |
Деление |
ВД |
ВД |
|
16 |
POP |
Деление |
Д |
Д |
|
17 |
MOVSB |
Пересылка |
Ц |
Ц |
|
18 |
MOVSW |
Пересылка |
ВО |
ВО |
|
19 |
LODSB |
Пересылка |
ВД |
ВД |
|
20 |
LODSW |
Пересылка |
Д |
Д |
|
21 |
CMPSB |
Пересылка |
Ц |
ВО |
|
22 |
CMPSW |
Пересылка |
Ц |
ВД |
|
23 |
SCASB |
Пересылка |
ВО |
Ц |
|
24 |
SCASW |
Пересылка |
ВД |
Ц |
|
25 |
NEG |
Логическая операция |
|
|
ВО – вещественные числа;
ВД – вещественные числа двойной точности;
Ц – целые числа;
Д – десятичные числа.
