ST0 Register auslesen bei TMS320F2808

Gast #1052754
Lesenswert?

Moin!
Ich habe mal wieder eine Frage zu dem TMS320F2808... :-)
Und zwar will ich das Register ST0 auslesen, um herauszufinden ob die 
Addition von zwei _iq (oder long) Werten einen Überlauf produziert oder 
nicht.
Ich programmiere in C und meine Assembler Kenntnisse sind bescheiden.
Anscheinend ist es in C nicht möglich auf das Register zuzugreifen (oder 
mir ist nur der name nicht bekannt).

Wie sieht der assembler-Code in C aus, mit dem ich den Register-Wert in 
eine Variable schreiben kann?
Gibt es vielleicht eine andere (bessere) Variante mit der ich bei einer 
Addition auf Überlauft Testen kann?

MfG Alex
Gast #1055329
Lesenswert?

Ich kann dir leider nicht wirklich weiterhelfen.

Es sieht so aus als sei kein "richtiger" Zugriff auf ST0 möglich. Es 
gibt in der TI-Knowledge-Base einen Artikel wie das beim C5000 mittels 
Pointer erledigt werden kann, dort ist ST0 memory mapped. Beim C2000 ist 
dies aber leider nicht der Fall...
Gast #1057086
Lesenswert?

Moin,
Nachdem man nichts darüber findet hatte ich so etwas hatte schon 
befürchtet ;-).
Ich bin in der Zwischenzeit auf das OVM bit gestoßen.
Wenn man das setzt, dann passieren keine Überläufe bei Additionen, 
sondern das Ergebnis wird auf das Min/Maximum begrenzt.
Code in C um das Bit zu setzten/löschen:
1
asm (" setc OVM")
2
asm (" clrc OVM")

MfG Alex

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren