Материал: Пересылка данных и арифметические операции на языке ассемблера процессора TMS320C6x (90

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

Источник: https://studfile.net/preview/16724319/