in welchem Register wird Variable abgelegt

Gast #2873065
Lesenswert?

Klaus schrieb:
> will ich nicht wissen wo sie der Compiler hinlegt, deswegen verwende ich
> ja C und nicht Assembler. Wenn ich in Excel eine Variable verwende wo
> ist die dann?

und wenn ich gerne im Debug-Modus den Variableninhalt verfolgen möchte 
und mir die Registerwerte in dem Registerfenster anzeigen lasse dazu, 
woher soll ich es dann wissen?
Gast #2873070
Lesenswert?

Anfaenger schrieb:
> Klaus schrieb:
>> will ich nicht wissen wo sie der Compiler hinlegt, deswegen verwende ich
>> ja C und nicht Assembler. Wenn ich in Excel eine Variable verwende wo
>> ist die dann?
>
> und wenn ich gerne im Debug-Modus den Variableninhalt verfolgen möchte
> und mir die Registerwerte in dem Registerfenster anzeigen lasse dazu,
> woher soll ich es dann wissen?

Dann fragst du den Debugger, welchen Wert i hat, dafür ist er ja da. 
Möglicherweise ist i ja garnicht in einem Register sondern irgendwo im 
Speicher.

MfG Klaus
Gast #2873073
Lesenswert?

Wo steht denn, daß Variablen in Registern abgelegt werden?
Diese werden typischerweise im RAM oder EEPROM evtl. Flash abgelegt.
Wenn sie dann benutzt werden, kann es durchaus vorkommen, das sie in ein 
Register kopiert werden. Das hängt zuletzt vom uC und vom Compiler ab.

Beim debuggen sollte es reichen, den Variableninhalt beobachten zu 
können.

Gruß
Gast #2873081
Lesenswert?

variable schrieb:
> RAM oder EEPROM evtl. Flash abgelegt.

aha, und wenn ich ne Zählvariable hab, die oft ihren Wert verändert und 
dann im EEPROM abgelegt wird, der nur ne begrenzte Beschreibkarkeit hat 
..., ist ja echt unpraktisch, dass ich nicht selber bestimmen kann, in 
welchem Speicherbereich der die Variable hinlegt.
Gast #2873088
Lesenswert?

Du musst den Speicherort der Variablen sogar definieren.
Standardmäßig werden Variablen im RAM abgelegt. Das kannst Du natürlich 
änden.
Ein Zähler im EEPROM macht nur dann Sinn, wen  die Intervalle lange 
genug sind wo Du speicherst, oder Du willst den EEPROM killen.

Wo liegt eigentlich Dein Problem?

Gruß
Gast #2873093
Lesenswert?

Anfaenger schrieb:
> ist ja echt unpraktisch, dass ich nicht selber bestimmen kann, in
> welchem Speicherbereich der die Variable hinlegt.

Entweder du programmierst in einer höheren Sprache und kümmerst dich 
nicht darum, ob dein Prozessor überhaut Register hat und wenn, 
wieviele es sind. Oder du machst alles in Assembler.

MfG Klaus
Gast #2873094
Lesenswert?

variable schrieb:
> Wo liegt eigentlich Dein Problem?

Dass ich nicht bedacht hab, dass man mit einem C-Programm nicht die 
Werte der Register so beobachten kann wie in einem Assebler-Programm. 
Zwar verändern sich die Register auch von Schritt zu Schritt, aber die 
Zordnung kenne ich nicht.

Marius Wensing schrieb:
> wenn du die "Watch"-Funktion

Jetzt muss ich nur noch rauskriegen, wo ich die Watchfunktion finde.

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