sifadin
Jul 4 2013, 09:44
Здравствуйте!
Программирую в Code Composer для F5522
Мне нужно часть кода писать на ассемблере. Вопрос по синтаксису
писал так
asm(" MOV.W pr1,R15 ") ;
asm(" MOV.W cursam,0(R15) ") ;
asm(" DEC.B R15 ") ;
Все было нормально
Уперся в необходимость добавить метку в текст
asm(" JNZ (LABEL1) ");
asm(" MOV.B #6,R15 ");
asm(" LABEL1: ");
asm( " MOV.W R15,pr1 ") ;
-Пишет Illegal mnemonic LABEL1:
Попробовал так
asm(" JNZ LABEL1 "
" MOV.B #6,R15 "
" LABEL1: "
" MOV.W R15,pr1 ") ;
тоже не прошло
И так
asm(" JNZ LABEL1 MOV.B #6,R15 LABEL1: MOV.W R15,pr1 ") ;
Не прошло итак
asm(" JNZ (LABEL1) ", " MOV.B #6,R15 ", " LABEL1: ", " MOV.W R15,pr1 ") ;
идажетак
asm(" JNZ (LABEL1) /n MOV.B #6,R15/n LABEL1: /n MOV.W R15,pr1 ") ;
Как работать с этим $вном. Подскажите плз
MrYuran
Jul 4 2013, 09:52
Цитата
It is possible to mix assembly and C programs within CCS. See the "Interfacing C/C++ With
Assembly Language" chapter of the MSP430 Optimizing C/C++ Compiler User's Guide (literature
number SLAU132).
таки придется читать документацию..
##
Да, что-то там негусто..
sifadin
Jul 4 2013, 10:02
Цитата(MrYuran @ Jul 4 2013, 13:52)

таки придется читать документацию..
Спасибо, нужную документацию тоже сложно отыскать. Хотя если Вы знаете готовый ответ, то это сэкономило бы мне время
MrYuran
Jul 4 2013, 10:13
НаподобиеКод
static inline char * strcpy(char * dest,const char *src)
{
int d0, d1, d2;
__asm__ __volatile__( "1:\tlodsb\n\t"
"stosb\n\t"
"testb %%al,%%al\n\t"
"jne 1b"
: "=&S" (d0), "=&D" (d1), "=&a" (d2)
: "0" (src),"1" (dest)
: "memory");
return dest;
}
sifadin
Jul 4 2013, 10:28
Я таки нашел
asm(" JNZ (C$L10) ");
asm(" ADD.B #6,R15 ");
asm("C$L10: MOV.W R15,pr1 ") ;
Дело было вот в чем-должны соблюдаться следующие правила:
1) первая кавычка должна идти сразу после скобки (" а не ( ". Вероятно аналогично с закрывающей
2) Сразу после 1ой кавычки должны следовать либо метка либо пробелы/табуляции:
("C$L10: или (" JNZ....
Но не
(" C$L10: или ("JNZ....
thodnev
Aug 16 2013, 19:54
Вот справочник по компилятору си и
вот по асму(PDF). Вам нужна страница 107 первого документа(6.5 Interfacing C and C++ With Assembly Language)