реклама на сайте
подробности

 
 
> Поддерживатся ли в Coocox *.S ассемблерные файлы?
flopix
сообщение Jul 30 2013, 20:15
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 105
Регистрация: 21-06-12
Пользователь №: 72 429



Пишу проект в CooCox.

При добавлении mp3 библиотеки Helix выяснилась неприятность - Coocox не понимает синтаксис ассемблерных *.S файлов.

Цитата
C:\CooCox\CoIDE\workspace\FlashTest-Coocox-USB-LFN-Rus-PID_VID_RTOS\helix\real\arm\asmpoly_thumb2.S: Assembler messages:
[cc] C:\CooCox\CoIDE\workspace\FlashTest-Coocox-USB-LFN-Rus-PID_VID_RTOS\helix\real\arm\asmpoly_thumb2.S:1: Error: bad instruction `area |.text|,CODE,READONLY,ALIGN=2'
[cc] C:\CooCox\CoIDE\workspace\FlashTest-Coocox-USB-LFN-Rus-PID_VID_RTOS\helix\real\arm\asmpoly_thumb2.S:2: Error: bad instruction `thumb'
[cc] C:\CooCox\CoIDE\workspace\FlashTest-Coocox-USB-LFN-Rus-PID_VID_RTOS\helix\real\arm\asmpoly_thumb2.S:3: Error: bad instruction `require8'
[cc] C:\CooCox\CoIDE\workspace\FlashTest-Coocox-USB-LFN-Rus-PID_VID_RTOS\helix\real\arm\asmpoly_thumb2.S:4: Error: bad instruction `preserve8'
[cc] C:\CooCox\CoIDE\workspace\FlashTest-Coocox-USB-LFN-Rus-PID_VID_RTOS\helix\real\arm\asmpoly_thumb2.S:6: Error: bad instruction `pcm RN r0'
[cc] C:\CooCox\CoIDE\workspace\FlashTest-Coocox-USB-LFN-Rus-PID_VID_RTOS\helix\real\arm\asmpoly_thumb2.S:7: Error: bad instruction `vb1 RN r1'
[cc] C:\CooCox\CoIDE\workspace\FlashTest-Coocox-USB-LFN-Rus-PID_VID_RTOS\helix\real\arm\asmpoly_thumb2.S:8: Error: bad instruction `coef RN r2'
[cc] C:\CooCox\CoIDE\workspace\FlashTest-Coocox-USB-LFN-Rus-PID_VID_RTOS\helix\real\arm\asmpoly_thumb2.S:10: Error: bad instruction `vlo RN r0'
[cc] C:\CooCox\CoIDE\workspace\FlashTest-Coocox-USB-LFN-Rus-PID_VID_RTOS\helix\real\arm\asmpoly_thumb2.S:11: Error: bad instruction `vhi RN r3'
[cc] C:\CooCox\CoIDE\workspace\FlashTest-Coocox-USB-LFN-Rus-PID_VID_RTOS\helix\real\arm\asmpoly_thumb2.S:13: Error: bad instruction `sum1ll RN r4'
[cc] C:\CooCox\CoIDE\workspace\FlashTest-Coocox-USB-LFN-Rus-PID_VID_RTOS\helix\real\arm\asmpoly_thumb2.S:14: Error: bad instruction `sum1lh RN r5'
......


Точнее я сказал бы сами файлы понимает, но затыкается на инструкицях экспорта и т.п. *.S файлы шли для Keil. Где бы почитать как корректно заменить на инструкции которые поддерживает gcc assembler?

Сообщение отредактировал flopix - Jul 30 2013, 20:49
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
flopix
сообщение Jul 31 2013, 04:31
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 105
Регистрация: 21-06-12
Пользователь №: 72 429



Начал пытаться переделать макроопределения. Вот что получается, закомментировано в /* */ вариант макрокоманд для Keil. Прошу подсказать если неверно.

CODE
/*; AREA |.text|, CODE, READONLY*/
.section ".text"
/*THUMB*/
/*REQUIRE8*/
/*PRESERVE8*/
/*EXPORT xmp3_MULSHIFT32*/
.globl xmp3_MULSHIFT32

/*EXPORT xmp3_FASTABS*/
.globl xmp3_FASTABS

/*xmp3_MULSHIFT32 PROC*/
.type xmp3_MULSHIFT32, %function
xmp3_MULSHIFT32:
.fnstart
smull r2, r0, r1, r0
BX lr
/*ENDP*/
.fnend

/*xmp3_FASTABS PROC*/
.type xmp3_FASTABS, %function
xmp3_FASTABS:
.fnstart
mov r1, r0
mov r0, #0x0
eor r0, r1, r1, asr # 31
sub r0, r0, r1, asr # 31
bx lr
/*ENDP*/
.fnend

/*END*/
.end


Остановился на инструкции sub r0, r0, r1, asr # 31

Компидятор ругается: ../asmmisc.S:74: Error: unshifted register required -- `eor r0,r1,r1,asr#31'

Что значит запись asr#31 ?

Сообщение отредактировал IgorKossak - Aug 1 2013, 06:32
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 07:28
Рейтинг@Mail.ru


Страница сгенерированна за 0.01403 секунд с 7
ELECTRONIX ©2004-2016