ВЕРНУТЬСЯ НА САЙТ      
Хорошая Компания - Форум

Добро пожаловать на форум Хорошей Компании!


АвторСообщение



ссылка на сообщение  Отправлено: 13.05.06 18:33. Заголовок: ASM


Всем привет, давно я тут небыл. Есть тут кто нибудь кто шарит в асме?
Собственно вот вопрос:

При входе в прерывание мне нужно выгрузит данные с регистра в порт, проинкрементировать регистр:

#pragma vector=INT3_vect
__interrupt void INT_3 (void)
{
asm( "IN R10,0x3F" );
asm( "OUT 0x15,R11" );
asm("inc R11");
asm( "OUT 0x3F,R10" );

}
После компиляции посмотрел листин... емае... сыкономил :( компилятор при входе в прерываение сохранил все свои рабочие регистры(хотя я не один из них не использую), выполнил асемблерные вставки, востановил все свои регистры и на выход.
Как сделать так что бы он не сохранял все регистры а только те которые я использую (в данном случае вообще их не трогаю).
Такое у меня было когда я в прерывание вставил ссылку на функцию, ане тело функции.
Похоже что он не знает какие регистры будут использованы в прерывании и по этому сохраняет их все. Как его заставить так не делать? :)

P.S уже на многих форумах спрашивал, никто толком помоч не может :(
Заранее благодярю за ответ.


Спасибо: 0 
Цитата Ответить
Ответов - 1 [только новые]





ссылка на сообщение  Отправлено: 13.05.06 18:41. Заголовок: Re:


А все разобрался. Все равно спасибо.

Спасибо: 0 
Цитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  2 час. Хитов сегодня: 0
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет