$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 (ADDITION.A51)
;------------------------------------------------------------------------
;Programmbeschreibung
;------------------------------------------------------------------------
;Programm: Addition von zwei Zahlen
;
;
;Datum: 20.01.2002
;Programmiert: J. Walter
;
;Verwendete Einspruenge: keine
;
;Verwendete Unterprogramme: keine
;
;
;Verwendete Register und Variable:
;Registerbank(0)
;R2
;
;Kommentar:
;
;Aenderungen:
;Datum:
;
;
;------------------------------------------------------------------------
;Initialisierungsteil für allgemeine Konstanten
;------------------------------------------------------------------------
ZAHL1 EQU 2
ZAHL2 EQU 3

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, ADDITION	;Warteschleife
jmp ABFRAGE

ADDITION:
mov R1,#ZAHL1		;Schiebe ZAHL1 in das Register R1
mov A,#ZAHL2		;Schiebe ZAHL2 in den Akku
SUMME:
add A,R1		;Addiere R1 + A
jb P1.2,SUMME		;Weitere Additionen
jmp ABFRAGE

end