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

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Глюк в IAR ARM 2.30А
DASM
сообщение May 5 2006, 20:09
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



ну так нечестно =( У Вас может регистрового контента не хватило и он уже спокойно w в стеке разместил...
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 5 2006, 20:50
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(DASM @ May 5 2006, 23:09) *
ну так нечестно =( У Вас может регистрового контента не хватило и он уже спокойно w в стеке разместил...

Так я ASM приводил.....

А так (рабочий вариант) честно?
Код
void dummy()
{
    unsigned long w;
//-----^^^^^^^^^
    w=0x55AA;
    bprintf( "%4X", w );
    ((unsigned char*)&w)[0]=0x33;
    bprintf( "%4X", w );
}


А вот это фокус:
Код
void dummy()
{
  {
unsigned short w;
    w=0x55AA;
    bprintf( "%4X", w );
    ((unsigned char*)&w)[0]=(unsigned char)0x34;
    bprintf( "%4X", w );
  }
    
  {
unsigned short w;
    w=0x55AA;
    bprintf( "%4X", w );
    ((unsigned char*)&w)[0]=(unsigned char)0x35;
    bprintf( "%4X", w );
  }

  {
unsigned short w;
    w=0x55AA;
    bprintf( "%4X", w );
    ((unsigned char*)&w)[0]=(unsigned char)0x35;
    bprintf( "%4X", w );
  }
}


В общем можно багрепорт писать....

Ну а по warning - без вариантов всегда и везде выдается.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
DASM
сообщение May 5 2006, 20:54
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



так повторили багу ? с long то все нормально, STRB нормально генерится и результаты тоже верные...
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 5 2006, 21:01
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(DASM @ May 5 2006, 23:54) *
так повторили багу ?

В короткой ничего более не делающей подпрограмме да.
В тоже время вышеприведен кусок работающий в любых условиях,
единственное отличие - отсутствует дополнительное 'ценное указание' ввиде 'short'.

Ну а поповоду 'register' - разбирайтесь сами. Это РАБОТАЕТ всегда.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
DASM
сообщение May 5 2006, 21:05
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



да мне то чего разбираться, таких хитрых конструкций не пишу и от иара ухожу =)) Главное дело принципа - с багом согласились и усе.
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 5 2006, 21:09
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(DASM @ May 6 2006, 00:05) *
да мне то чего разбираться

Ага, а 'бочку катить' безосновательно это можно :-( :
Цитата
А если в ADS внагляк написать
register short int w, то получаем недвусмысленное матюгательство ""main.cpp", line 19: Error: C3022E: 'register' attribute for 'w' ignored when address taken
main.cpp: 0 warnings, 1 error, 0 serious errors


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
DASM
сообщение May 5 2006, 21:14
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



стоп, какая бочка ??? IAR лажанулся, ADS нет... где бочка то ?
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 5 2006, 21:20
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(DASM @ May 6 2006, 00:14) *
стоп, какая бочка ??? IAR лажанулся, ADS нет... где бочка то ?

При явном указании 'register' ни IAR ни ADS не лажаюся и выдают warnig - лажается только DASM
не желающий видеть данный warning у IAR.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
DASM
сообщение May 5 2006, 21:26
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Очень интересно .. с Вашей командой строкой в ИАРе
"
Errors: none
Warnings: none
". М ы вторую страницу спорим, а Вы что-то утверждаете, не удосужившись скомпилировать просто main с этой лабудой/ И речь о наличии этого warning без указания register !
Для желающих повторить.
Код
int main()
{
        unsigned short w;
        w=0x55AA;
        printf( "%4X", w );
        ((unsigned char*)&w)[0]=0x33;
        printf( "%4X", w );
        return 0;
}

Ком строка
D:\EWARM4_31A\ARM\bin\iccarm.exe main.cpp -D LPC2000_IAR -lC d:\test -lA d:\test --remarks -o d:\1 -s0 --debug --cpu_mode thumb --endian little --cpu ARM7TDMI-S --stack_align 4 --interwork --warnings_affect_exit_code --no_path_in_file_macros -e --require_prototypes --fpu None --dlib_config D:\EWARM4_31A\ARM\LIB\dl4tptinl8n.h -I D:\EWARM4_31A\ARM\INC
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 5 2006, 21:30
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(DASM @ May 6 2006, 00:26) *
а Вы что-то утверждаете, не удосужившись скомпилировать просто main с этой лабудой

Удосужился. Warning получается всегда и везде.

Компилим:
Код
      register unsigned short w;
//__^^^^^
        w=0x55AA;
        printf( "%4X", w );
        ((unsigned char*)&w)[0]=0x33;
        printf( "%4X", w );
        return 0;


Это именно помянутый Вами вариант:
Цитата
А если в ADS внагляк написать
register short int w,
то получаем недвусмысленное матюгательство...


Аналогичное ругательство выдаст и IAR.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
DASM
сообщение May 5 2006, 21:31
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



без указания register ? В тоге мы что имеем ? Комилятор имеет право без нашей просьбы делать переменную register, согласен . Но потом IAR "забывает" об этом и выдает нам неверный результат. Так что лажа налицо
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 5 2006, 21:50
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(DASM @ May 6 2006, 00:31) *
Так что лажа налицо

Было два обинения
1. От автора топика - подтвердилось в определенных условиях.
2. Дополнительное Ваше по отсутствию 'warning' - НЕ ПОДТВЕРДИЛОСЬ.

И не надо прикрываясь '1', делать непонимающее лицо по поводу '2'.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
DASM
сообщение May 5 2006, 22:00
Сообщение #28


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Что не подтвердилось ? Я где-нибудь указывал про то, что выдает IAR в присутствии модификатора памяти register ? Да, я указал что ADS трактует это как error. Про warning у IAR при наличии модификатора register я не говорил. Говорилось лишь о том, что IAR сделал её таковой сам и облажался.
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 5 2006, 22:22
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(DASM @ May 6 2006, 01:00) *
Да, я указал что ADS трактует это как error.

Если-бы в указанном контесте перечислили еще 99 особенностей поведения ADS, то они несомненно
являлись-бы ЯВНЫМ противопоставлением IARу. Тем более в одном абзаце с 'жирной точкой':
Цитата
Мораль - пора завязывать с IAR


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SpiritDance
сообщение May 6 2006, 03:47
Сообщение #30


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



Господа простите что вмешиваюсь у вас что работа закончилась?smile.gif)))


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 16:15
Рейтинг@Mail.ru


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