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

 
 
 
Reply to this topicStart new topic
> Обнаружить переполнение целочисленной переменной, на ARM
athlon64
сообщение Jul 25 2011, 11:49
Сообщение #1


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

Группа: Свой
Сообщений: 156
Регистрация: 10-03-10
Из: Уфа
Пользователь №: 55 882



SAM7X, IAR
Требуется обнаружить переполнение переменной при выполнении операций сложения и умножения для разных целочисленных типов.
При этом не хотелось бы производить вычисления в переменной заведомо большей размерности чтобы потом сделать простое сравнение с максимально возможным значением для меньшего типа. Дабы не потерять на этом ОЗУ и время.

Надеялся, что получится определить переполнение по регистру CPSR, и биту C в нём. Бит отлично выставляется при переполнениях на сложении, но, к сожалению, не выставляется на умножении.

Может есть другие варианты определения переполнений?

Сообщение отредактировал athlon64 - Jul 25 2011, 13:28


--------------------
Руслан
Go to the top of the page
 
+Quote Post
ar__systems
сообщение Aug 5 2011, 16:38
Сообщение #2


self made
****

Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795



Цитата(athlon64 @ Jul 25 2011, 07:49) *
SAM7X, IAR
Требуется обнаружить переполнение переменной при выполнении операций сложения и умножения для разных целочисленных типов.
При этом не хотелось бы производить вычисления в переменной заведомо большей размерности чтобы потом сделать простое сравнение с максимально возможным значением для меньшего типа. Дабы не потерять на этом ОЗУ и время.

Надеялся, что получится определить переполнение по регистру CPSR, и биту C в нём. Бит отлично выставляется при переполнениях на сложении, но, к сожалению, не выставляется на умножении.

Может есть другие варианты определения переполнений?


Действительно флаги переполнения не выставляются для MUL. Можете использовать SMMUL команду, для обнаружения переполнения в команде MUL.

Go to the top of the page
 
+Quote Post

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

 


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


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