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

 
 
> Глюк в IAR ARM 2.30А
zubr
сообщение May 5 2006, 13:54
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 2-05-06
Пользователь №: 16 667



Здравствуйте!
Хочу поделиться глюком, найденным мной:

unsigned short w;

w=0x55AA;
uart(w); //Вывод в UART - вижу 55AA
((unsigned char*)&w)[0]=0x33;
uart(w); //Вывод в UART - вижу 0033

Съел старший байт (обнулил) !!!

Если где-то в программе используется обращение к ((unsigned char*)&w)[1] то все нормально.
Отключал оптимизацию - не помогло.
А так вроде-бы нормальная конструкция для любого С... !?!?!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DASM
сообщение May 5 2006, 21:26
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 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

Сообщений в этой теме
- zubr   Глюк в IAR ARM 2.30А   May 5 2006, 13:54
- - DASM   в данном случае переменная w стала регистровой.. Е...   May 5 2006, 14:10
- - zltigo   Цитата(zubr @ May 5 2006, 16:54) Здравств...   May 5 2006, 15:22
- - DASM   У меня 4.31.1.239. Во-первых никакого warning не д...   May 5 2006, 15:37
- - zltigo   Цитата(DASM @ May 5 2006, 18:37) У меня 4...   May 5 2006, 15:48
- - DASM   я вру что-ли ? Вот terminal IO вывод - "55AA ...   May 5 2006, 15:50
|- - zltigo   Цитата(DASM @ May 5 2006, 18:50) я вру чт...   May 5 2006, 16:03
- - DASM   тогда не понял.. Вы считаете что после ((unsigned ...   May 5 2006, 16:07
- - zltigo   Цитата(DASM @ May 5 2006, 19:07) тогда не...   May 5 2006, 16:11
- - DASM   ну как может выдаваться 0x5533, если на момент выз...   May 5 2006, 16:16
|- - zltigo   Цитата(DASM @ May 5 2006, 19:16) ну как м...   May 5 2006, 16:30
- - DASM   ПОчему у нас разный код, вот в чем вопрос !...   May 5 2006, 16:33
|- - zltigo   Цитата(DASM @ May 5 2006, 19:33) ПОчему у...   May 5 2006, 16:36
- - DASM   положите если Вам несложно тогда весь проект с нас...   May 5 2006, 16:38
|- - zltigo   Цитата(DASM @ May 5 2006, 19:38) положите...   May 5 2006, 19:53
- - DASM   ну так нечестно =( У Вас может регистрового конте...   May 5 2006, 20:09
|- - zltigo   Цитата(DASM @ May 5 2006, 23:09) ну так н...   May 5 2006, 20:50
- - DASM   так повторили багу ? с long то все нормально, STRB...   May 5 2006, 20:54
|- - zltigo   Цитата(DASM @ May 5 2006, 23:54) так повт...   May 5 2006, 21:01
- - DASM   да мне то чего разбираться, таких хитрых конструкц...   May 5 2006, 21:05
|- - zltigo   Цитата(DASM @ May 6 2006, 00:05) да мне т...   May 5 2006, 21:09
- - DASM   стоп, какая бочка ??? IAR лажанулся, ADS нет... гд...   May 5 2006, 21:14
|- - zltigo   Цитата(DASM @ May 6 2006, 00:14) стоп, ка...   May 5 2006, 21:20
- - DASM   без указания register ? В тоге мы что имеем ? Ком...   May 5 2006, 21:31
|- - zltigo   Цитата(DASM @ May 6 2006, 00:31) Так что ...   May 5 2006, 21:50
- - DASM   Что не подтвердилось ? Я где-нибудь указывал про т...   May 5 2006, 22:00
|- - zltigo   Цитата(DASM @ May 6 2006, 01:00) Да, я ук...   May 5 2006, 22:22
- - SpiritDance   Господа простите что вмешиваюсь у вас что работа з...   May 6 2006, 03:47
- - DASM   Не виновата я (с) Не каждый день обвиняют в подрыв...   May 6 2006, 05:45


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

 


RSS Текстовая версия Сейчас: 9th August 2025 - 08:17
Рейтинг@Mail.ru


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