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

 
 
> "asm" в WinAVR
Guest_Serg79_*
сообщение Sep 22 2006, 11:42
Сообщение #1





Guests






Требуется написать макрос для загрузки 16-битного значения в регистры r26:r27.
Для 8-битного, проблем нет. Делаю так:
Код
#define load_val(val)         \
    {                           \
        __asm__ __volatile__    \
        (                       \
            "ldi r26,%0 \n\t"   \
            : "M" (val)         \
        );                      \
    }


Думал, что для 16 такое прокатит:
Код
#define load_val(val)         \
    {                           \
        __asm__ __volatile__    \
        (                       \
            "ldi r26,%A0 \n\t"  \
            "ldi r27,%B0 \n\t"  \
            : "M" (val)         \
        );                      \
    }

оказалось ошибаюсь.

Кто знает, подскажите как быть, а то уже крыша начинает съезжать. blink.gif
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 23:34
Рейтинг@Mail.ru


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