$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 (IDSPID.A51) ;------------------------------------------------------------------------ ;Programmbeschreibung ;------------------------------------------------------------------------ ;Programm:IDSPID Interner Datenspeicher indirekt und direkt adressieren. ;T1:A5h in Adresse 30h - direkt ;T2:5Ah in Adresse 30h - indirekt ; ;Datum: 26.04.2005 ;Programmiert: in Vorlesung Andreas Ketterer ; ;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,DIREKT ;T1 sprung zu marke direkt jnb P1.2,INDIREKT ;T2 sprung zu marke indirekt jmp ABFRAGE ;sprung abfrage DIREKT: mov 30h,#0A5h ;direkte adressierung der Speicherzelle 30h jmp ABFRAGE ;sprung auf abfrage INDIREKT: mov R0,#30h ;adresse 30h in R0 mov A,#5Ah ;akku mit 5Ah beschreiben mov @R0,A ;indirekte adressierung der Speicherzelle 30h jmp ABFRAGE ;sprung abfrage end