Hallo,
Zieh Dir das hier mal rein.
Gruß Sebastian
Hallo,
ich hab mal eine wie ich denke sehr grundlegende Frage, ich habe in letzter Zeit mit viel interesse ASM-Code gelesen, und bin schon um einiges weiter ... =D>
Bei manchen Programmen kommen abschnitte mit
.dw
und
.db
vor, leider sagt mir das noch nicht so viel.
Ich weiss nur, dass words und bytes damit gesetzt werden können.
Ich dachte für euch Profis ist das doch ein klacks mir das zu erklären.
Was kann ich damit genau anfangen, und wie kann ich es verwenden ?
Könnte mir freundlicherweise jemand kommentierte Codebeispiele posten ? Ich bin für jede Erklärung sehr dankbar, da ich das früher oder später für das Studium lernen muss...
Danke
Quagmire
Hallo,
Zieh Dir das hier mal rein.
Gruß Sebastian
Linus TorvaldSoftware is like s e x: its better when its free.
Danke sebastian, das Beispiel unter dem link .db und .dw ist mir zu dürftig. Es hat dort leider kein konkretes Beispiel. Aber trotzdem danke.
Eine frage wäre, wenn ich mit .db ein byte irgendwohinschreibe (stimmt das soweit?) wie kann ich es dann lesen ?
Bzw. wo wird es hingeschrieben ?
Naja,
ich dachte eigentlich, es ist ziemlich gut beschrieben auf dieser Seite
Also ganz kurz,
db bzw dw legen werte im Flash ab.
Es gibt hier eine enge Bindung mit Zeigern.
Am besten setzt man zuerst ein Label, und dann definiert man seine Werte
Ich hab hier einfach einen String genommen.Code:text: .db 'H','A','L','L','O',0
Nach dem Assemblieren werden die Bytes im Flash liegen...
Zugriff geht ganz einfach,
man braucht den Z Zeiger und die Funktion lpm
Jetzt "zeigt" der Z-Zeiger auch das Label "text" bzw. das erste Element von (Hier der Buchstabe H)Code:ldi ZH,HIGH(2*text) ldi ZL,LOW(2*text)
Als nächstes kommt der Befehl "lpm"
Jetzt hast Du den Inhalt worauf Z-Zeiger zeigt in Register R0 geladen.Code:lpm
Damit machst Du was Du auch immer lustig bist
Du kannst den Zeiger inkrementierenCode:mov R16,R0
jetzt zeigt er auf 'A'Code:adiw ZL,1
oder verringern
Jetzt zeigt er wieder auf 'H'Code:sbiw ZL,1
Man kann auch ein Paar Bytes in einem springen
Jetzt klarer ?Code:adiw ZL,5
Gruß Sebastian
Linus TorvaldSoftware is like s e x: its better when its free.
DANKE, jetzt ist es klar wie Kloßbrühe !
Ich werd mich damit mal spielen ...
Eine Frage noch, wenn ich keine Labels verwende, kann ich dann .dw und .db trotzdem sinnvoll verwenden ?
Gruß
Quagmire
Sicher doch, wenn Du Dir genau ausrechnest an welcher Adresse Dein .db .dwEine Frage noch, wenn ich keine Labels verwende, kann ich dann .dw und .db trotzdem sinnvoll verwenden ?
steht
Aber ich weiß nicht was gegen Labels spricht die sind dazu da um uns das Leben einfacher zu machen.
Gruß Sebastian
Linus TorvaldSoftware is like s e x: its better when its free.
Lesezeichen