Forum: Mikrocontroller und Digitale Elektronik 8051 aktiven Datenpointer auswählen (Assembler)


von Fabian M. (fabmo123)


Lesenswert?

Hallo,

ich arbeite gerade mit einem 8051 Controller.
dieser Controller hat 8 Datenpointer und ich möchte wissen, wie ich den 
aktuellen Pointer auswählen kann.
Wenn ich mit
1
mov DPTR,#0011H
etwas in den Pointer lade, nimmt der Keil Debugger immer den Datenpinter 
[0].

Wie kann ich einen anderen DPTR auswählen?

von MC (Gast)


Lesenswert?

Dazu müsstest du im Datenblatt deines µCs mal nach dem Begriff "dptr" 
suchen. Irgendwo wirst du dann ein Register finden, in dem die Pointer 
ausgewählt werden können.

>8051 aktiven Datenpointer auswählen (Assembler)
>...
>Wenn ich mit mov DPTR,#0011H
>etwas in den Pointer lade, nimmt der Keil Debugger immer den Datenpinter
>[0].
Was machst du mit dem Keil denn in Assembler? Übrigens nimmt Keil immer 
dptr0, da dieser voreingestellt ist.

von Fabian M. (fabmo123)


Lesenswert?

Hallo,

danke, denn werde ich dort mal nachschauen. Normalerweise müsste das 
doch im PSW einstellbar sein oder?

>Was machst du mit dem Keil denn in Assembler?

Wieso??? Ist das ungewöhnlich? Funktioniert jedenfalls. Was nimmt man 
sonst für Assembler? Bin noch etwas neu auf dem Gebiet.

von Fabian M. (fabmo123)


Lesenswert?

Problem gelöst.

Das Register heißt DPSEL und ist ein 8-Bit Register, liegt im SFR an der 
Adresse 92H. Mit den Bits 0-2 kann man einen der 8 Datenpointer 
auswählen.
Beispeilsweise:
1
MOV DPSEL,#02H

Datenpointer 2 wird ausgewählt.

von R. W. (quakeman)


Lesenswert?

Keil ist wunderbar für Assembler und C-Code benutzbar. Ich habe früher 
auch nur in Assembler programmiert und Keil als IDE dafür benutzt.
Vor allem der Debugger ist einfach super. :)

Ciao,
     Rainer

von MC (Gast)


Lesenswert?

Das klingt ja echt interessant!
Wie kann ich in Keil denn Assembler einbinden?

von Fabian M. (fabmo123)


Lesenswert?

Wieso einbinden?
Ich habe mir einfach Keil µVision3 runtergeladen. Da is der Assembler 
eigentlich gleich dabei. Sobald Du eine Quelle mit der Endung .asm hast, 
bindet er die als Assembler Quelle ein.

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.