$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 40h - direkt schreiben ;T2:5Ah in Adresse 40h - indirekt lesen ; ;Datum: 03.05.2005 ;Programmiert: in Vorlesung Sebastian Seider ; ;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 40h,#0A5h ;direkte adressierung der Speicherzelle 40h jmp ABFRAGE ;sprung auf abfrage INDIREKT: mov R0,#40h ;adresse 40h in R0 mov A,@R0 ;indirekte adressierung der Speicherzelle 40h jmp ABFRAGE ;sprung abfrage end