AVR Ramadressierung

Gast #6002710
Hallo Forum,

als erstes, ich habe bereits gegoogelt, nur nichts gefunden, warum auch 
immer, wsl der falsche Suchbegriff. Ich weiß im Moment nicht genau, nach 
was ich suchen soll. Darum hoffe ich hier Hilfe zu erhalten.
Ich habe bis jetzt mit dem ATtiny 2313 gearbeitet, da war das Ram 128 
Byte groß und man konnte es mit 8 Bit ansprechen. Jetzt würde ich gerne 
mit einem Attiny48 arbeiten, da ist das Ram 512 Byte groß und das ist 
mein Problem. Wie mache ich das bei einem einfachen LDS-Befehl, da 
passen nur 8-Bit als Ramadresse dahinter. Muß ich jetzt alles über die 
drei 16-Bit Register (X,Y,Z) adressieren. Gibt es eine Einstellung im 
Assembler, der Zuweisungen von bestimmten Variablen nur in den ersten 
256 Bytes macht?
Kann mir jmd helfen. Danke
Dazu gibt es das AVR Instruction set manual, ich habe eine Weile suchen 
müssen, früher bei Atmel hieß es noch DOC0856, jetzt:
http://ww1.microchip.com/downloads/en/devicedoc/atmel-0856-avr-instruction-set-manual.pdf
Die einfachste RAM-Adressierung steht auf Seite 16, "Data Direct 
Addressing".
Damit kann man bis zu 65536 Byte adressieren, erst für mehr als 64k RAM 
braucht man anderes.
Gast
Hi

>Wie mache ich das bei einem einfachen LDS-Befehl, da
>passen nur 8-Bit als Ramadresse dahinter.

Nein. LDS enthält Bit-Adressen. Lies mal das Instruction-Set.

MfG Spess
Gast
spess53 schrieb:
> Nein. LDS enthält Bit-Adressen. Lies mal das Instruction-Set.

Schwachfug.
1
74. LDS – Load Direct from Data Space
2
...
3
LDS Rd,k 0 ≤ d ≤ 31, 0 ≤ k ≤ 65535 PC ← PC + 2

Damit sind (ohne Paging) 64 kByte ansprechbar.

leo
Gast
Hi

>LDS Rd,k 0 ≤ d ≤ 31, 0 ≤ k ≤ 65535 PC ← PC + 2
>Damit sind (ohne Paging) 64 kByte ansprechbar.

Was ist denn K? Eine 16-Bit-Adresse.

Was ist daran 'Schwachfug'?

MfG Spess
Gast
Hi

>Besser ist 'LDS enthält 16-Bit Adressen', dann wäre es klar.

Tschuldigung. Das '16-' hatte ich beim korrigieren aus Versehen 
gelöscht.

MfG Spess

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.