$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 (Hans.A51) ;------------------------------------------------------------------------ ;Programmbeschreibung ;------------------------------------------------------------------------ ;Programm: ; T1 -> 00 schreiben von 2000 - 20FF X: ; T2 -> FF schreiben von 2000 - 20FF X: ; ; ;Erstellt am: Mittwoch, 28. März 2007 13:01:52 ;Programmiert: Banana Joe ; ; ;Verwendete Einspruenge: keine ; ;Verwendete Unterprogramme: keine ; ; ;Verwendete Register und Variable: ;Registerbank(0) ;R2 ; ;Kommentar: ; ;Aenderungen: ;Geaendert am: Mittwoch, 28. März 2007 13:01:52 ; ; ;------------------------------------------------------------------------ ;Initialisierungsteil fuer allgemeine Konstanten ;------------------------------------------------------------------------ CSEG AT 0H ;Legt absolute Codesegmentadresse auf 0h jmp INIT ; ;------------------------------------------------------------------------ ;Interrupt-Vektoren ;------------------------------------------------------------------------ ;ORG ;------------------------------------------------------------------------ ;Initialisierungsteil fuer On-Chip Peripherie ;------------------------------------------------------------------------ ORG 100H ;Programmstart bei 100H INIT: ;------------------------------------------------------------------------ ;Programmschleife ;------------------------------------------------------------------------ ABFRAGE: jnb P1.1, V2000_FF ;T1 -> externen Speicher von 2000 - 20FF mit 00 beschreiben jnb P1.2, V2000_00 ;T2 -> externen Speicher von 2000 - 20FF mit FF beschreiben jmp ABFRAGE V2000_FF: ;Schleife initialisieren mov A, #0FFh ;Wert der geschrieben werden soll in Akku laden mov DPTR, #2000h ;Zieladresse in Datenpointer laden mov R2, 0h ;Zählregister laden SCHLEIFE: movx @DPTR, A ;Wert aus Akku in die im DPTR abgelegten Adresse schreiben inc DPTR ;++DPTR djnz R2 , SCHLEIFE ;dekrementiere Zählregister und wiederhole Schleife, falls nicht 0 setb P1.1 ;fuer Simulator setb P1.2 ;fuer Simulator jmp ABFRAGE V2000_00: ;Schleife initialisieren mov A, #00h ;Wert der geschrieben werden soll in Akku laden mov DPTR, #2000h ;Zieladresse in Datenpointer laden mov R2, 0FFh ;Zählregister laden jmp SCHLEIFE ;springe in die SCHLEIFE END