expected an asm string

Gast #3846725
Lesenswert?
• ▲
▼
moin,

msp430, ok C wissen, kleines bis keines assembler wissen.
1
  int s_s_ctr;
2
  reg_buff = 0x0000;
3
  for (s_s_ctr = 0; s_s_ctr < CPU_REGISTERS; s_s_ctr++)
4
  {
5
    sprintf (buff1, "mov.w r");
6
    sprintf (buff2, "%d, reg_buff\n", s_s_ctr);
7
    strcat  (buff1, buff2);
8
    asm    (buff1);              
9
    stack[stack_nr].reg[s_s_ctr] = reg_buff;  
10
  }

der String in buff 1 lautet nach strcat "mov.w r0, reg_buff" (ohne das 
/n)
aber der compiler meckert "expected asm string"?
Gast #3846734
Lesenswert?
• ▲
▼
also geht nur
1
  asm(" mov.w r0, reg_buff\n");
2
  stack[stc_ctr].reg[0] = reg_buff;
3
  asm(" mov.w r1, reg_buff\n");
4
  stack[stc_ctr].reg[1] = reg_buff;
5
  asm(" mov.w r2, reg_buff\n");
6
  stack[stc_ctr].reg[2] = reg_buff;
7
  asm(" mov.w r3, reg_buff\n");
8
  stack[stc_ctr].reg[3] = reg_buff;
9
  asm(" mov.w r4, reg_buff\n");
10
  stack[stc_ctr].reg[4] = reg_buff;
11
  asm(" mov.w r5, reg_buff\n");
12
  stack[stc_ctr].reg[5] = reg_buff;
13
  asm(" mov.w r6, reg_buff\n");
14
  stack[stc_ctr].reg[6] = reg_buff;
15
  asm(" mov.w r7, reg_buff\n");
16
  stack[stc_ctr].reg[7] = reg_buff;
17
  asm(" mov.w r8, reg_buff\n");
18
  stack[stc_ctr].reg[8] = reg_buff;
19
  asm(" mov.w r9, reg_buff\n");
20
  stack[stc_ctr].reg[9] = reg_buff;
21
  asm(" mov.w r10, reg_buff\n");
22
  stack[stc_ctr].reg[10] = reg_buff;
23
  asm(" mov.w r11, reg_buff\n");
24
  stack[stc_ctr].reg[11] = reg_buff;
25
  asm(" mov.w r12, reg_buff\n");
26
  stack[stc_ctr].reg[12] = reg_buff;
27
  asm(" mov.w r13, reg_buff\n");
28
  stack[stc_ctr].reg[13] = reg_buff;
29
  asm(" mov.w r14, reg_buff\n");
30
  stack[stc_ctr].reg[14] = reg_buff;
31
  asm(" mov.w r15, reg_buff\n");
32
  stack[stc_ctr].reg[15] = reg_buff;

?
#3848067
Lesenswert?
• ▲
▼
Ich würd mir an deiner Stelle auch mal ansehen, was der Compiler aus
1
  stack[stc_ctr].reg[0] = reg_buff;
macht.
Ich würde das nämlich als recht unwahrscheinlich ansehen, wenn der 
Compiler die anweisung ohne die Verwendung von Registern hinkriegt. 
Wodurch du nicht die Registerinhalte sicherst, die du denkst.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.