;File: KADD3.ASM                         06.03.91 /KN
;----------------------------------------------------
;Addition von zwei 16 Bit-Zahlen
; Verwendung von Zeigern zur Datenadressierung
; im Speicher
;----------------------------------------------------
;Die Daten-Bytes werden in diesem Programm als 8 Bit-Zahl
;aufgefaát mit folgender Zuordnung : Low-Nibble = Untersten 8-Bit
;                                    High-Nibble= Obersten 8-Bit
;----------------------------------------------------
; Datenteil des Programms
;
DAT1     EQU  1907h          ;Adresse von Low-Byte Summand 1
DAT2     EQU  190Fh          ;Adresse von Low-Byte Summand 2
DATS     EQU  1917h          ;Adresse der Summe Low-Byte
;
;Hinweis: Vor Betrieb im Simulator die Daten in den ent-
;         sprechenden Speicherstellen ablegen.
;------------------------------------------------------; Programmteil
;
; Initialisierung des Programms
;
START:   LD   DE,DAT1       ;DE = Zeiger auf Summand 1 Low-Byte
         LD   HL,DAT2       ;HL = Zeiger auf Summand 2 Low-Byte
         LD   BC,DATS       ;BC = Zeiger auf Summe Low-Byte
;
; Hauptprogramm
;
ADD:     LD   A,(DE)       ;Summand 1 in den Akku laden Low-Byte
         ADD  A,(HL)       ;Summand 2 zum Akku addieren Low-Byte
         LD   (BC),A       ;Ergebnisbyte im Speicher sichern Low-Byte
         DEC  DE           ;DE-Register um 1 erniedrigen
         DEC  HL           ;HL-Register um 1 erniedrigen
         DEC  BC           ;BC-Register um 1 erniedrigen
;
         LD   A,(DE)       ;Summand 1 in den Akku laden High-Byte
         ADC  A,(HL)       ;Summand 2 mit Carry zum Akku addieren High-Byte
         LD   (BC),A       ;Ergebnisbyte im Speicher sichern High-Byte
;
END:     HALT              ;Programmstop
;-------------------------------------------------------
;
         END
;
;-------------------------------------------------------
;Erklaerungen
;
;Erklaerungen Ende
