7.Назовите метод адресации, характерный практически для всех арифметических команд.
8.Укажите особенности команды ADD2.
9.Укажите особенности команды ADDU.
10.Укажите особенности команд умножения.
Задания и методические указания к их выполнению
1. На языке ассемблера TMS320C6x подготовить программу, соответствующую следующей последовательности операций.
Операция 1 с размещением результата в регистре (регистровой паре) R1 (назначить из РОН по своему усмотрению) по номеру варианта V = N:
V |
Содержание и условия операции |
1 |
2 |
1Умножение 16 16 младших бит чисел 109A00h и С0081h, где операнды знаковые числа.
2Сложение знаковых чисел 9C5A8600h и 78B05D03h.
3Умножение 16 16 младших бит чисел 109A00h и С0081h, где операнды – числа без знака.
4Вычитание над числами без знака: 78B05D03h - 9C5A8600h.
5Умножение 16 16 младших бит чисел 9A000h и 7С000h, где первый операнд – число без знака, второй – со знаком.
6Сложение знаковых чисел 9C5A8600h и А8B05D03h.
7Умножение 16 16 младших бит чисел 9A000h и 7С000h, где первый операнд – число со знаком, второй – без знака.
8Вычитание над знаковыми числами: 78B05D03h - 9C5A8600h.
9Умножение 16 16 старших бит чисел 7100А000h и 8100С000h, где операнды – знаковые числа.
10Сложение 9C5A8600h с 5-разрядной положительной константой (выбрать по своему усмотрению).
11Умножение 16 16 старших бит чисел 7100А000h и 8100С000h, где операнды – числа без знака.
12Вычитание над знаковыми числами: 9C5A8600h - 78B05D03h.
13Умножение 16 16 старших бит чисел 9100А000h и 8100С000h, где первый операнд – число без знака, второй – со знаком.
14Сложение 5C5A8600h с 5-разрядной константой без знака (выбрать по своему усмотрению).
15Умножение 16 16 старших бит чисел 9100А000h и 8100С000h, где первый операнд – число со знаком, второй – без знака.
16Вычитание над знаковыми числами: ВC5A8600h - 98B05D03h.
17Умножение 16 старших бит числа 9100А000h на 16 младших бит числа 8100С000h, где операнды – знаковые числа.
18Сложение чисел 4C5A8600h и 78B05D03h без знака.
16
1 |
2 |
19Умножение 16 старших бит числа 9100А000h на 16 младших бит числа 8100С000h, где операнды – числа без знака.
20Вычитание над знаковыми числами: 7C5A8600h - 48B05D03h. Умножение 16 старших бит числа 9100А000h на 16 младших бит
21числа 8100С000h, где первый операнд – число без знака, второй – со знаком.
22Вычитание над знаковыми числами: 3C5A8600h - А8B05D03h. Умножение 16 старших бит числа 9100А000h на 16 младших бит
23числа 8100С000h, где первый операнд – число со знаком, второй – без знака.
24Вычитание над знаковыми числами: АC5A8600h - 38B05D03h.
25Умножение 16 младших бит числа 9100А000h на 16 старших бит числа 8100С000h, где операнды – знаковые числа.
26Сложение чисел ЕC5A8600h + D8B05D03h без знака
27Умножение 16 младших бит числа 9100А000h на 16 старших бит числа 8100С000h, где операнды – числа без знака.
28Вычитание над знаковыми числами: 9C5A8600h - В8B05D03h. Умножение 16 младших бит числа 9100А000h на 16 старших бит
29числа 8100С000h, где первый операнд – число без знака, второй – со знаком.
Умножение 16 младших бит числа 9100А000h на 16 старших бит
30числа 8100С000h, где первый операнд – число со знаком, второй – без знака.
Операция 2. Вычислить абсолютную величину содержимого R1 (для регистровой пары использовать только четный регистр) с размещением результата в регистре R2 (назначить по своему усмотрению).
Операция 3 с размещением результата в регистре R2:
для нечетных V = N содержимое R2 сложить с 16-разрядной знаковой константой (принять по своему усмотрению);
для четных V = N сложить старшую и младшую половины R2 с, соответственно, старшей и младшей половинами числа, выбранного из таблицы:
V |
Число, |
V |
Число, |
V |
Число, Hex |
|
Hex |
|
Hex |
|
|
|
|
|
|
||
1 |
2 |
3 |
4 |
5 |
6 |
1 |
A90C7D5 |
11 |
CD3A0 |
21 |
F67C3E4 |
2 |
80А1F5C1 |
12 |
E4C6A0 |
22 |
D046E890 |
3 |
AF9C5 |
13 |
D89E5F0 |
23 |
FB1D0 |
4 |
C5D0A5 |
14 |
B23495A0 |
24 |
B9B483 |
5 |
B30B5A8 |
15 |
DA0B9 |
25 |
8E2C795 |
6 |
90B3E8C9 |
16 |
F7B0D3 |
26 |
E456F792 |
17
7 |
BE7C4 |
17 |
E34F5B1 |
27 |
890A7 |
8 |
D9A2B3 |
18 |
C345A5B7 |
28 |
C1A293 |
9 |
C70A4B2 |
19 |
EC7A6 |
29 |
9F6B287 |
10 |
A123F1C0 |
20 |
9AC580 |
30 |
F598C4E5 |
При выполнении данного задания следует:
предусмотреть регистры R3, R4, … для размещения исходных данных; помнить, что команды умножения имеют 1 слот задержки.
В остальном алгоритм и программа строятся аналогично предыдущей работе (рис. 5).
Начало
R3 <число>,
R4 <число>
Операция 1
Операция 2
Операция 3
Конец
Рис. 5. Блок-схема алгоритма в обобщѐнном виде
2.Получить исполняемый программный модуль (см. стр. 7 – 8).
3.Загрузить исполняемый модуль в симулятор (см. стр. 9).
4.В пошаговом режиме выполнить прогон программы (см. стр. 10), сравнивая данные прогноза с соответствующими данными окна CPU симулятора.
5.Предъявить результаты выполнения работы преподавателю, после чего завершить работу с симулятором (см. стр. 10).
18