Gast
#2059559
Hallo. Was mache ich hier falsch? Ich deklariere in meinem .S-File zwei Variablen: .global var_a .global var_b var_a: .byte 4 var_b: .byte 1 In meinem .c-File mache ich dann das: extern unsigned char var_a[4]; extern unsigned char var_b; und in der main: var_a[0] = 1; var_a[1] = 2; ... var_b = 5; Freundlicherweise 'optimiert' der Linker das so schön, das im Moment var_a[1] und var_b die gleiche Adresse kriegen. Gibt es irgendeine Lösung, mit der das sicher funktioniert. Die Variablen will ich in Assembler deklarieren, damit sie im Speicher genau hintereinander stehen, zweckes Zeiger-Zugriffen, aber ich würde den Linker gerne verstehen und richtig bedienen wollen. Danke für Hilfe! Timo