ATmega16 проблема с ASM
Добавлено: Пн ноя 16, 2009 22:54:56
Здравствуйте! Появилась проблема - требуется перенести функцию с Атмеги на Пик. С пиком проблем нет, но я не могу понять, что делает ассемблерный код АТмеги )) Вот такая запись, даже с понятным комментарием)) но что он делает - непонятно абсолютно! (в компиляторе WinAVR хз какой версии, т.к. не я писал):
asm volatile (" .set R0,0 ; get register name" ) ;
asm volatile (" .set temp,16 ; get register name" ) ;
asm volatile (" .set mC1,17 ; get register name" ) ;
Сразу скажу - даташиты курил, гуглить гуглил, _http://asm-avr.narod.ru/ смотрел - ничего не нашел, что команда делает - присваивает значение переменной - понял, но у нее синтаксис не такой, и смущает комментарий - что "получение имени регистра". Но если так - то да, регистр R0 и temp есть, но регистра mC1 нету!! Что делает цифра после запятой, в десятичной системе, я так понимаю, т.к. AVR по умолчанию настроен вроде на десятичную систему?? Угробил целый день на выяснение этого дела. Помогите, может, кто знает или сам такой код писал?
asm volatile (" .set R0,0 ; get register name" ) ;
asm volatile (" .set temp,16 ; get register name" ) ;
asm volatile (" .set mC1,17 ; get register name" ) ;
Сразу скажу - даташиты курил, гуглить гуглил, _http://asm-avr.narod.ru/ смотрел - ничего не нашел, что команда делает - присваивает значение переменной - понял, но у нее синтаксис не такой, и смущает комментарий - что "получение имени регистра". Но если так - то да, регистр R0 и temp есть, но регистра mC1 нету!! Что делает цифра после запятой, в десятичной системе, я так понимаю, т.к. AVR по умолчанию настроен вроде на десятичную систему?? Угробил целый день на выяснение этого дела. Помогите, может, кто знает или сам такой код писал?