$nomod51                ;der Modus fuer 8051 wird abgeschaltet

$debug

$nolist                 ;es wird kein Listing fuer reg535 erstellt

$include(reg535.pdf)    ;die 80535-spezifischen Daten

$list                   ;es wird ein Listing erstellt

$ title (SPEICHERB.A51)

;------------------------------------------------------------------------

;Programmbeschreibung

;------------------------------------------------------------------------

;Programm: Es werden verschiedene Speicherbereiche angesprochen.

; Mit dem Debug-Mode kann im Einzelschritt nachvollzogen werden,

; welche Speicherzellen und Register identisch sind.

; Auf die externe Speicherzelle 2000H 5A schreiben

; interner Datenspeicher wird beschrieben

; T1 ->5A   T2 ->A5

;Datum: 14.11.2002

;Programmiert:

;

;Verwendete Einspruenge: keine

;

;Verwendete Unterprogramme: keine

;

;

;Verwendete Register und Variable:

;Registerbank(0)

;R2

;

;Kommentar:

;

;Aenderungen:

;Datum:

;

;

;------------------------------------------------------------------------

;Initialisierungsteil für allgemeine Konstanten

;------------------------------------------------------------------------

 

 

CSEG AT 0H              ;Legt absolute Codesegmentadresse auf 0h

ljmp INIT

;

;------------------------------------------------------------------------

;Interrupt-Vektoren

;------------------------------------------------------------------------

 

 

;------------------------------------------------------------------------

;Initialisierungsteil für On-Chip Peripherie

;------------------------------------------------------------------------

ORG 100H                ;Programmstart bei 100H

INIT:

 

;------------------------------------------------------------------------

;Programmschleife

;------------------------------------------------------------------------

 

ABFRAGE:

jnb P1.1,FA       ;Taste 1 betätigt?

jnb P1.2,AF       ;Taste 2 betätigt?

mov R1,#30h       ;Register R2

 

FA:

mov DPTR,#2000H         ;Der Datenpointer wird mit 2000H geladen

mov A,#5AH        ;Akku mit 5A laden

movx @DPTR,A            ;Adresszelle 2000 mit 5A beschreiben

mov R0,#5AH       ;interner Datenspeicher wird beschrieben

mov 00H,#0A5H           ;interne Speicherzelle 0 wird mit A5 beschrieben

jmp ABFRAGE

 

AF:

mov DPTR,#2000H         ;Der Datenpointer wird mit 2000H geladen

mov A,#0A5H       ;Akku mit 5A laden

movx @DPTR,A            ;Adresszelle 2000 mit 5A beschreiben

mov 30H,#0A5H           ;Interne Datenspeicherzelle 30 wird mit A5 beschrieben

mov R0,#30H       ;R0 wird mit 30 beschrieben

mov A,#5AH

mov @R0,A         ;Akku wird in Adresszelle 30H geladen

jmp ABFRAGE

 

end