Pointer in Assembler

Gast #1305874
Hallo.

Ich habe - vereinfacht - folgendes vor:
1
 MOV SBUF,20h
2
 CLR TI
3

4

5
 MOV SBUF,21h
6
 CLR TI
7

8

9
 MOV SBUF,22h
10
 CLR TI
11

12

13
 MOV SBUF,23h
14
 CLR TI
15

16

17
 MOV SBUF,24h
18
 CLR TI
19

20

21
 MOV SBUF,25h
22
 CLR TI
23

24

25
 MOV SBUF,26h
26
 CLR TI
27

28

29
 MOV SBUF,27h
30
 CLR TI

wie man sieht, sind das 8 mal die selben Befehle nur dass die Adresse 
beim MOV-Befehl von 20h bis 27h hochzählt.

In C würde ich das mit einer Schleife und einem Pointer machen. 
Assembler kenne ich erst seit ein paar Tagen. Geht das auch in 
Assembler? Und wie?

Danke im Vorraus.
mfg Jonas.
Gast
Hallo!
Beim 8051 gibt es zuzsätzlich zum Datapointer DPTR die Möglichkeit per 
Programmcounter [MOVC A,@A+PC] oder über die Register R0, R1 [MOV A,@R0] 
pointermäßig auf die verschiedenen Speicher zuzugreifen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 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.