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

 
 
> Q: знатокам arm-вского ассемблера
abcdefg
сообщение Aug 5 2006, 16:54
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 201
Регистрация: 23-01-06
Из: Msk
Пользователь №: 13 490



есть команда STR R1, [R0, #0x0]
при R1 = 0x00000000, R0 = 0x400002B5
пишет нули по адресу 0x400002B4 !!!

Есть ли выравнивание по адресу записи?! Если это так, то надо аккуратно работать в keil'e с void-скими указателями sad.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Harbour
сообщение Aug 7 2006, 11:40
Сообщение #2


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



Проверил на arm-elf-gcc 4.1.1 - в любом случае (packed/non-packed struct) генерит корректный с точки зрения архитектуры код - в случае non-packed он вставляет gap, а в случае packed располагает структуру так что field3 находится по выровненному адресу. Вот те и gcc, который все ругают wink.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 7 2006, 11:55
Сообщение #3


Гуру
******

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



Цитата(Harbour @ Aug 7 2006, 14:40) *
а в случае packed располагает структуру так что field3 находится по выровненному адресу.

Ну это достаточно похоже на случайность, к истине можно приблизится если попробовать запихнуть два dword разделив их byte (естественно packed) и повторив фокус с обеими.


P.S.
GCC я не ругал :-)
z.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- abcdefg   Q: знатокам arm-вского ассемблера   Aug 5 2006, 16:54
- - DASM   Цитата(abcdefg @ Aug 5 2006, 20:54) есть ...   Aug 5 2006, 17:33
|- - zltigo   Цитата(DASM @ Aug 5 2006, 20:33) И Keil т...   Aug 5 2006, 17:48
|- - DASM   Цитата(zltigo @ Aug 5 2006, 21:48) Цитата...   Aug 5 2006, 18:18
|- - abcdefg   Цитата(DASM @ Aug 5 2006, 22:18) гм.. ну ...   Aug 6 2006, 18:00
|- - Andy Mozzhevilov   Цитата(abcdefg @ Aug 7 2006, 00:00) Цитат...   Aug 7 2006, 03:22
|- - abcdefg   Цитата(Andy Mozzhevilov @ Aug 7 2006, 07...   Aug 7 2006, 07:52
- - Rst7   Цитата(abcdefg @ Aug 5 2006, 19:54) есть ...   Aug 6 2006, 10:58
|- - zltigo   Цитата(Rst7 @ Aug 6 2006, 13:58) А что ва...   Aug 6 2006, 11:26
|- - Rst7   Цитата(zltigo @ Aug 6 2006, 14:26) Цитата...   Aug 6 2006, 11:53
|- - zltigo   Цитата(Rst7 @ Aug 6 2006, 14:53) Так что ...   Aug 6 2006, 12:11
- - Rst7   ЦитатаДавить? :-))) Что??? Куда??? Да и это вам п...   Aug 6 2006, 12:24
- - goodwin   А вообще-то это зависит от конкретного компилятора...   Aug 6 2006, 18:14
- - Harbour   что-то видать намучено в linker script с align опц...   Aug 7 2006, 09:36
|- - zltigo   Цитата(Harbour @ Aug 7 2006, 12:36) что-т...   Aug 7 2006, 10:00
|- - defunct   Цитата(zltigo @ Aug 7 2006, 13:00) Никаки...   Aug 7 2006, 10:19
||- - abcdefg   Цитата(defunct @ Aug 7 2006, 14:19) Цитат...   Aug 7 2006, 13:46
|- - Harbour   Цитата(zltigo @ Aug 7 2006, 13:00) Цитата...   Aug 7 2006, 11:14
- - defunct   ЦитатаКод небрежный - отсюда и результат. Автору н...   Aug 7 2006, 13:33
- - defunct   Для тестов использовал приведенный выше пример Сиш...   Aug 7 2006, 21:20
- - goodwin   Вот и я о том. Лучше перебдеть, чем недобдеть - ра...   Aug 7 2006, 21:39
- - GetSmart   Фактически была некорректной эта команда: КодU32 *...   Aug 8 2006, 01:20
- - defunct   Отправил bug report в Keil, сказали пофиксят..   Aug 9 2006, 12:38
- - GetSmart   Нашёл у себя в ИАР то ли баг, то ли я тупой? Напиш...   Aug 10 2006, 11:53
- - GetSmart   Или может я ошибаюсь? Может выравнивание прикрепля...   Aug 10 2006, 12:18
|- - Сергей Борщ   Цитата(GetSmart @ Aug 10 2006, 15:18) Или...   Aug 10 2006, 12:33
- - GetSmart   Ну допустим. Тогда как проще (и желательно красиве...   Aug 10 2006, 13:30
|- - ek74   Цитата(GetSmart @ Aug 10 2006, 17:30) Ну ...   Aug 10 2006, 14:32
|- - Сергей Борщ   Цитата(GetSmart @ Aug 10 2006, 16:30) Ну ...   Aug 10 2006, 15:14
- - GetSmart   Сергей Борщ Именно так я извратился ещё вчера. (в ...   Aug 11 2006, 02:03
|- - Сергей Борщ   Цитата(GetSmart @ Aug 11 2006, 05:03) Сер...   Aug 11 2006, 08:16
- - Rst7   Ну есть еще злой способ: Кодfloat getfloat(cha...   Aug 11 2006, 05:14


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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 19:53
Рейтинг@Mail.ru


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