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

миниатюрный аудио-видеорекордер mAVR

Отправлено -=ВН=- 25 июня 2004 г. 11:16
В ответ на: Проблемы с адресацией в TMS-C6000 отправлено lisarden 25 июня 2004 г. 10:34

Ну вот цитата из талмуда по C для 6000
struct:
Multiple of 8 bits aligned to boundary of largest member
type; members are stored and aligned as their
individual types require.

И еще, 32-х разрядные данные должны быть выравнены по 4-х байтной границе. 16 - по 2-х. Процессорные инструкции (LD*,ST*) требуют именно такого выравнивания. И компилятор C сгенерирует одну LDW если требуется прочитать 32 разряда. Он не будет генерировать 4 LDB со сдвигами и or' ами. Или 2 LDH. Т.е. вышеприведенное выравнивание структур вызвано железом, но оно наверное (точно не знаю пока) действует и для c64, хотя у них есть добавочные инструкции, не требующие выравнивания. Для совместимости, так сказать.
В общем видимо Вам придется какие-то коррекции в программе делать. Так думаю.

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru