$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