$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 (P06_MCSS08.A51) ;------------------------------------------------------------------------ ;Programmbeschreibung ;------------------------------------------------------------------------ ;Programm: ; ;Beschreiben Sie den internen Speicher von 00 bis 1Fh mit 55 ; ; ;Erstellt am: Dienstag, 8. April 2008 13:28:33 ;Programmiert: David Klein ; ;Verwendete Einspruenge: keine ; ;Verwendete Unterprogramme: keine ; ; ;Verwendete Register und Variable: ;Registerbank(0) ;R2 ; ;Kommentar: ; ;Aenderungen: ;Geaendert am: Dienstag, 8. April 2008 13:28:33 ; ; ;------------------------------------------------------------------------ ;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 ;------------------------------------------------------------------------ LEERLAUF: jnb P1.2,TASTE2 ;T2 ? Sprung TASTE2 jmp LEERLAUF ;SPRUNG LEERLAUF TASTE2: ; Von 03h bis 1Fh den Speicher mit 55h beschreiben mov A,#55H ;Akku mit 03H beschreiben mov R0,#03h ;R0 mit der Adresse 00h beschreiben mov R2,#1Ch setb P1.2 ;Für Simulator Taster rücksetzen SCHLEIFE: mov @R0,A ;Schiebe den Inhalt des Akkus in die Adresse, welche in R0 steht Inc R0 ;Beim nächsten Mal: Eine Adresse weiter springen djnz R2,SCHLEIFE ;Schleife so lange wiederholen, bis R2 herunter gezählt ist dekrement R2, jump not bis zero jmp LEERLAUF ;Wenn Schleife beendet: SPRUNG LEERLAUF end