Forum: Mikrocontroller und Digitale Elektronik dptr dezimal inc/dec gesucht


von Martin (Gast)


Lesenswert?

Hallo!

Hat jemand von euch ein Programm(in Assembler) welches den DPTR um eins
dezimal erhöht? Bzw. das gleiche bräuchte ich auch noch für eins
erniedrigen.


Danke fürs schaun
Martin

von Sascha (Gast)


Lesenswert?

Beim 8051???

Steht in der Befehlsliste -> inc DPTR = um 1 erhöhen.

Beim decrementiern, brauchst du ein wenig Code:


DEC_DPTR:
    XCH     A,DPL               ;Exchange A for DPL
    DEC     A                   ;Decrement A (which is DPL)
    CJNE    A,#0FFh,_dec_dptr2  ;If A (DPL) is not #0FFh, continue
normally
    DEC     DPH                 ;If A=FFh, we need to decrement DPH
_dec_dptr2:
    XCH     A,DPL               ;Exchange A for DPL (thus saving DPL
and restoring A)
    RET

Mfg Sascha

von e-moler (Gast)


Lesenswert?

hallo zusammen
 ich habe auch ein Problem mit dem DPTR!
 ich will ihn inkrementieren so das er auf die nächste Adresse Zeigt.
 Nun schreibe ich:    INC DPTR  und nichts tut sich!
 ich will eigendlich nur ein paar Ascizeichen in x-Data ablegen.

der gute Sascha sagt:
-Beim 8051 Steht in der Befehlsliste -> inc DPTR = um 1 erhöhen.

Das war auch mein Gedanke, nur leider leider funktioniert das nicht!
bitte um Hilfe!

von Uhu U. (uhu)


Lesenswert?

inc DPTR incrementiert ja auch nicht den Inhalt der Speicherzelle, auf 
die DPTR zeigt, sondern DPTR selbst; das zeigt anschließend auf die 
nächste Adresse.

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.