; File: Krypto01.ASM              (c)Idee 200390/FL
;                                         060591/KN
;----------------------------------------------------
;
; Definieren des Programmsegmentes (Hauptprogramm)
         defseg hprog, start=0000h, absolute
         seg hprog
         org 0000h
;
anzahl  equ  14h    ;Anzahl der Datenbytes
quelB   equ  1950h  ;Basisadresse des Klardatenfeldes
zielB   equ  1900h  ;Basisadresse des Chiffredatenfeldes
loesch  equ  0fh
;------------------------------------------------------
;Hauptprogramm

START:   ld sp,2000h
         call init1
         nop
         call chiff
         nop
         call delete
         halt
;
;Beginn der Unterprogramme
;Subroutine zur Initialisierung
INIT1:   ld  de,quelb
         ld  hl,zielb
         ld  b,anzahl
         ret
;Subroutine zum Chiffrieren
chiff:   ld  a,(de)   ;Datenbyte holen
         xor a,b      ;Verschlsseln ber Z„hlerbyte
         ld  (hl),a   ;und im Zieldatenfeld sichern
         inc de       ;Zeiger
         inc hl       ;aktualisieren
         dec b        ;Z„hler um 1 verringern
         jr  nz,chiff ;
         ret
;Subroutine zum L”schen der Klardaten
delete:  ld b,anzahl
         ld de,quelb
kill:    ld a,loesch
         ld (de),a
         inc de
         dec b
         jr nz,kill
         ret
;------------------------------------------------------------
         END
;-------------------------------------------------------
