[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено ВН 06 июня 2001 г. 12:31
В ответ на: Ответ: отправлено Vallav 05 июня 2001 г. 20:55

Немного неточно. Базовый адрес формируется процессором из значения
L-регистра и текущего значения I -регистра. А именно базовый адрес = ближайшему адресу, который <= I и кратен ближайшей степени двойки, большей или равной L.
Пример.
.var/dm/ram/abs=19 buff[3];{не об'явлен циклическим}
m0=1;
i0=^buff; {i0=19}
l0=3;
ax0=dm(i0,m0);{i0=17}
ax0=dm(i0,m0);{i0=18}
ax0=dm(i0,m0);{i0=16}
ax0=dm(i0,m0);{i0=17}
ax0=dm(i0,m0);{i0=18}
ax0=dm(i0,m0);{i0=16}
далее по кругу 16-18, т.е. баз. адрес=16.
Линкеру в такой ситуации деваться некуда и он обязан размещать цикл. буфер по круглому адресу.


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru