Gast
#177056
Hallo,
erstmal vielen Dank an alle, die diese Seite betreiben und an die
Freaks die geduldig Antworten. Ohne dieser Seite wäre ich wohl nie
soweit gekommen, meine Assembler- Funktionen in ein C-Programm zu
implementieren.
Jetzt habe ich aber noch zwei Fragen:
1. Ich habe in meinem C-Hauptprogramm mehrere globale Variblen
(hauptsächlich Flags) und ich möchte diese Flags in meinen Assembler-
Funktionen setzen.
Codeausschnitt:
C-Main: #include <avr/io.h>
extern void trigon(void);
unsigned char Flag1; // Globales Flag
unsigned char Flag2; // Globales Flag
int main (void)
{ trigon ();..........}
Assembler trigon.S
#define __SFR__OFFSET 0
#include <avr/io.h>
#define temp r16
.stabs "" ......
trigon:
ser temp
ldi Flag1,temp
ldi Flag2,temp
........
Das setzen der Flags funktioniert nicht. Fehlermeldung: constant value
required. Ich hab's mir schon gedacht das der Code nicht funktioniert.
Aber ich finde auch keine Lösung, weil mir noch ein wenig das tiefere
Verständnis fehlt. :-). Aber ich bin am arbeiten.
Frage 2:
Was bedeutet der Code:
.stabs "",100,0,trigon
.stabs "trigon.S",100,0,0,trigon
Vielleicht kann mir ja auch jemand noch ein Tutorial (bitte mit
gültigen Link) zu diesem Thema empfehlen.
Danke bluemole