$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 (IND_DIR.A51) ;------------------------------------------------------------------------ ;Programmbeschreibung ;------------------------------------------------------------------------ ;Programm: ;Unterschied ;T1 direkte Adressierung - ;T2 indirekte Adressierung ; ; ;Datum: 26.11.2003 ;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, DIREKT ; Taste1 direkte Adressierung jnb P1.2, INDIREKT ; Taste2 indirekte Adressierung jnb P1.3, LEUCHTE_AN ; Leuchte wird eingeschaltet jmp ABFRAGE DIREKT: mov A,#0A1h ; lade Akku mit A1 (161) mov R1,A ; schiebe A in R1 jmp ABFRAGE INDIREKT: mov A,#0FFh ; lade Akku mit 0A1 mov R1,#030h ; lade Adresse in R1 mov R0,#040h ; Anzahl der Zellen SCHLEIFE: mov @R1,A ; schiebe A in Adresse inc R1 ; R1+1 djnz R0,SCHLEIFE ; sind 40 Zellen beschrieben? jmp ABFRAGE LEUCHTE_AN: clr P3.4 ;Leuchte an jmp ABFRAGE end