Autor Thema: ASM: Datenbereiche und Adressen zu den Datenbereichen...., machen mich wieder...  (Gelesen 3009 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

guest3744

  • Gast
Hallo, guten Tag.
Ich bin wieder auf dem Irrpfad von ASM und Datenbereichsadressen.

Neue geänderte Fragestellung:
Befinden sich die 5 Adressen von daten1-daten5 hintereinander bei  0(A), 4(A0), 8(A), 12(A0), 16(A0) ?

                lea     tab(PC),A0
                rts

daten1:         DS.L 128
daten2:         DS.L 128
daten3:         DS.L 128
daten4:         DS.L 128
daten5:         DS.L 128

tab:            DC.L tab-daten1,tab-daten2,tab-daten3,tab-daten4,tab-daten5

                END

Offline laufkopf

  • Benutzer
  • Beiträge: 341
lea daten(pc),a1  <- Adresse von daten nach a1

usw

Ab Anfangsadresse von addr liegt der offset von addr rückwärts zu daten und daten1
wie hier beschrieben.

ds.l fordert speicher im bss (block storage segment) an. hier longs. sowas wie eine undefinierte variable.

dc.l legt speicher im data-segment ab und zwar definierten, wie texte oder eben wie bei dir die differenz der adresse addr zu daten.

also programm steht im text-segment
initialisierte daten wie texte usw stehen im data-segment
undefinierte dinge stehen im bss

guest3744

  • Gast
Ich habe den falschen Gedanken oben gehabt.
Kannst du die Frage für oben noch einmal beantworten?

Danke.
Gruss

Offline laufkopf

  • Benutzer
  • Beiträge: 341
nein

bei: tab: dc.l daten1, daten2 ...

wäre das der fall

wie oben dc.l tab-daten1 ... stehen lediglich die offsets zur tabelle in a0

guest3744

  • Gast
Ja danke.

Gruss