Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
4 / 4 / 4
Регистрация: 08.04.2008
Сообщений: 85

Кодек на ассемблере (перевод с Си)

08.04.2008, 20:04. Показов 2184. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Нужно сишный код (он приведен ниже) перевести в ассемблер, для максисального быстродействия на DSP TMSC320C64xx.
Код этот представляет собой речевой кодер g.711 закон А. Может быть кто-нибудь подскажет как преобразовать этот код.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
void G711A_Coder(short *inpCoder, char *outCoder, int n)
{ //begin 1
    int i;
    short y=0, m=0;
    char b=0;
 
    for(i=0; i<n; i++) //Reading on 1 Kb 16-bit
    { //begin For
    y= abs(inpCoder[i]); //Take absolute volume quantize
    if(y< 128)          //Zero segment
    y>>= 4;             //Shift to left on 4 byte 
        else
        { //begin 2
        if(y&0x7800)    //(30720 in decimal) giving exponent 
            { //begin 3
            if(y&0x6000) //(24576 in decimal)
                { //begin 4
                if(y&0x4000) //(16384 in decimal)
                    m = 10;
                    else
                    m = 9;
                } //end 4
                else
                { //begin 5
                if(y&0x1000) //(4096 in decimal)
                    m = 8;
                    else
                    m = 7;
                } //end 5 
            } //end 3 
                else
                if(y&0x0600) //(1536 in decimal)
                    { //begin 6
                    if(y&0x0400) //(1024 in decimal)
                        m = 6;
                        else
                        m = 5;
                    } //end 6
                    else
                    { //begin 7
                    if(y&0x0100) //(256 in decimal)
                    m = 4;
                    else 
                    m = 3;
                    } //end 7
                y>>= m;     // giving mantissa
                m= (m-3)<< 4;       // Giving exponent
                y= m|(y&0x000f); //(000F-> 15 in decimal)
        } //end 2
    b= (char)(((inpCoder[i]&0x8000)>> 8)|y); //(8000-> -32768 in decimal)
    outCoder[i]= (~b&0x55)|(b&0xAA); // Inverse of even bits
    } //end For
    return;
    
} //end 1
Буду благодарен за любую помощь.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.04.2008, 20:04
Ответы с готовыми решениями:

Перевод заданного числа из двоичной системы счисления в шестнадцатиричную на Ассемблере
Здравствуйте! Нужна помощь в написании программы на Ассемблере. Перевести из двоичной в шестнадцатиричную систему счисления. Двоичное число...

Перевод числа в двоичную систему счисления (подпрограмма на встроенном ассемблере для FreePascal)
Дано однобайтное число. Написать подпрограмму на языке Ассемблера, для перевода числа в двоичную систему счисления. Строка имеет тип Pchar...

Если кодек?
Если данный кодек на MAC OS g2m_codec?

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.04.2008, 20:04
Помогаю со студенческими работами здесь

Кодек TLV320AIC1110
Доброго времени суток! В ходе работы с этим кодеком появилось несколько вопросов: &lt;ul&gt;&lt;li&gt; Интерфейс передачи звуковых...

аудио кодек
Всем привет. скажите пожалуйста что это такое &quot;Высококачественный 8-канальный аудио кодек Realtek ALC 889A&quot; что такое 8-канальный...

Кодек Vorbis
Доброго времени суток. У меня возникла проблема: Разработать консольное приложение, выполняющее следующие действия: -компрессия...

видео кодек
Привет всем. Появилась задача реализовать часть вычислений при кодировании/декодировании видео силами GPU, точнее используя CUDA. Какой...

Кодек видео
Есть кодеки, которые кодируют/декодируют видео на CPU. Хотелось бы каких-нибудь кодеков, которые делают это на GPU. Конкретно хочется XviD....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru