Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: zacK am 04. March 2005, 14:38

Titel: Globale ASM Variablen in C gebrauchen
Beitrag von: zacK am 04. March 2005, 14:38
Huhu

Ich würde gerne eine Asm-Variable

DummyVariable db 0

in c auslesen können.

wie kann ich das realisieren?

irgendwie mit
global DummyVariable db 0 ??

und wie muss ich sie im c dann einbinden?
Titel: Globale ASM Variablen in C gebrauchen
Beitrag von: Ironfoot am 04. March 2005, 14:51
sollteste in ASM mit

[global _dummyVar]
_dummyVar db 0


und in C dann

extern unsigned char dummyVar;


solltest aber beide Dateien gemeinsam Linken, sonst beschwert sich der Linker über "nicht aufgelöste Referenzen"...
Titel: Globale ASM Variablen in C gebrauchen
Beitrag von: zacK am 04. March 2005, 14:55
gibt es denn ne möglichkeit die var zu gebrauchen wenn ich die dateien nicht linke nur zusammen kopiere.??

ich schreibe die Var besser irgendwo ins ram hin wo si nicht stört ung greiffe über die adr dan zu...
Titel: Globale ASM Variablen in C gebrauchen
Beitrag von: Jidder am 04. March 2005, 15:57
int * var;

var = (int*)0x1234; // unsere variable befindet sich an der adresse 0x1234

*var = 1000; // in die Variable den Wert 1000 schreiben
*var++;  // die variable um 1 erhöhen


mit *var (oder var[0]) greifst du auf den inhalt zu. mit var auf die Adresse