$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 (AA_EXTX.A51)
;------------------------------------------------------------------------
;Programmbeschreibung
;------------------------------------------------------------------------
;Programm:
;Der externe Datenspeicher wird von 2000H bis 3000H beschrieben.
;Taster 1 = AAH, Taster 2 mit 00.
;
;Datum: 4.11.2002
;Programmiert: J. Walter
;WS 2002
;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
jmp INIT
;
;------------------------------------------------------------------------
;Interrupt-Vektoren
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;Initialisierungsteil für On-Chip Peripherie
;------------------------------------------------------------------------
ORG 100H ;Programmstart bei 100H
INIT:
;------------------------------------------------------------------------
;Programmschleife
;------------------------------------------------------------------------
ABFRAGE:
jnb P1.1,AA ;Abfrage Taste 1
jnb P1.2,NN ;Abfrage Taste 2
ajmp ABFRAGE
AA:
mov DPTR,#2000H ;Anfangsadresse externer D-Speicher
mov A,#0AAH ;Akkumulator mit Daten laden
SCHLEIFE:
movx @DPTR,A ;Inhalt von Akku in Speicherzelle welche
;durch R0 adressiert ist
inc DPTR ;Adresszeiger +1
mov R0,DPH ;
cjne R0,#30H,SCHLEIFE ;30H im High-Byte erreicht?
ajmp ABFRAGE
NN:
mov DPTR,#2000H ;Anfangsadresse externer D-Speicher
mov A,#00H ;Akkumulator mit Daten laden
SCHLEIFE1:
movx @DPTR,A ;Inhalt von Akku in Speicherzelle welche
;durch R0 adressiert ist
inc DPTR ;Adresszeiger +1
mov R0,DPH ;
cjne R0,#30H,SCHLEIFE1 ;30H im High-Byte erreicht?
jmp ABFRAGE
end