Forum: Mikrocontroller und Digitale Elektronik Pointer in Assembler


von jonas (Gast)


Lesenswert?

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.

: Verschoben durch User
von Stefan E. (sternst)


Lesenswert?

1. Meinst du, Assembler ist für alle Prozessoren gleich?
2. Was hat das in der Codesammlung zu suchen?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Im AVR werden Poiner über die Register X, Y und Z realisiert.

von Peter (Gast)


Lesenswert?

da ja C auch nur auf Assembler umgesetzt wird, gibt es nichts was in C 
geht und mit Assembler nicht geht.

von Helmut L. (helmi1)


Lesenswert?

>Assembler kenne ich erst seit ein paar Tagen. Geht das auch in
>Assembler? Und wie?

Sicher get das auch in Assembler. Ich nehme mal an das du eine 8051 
Prozessor hast.

Dann schau dir mal die befehle

Mov dptr,#xxx

movc

an.

von Route_66 (Gast)


Lesenswert?

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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.