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

 
 
 
Reply to this topicStart new topic
> Inline ассемблер, передача константы
paskal
сообщение Mar 25 2019, 16:15
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 352
Регистрация: 29-10-06
Из: Тула
Пользователь №: 21 769



Мне нужно сделать ассемблерную вставку в GCC код. В ассемблерный код передается 32 битная константа, которая загружается в регистр. Процессор - кортекс-м1. В самом ассемблере загрузка идет как то так:
Код
    LDR R0,[DAT]
DAT:
    .WORD 0x12345678

Но если я то же самое делаю во встроенном ассемблере:
Код
    asm(".word %0"
    ::"i"(k)
    );

И вызываю вставку - myasm(0x12345678), то вместо .word 0x12345678 компилятор подставляет константу с решеткой - .word #0x12345678, что является ошибкой. Решетка в этом месте совсем не нужна.
Как мне заставить ассемблер не писать эту решетку?
Или еще какой способ введения константы в регистр подскажите.

Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 1st November 2024 - 02:33
Рейтинг@Mail.ru


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