Pierre Gnauck schrieb:
> Doch doch das mit dem Label hatte ich schon verstanden das es aus zwei
> Byte besteht
Das 'Label' besteht aus überhaupt nichts. Das Label ist einfach nur ein
Name.
Stell dir eine lange Reihe von Briefkästen vor. Jeder hat eine Nummer.
Damit man sie als Mensch besser unterscheiden kann, kann man den Kästen
auch einen Namen geben. Nur gilt die Zusatzvereinbarung: Du kannst immer
nur Briefkästen mit geraden Nummern einen Namen geben.
Daraus folgt:
Du kannst zwar dem Kasten mit der Nummer 0 einen Namen geben, aber nicht
dem mit der Nummer 1. Wenn du nach dem Kasten 0 einen anderen Kasten mit
einem Namen versehen willst, dann musst du den Kasten 2 nehmen.
Nichts anderes hat dir dein Assembler mitgeteilt.
.db reserviert immer soviele Bytes, wie benötigt um deine Initialwerte
unterzubringen.
.db 5, 0
reserviert also 2 Bytes.
Wenn das .db ursprünglich auf einer geraden Adresse stand, dann geht es
nach dem .db automatisch wieder mit einer geraden Adresse weiter, weil
ja im .db 2 Bytes reserviert wurden.
Das Label gibt dem ganzen dann nur noch einen Namen, damit du es aus dem
Code heraus ansprechen kannst und dich nicht mit numerischen Adressen
rumschlagen musst.
Daten:
.db 5, 0