Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
ИАР АРМ глючит (+)
Отправлено
Sinelogic (78.137.55.181) 25 октября 2010, г. 19:43
Это условие выполняется почему-то если в переменной число заведомо больше 5.
if (Temp_Buffer[3] < 5)
Temp_Buffer[3] = 5;
на ассемблере это выглядит так
if (Temp_Buffer[3] < 5)
\ 00000320 0B00D4E5 LDRB R0,[R4, #+11]
\ 00000324 050050E3 CMP R0,#+5
401 Temp_Buffer[3] = 5;
\ 00000328 0500A033 MOVCC R0,#+5
\ 0000032C 0B00C435 STRBCC R0,[R4, #+11]
после сравнения не вижу команды перехода по флагам.
Как его победить?
Составить ответ | Вернуться на конференцию
Ответы