;File: KADDN04.ASM                         04.05.91/KN
;----------------------------------------------------
; Addition von N natrlichen 8-Bit-Zahlen von 1 bis
; max 255
; Verwendung von Programmschleifen
; Addition auschlieálich mit Registern
; Automatische Abspeicherung des Ergebnisses am Ende der
; Tabelle
; Vor Beginn der Addition werden die Zahlen in das
; Datenfeld geschrieben
;----------------------------------------------------
; Datenteil des Programms
;
Anzahl  equ  1900h    ;Anzahl der Summanden
Basis   equ  Anzahl+1 ;Basisadresse des Datenfeldes
;
; Hinweis: Vor Betrieb im Simulator die Daten in den ent-
;         sprechenden Speicherstellen ablegen.
;------------------------------------------------------
;Programmteil
;Schleifenteil 1 im Program - Schreiben des Datenfeldes
INIT1:   LD  A,(Anzahl)
         LD  B,A
         LD  HL,Basis
         LD  A,01
         LD  D,A
LOOP1:   LD  (HL),D
         INC D
         INC HL
         DEC B
         JP NZ,LOOP1
;Schleifenteil 2 im Programm - Addition innerhalb der Register
INIT2:   LD  A,00      ;Nullsetzen der
         LD  C,A       ;beteiligten
         LD  D,A       ;Register
         LD  E,A       ;
;Einlesen der Anzahl der zu addierenden Zahlen
;und einlesen der Startadresse
         LD  A,(Anzahl)
         LD  B,A
         LD  HL,Basis
LOOP2:   LD   A,D     ;
         ADD  A,(HL)  ;
         LD   D,A     ;
         LD   A,E     ;
         ADC  A,C
         LD   E,A
         INC  HL
         DEC  B
         JP NZ,LOOP2
;Abspeichern des Ergebnisses im Speicher
         LD A,D
         LD (HL),A
         INC HL
         LD A,E
         LD (HL),A
         HALT
;------------------------------------------------------------
         END
;-------------------------------------------------------
;Erklaerungen
;keine