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

 
 
 
Reply to this topicStart new topic
> Почему так ICC 7 компилирует, Кого глючит?
Serega Doc
сообщение Oct 24 2005, 14:17
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 267
Регистрация: 11-11-04
Из: Одесса
Пользователь №: 1 103



char STAY, INDEX;


в С
INDEX=(STAY + 0x04);
в Асме
0322 2D82 MOV R24,R2
0323 5F8C SUBI R24,0xFC
0324 2EA8 MOV R10,R24

Почему так?
Go to the top of the page
 
+Quote Post
Виктория
сообщение Oct 24 2005, 14:23
Сообщение #2


инженер
****

Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701



Хорошо бы попробовать еще

unsigned char STAY, INDEX;
Go to the top of the page
 
+Quote Post
Gematogen
сообщение Oct 24 2005, 14:29
Сообщение #3





Группа: Новичок
Сообщений: 13
Регистрация: 18-10-05
Пользователь №: 9 808



Цитата(Serega Doc @ Oct 24 2005, 18:17)
char STAY, INDEX;


в С
INDEX=(STAY + 0x04);
в Асме
    0322 2D82      MOV R24,R2
    0323 5F8C      SUBI R24,0xFC
    0324 2EA8      MOV R10,R24

Почему так?
*




Все верно:
1. в R24 грузим STAY (R2)
2. а отнять от БАЙТА число= ((0xFF-слагаемое) +1), эквивалентно БАЙТ+слагаемое, т.е. STAY-(0xFF-0x04+1)=STAY+0x04
3. грузим результат в INDEX (R10)

все именно так потому, что 0xFC - допкод 4, т.е -4, а x+4=x-(-4)
Go to the top of the page
 
+Quote Post
SL@V@
сообщение Oct 24 2005, 15:05
Сообщение #4





Группа: Новичок
Сообщений: 7
Регистрация: 30-03-05
Пользователь №: 3 806



Просто у AVR нет команд сложения регистра с константой, есть только ADIW - сложения слова с константой. Вот и используется команд SUBI.
Go to the top of the page
 
+Quote Post
Виктория
сообщение Oct 24 2005, 15:14
Сообщение #5


инженер
****

Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701



Цитата(SL@V@ @ Oct 24 2005, 20:05)
Просто у AVR нет команд сложения регистра с константой, есть только ADIW - сложения слова с константой. Вот и используется команд SUBI.
*


Классно blush.gif. Получилась "пятничная задачка"
Go to the top of the page
 
+Quote Post

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

 


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


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