;; Demonstrationsprogramm - berechnet die Summe aller ;; natürlichen Zahlen von 1-N print_string equ 0xb9 input_stringl equ 0x1aa atoi8u equ 0x176 Num2Dec equ 0xfd ascii_lf equ 10 ; line feed ascii_cr equ 13 ; carriage return org 8400H PUSH AF ; sichere AF-Register PUSH BC ; sichere BC-Register PUSH HL ; sichere HL-Register PUSH DE ; sichere DE-Register LD BC,frage ; lade Basisadresse von Fragetext CALL print_string LD HL,ibuff LD BC,18 ; Anzahl an Zeichen CALL input_stringl LD HL,ibuff CALL atoi8u LD B,A ; umladen ins B-Register XOR A ; lösche A-Register Loop: ADD A,B DJNZ Loop LD BC,antw CALL print_string LD HL,0 LD L,A LD DE,erg CALL Num2Dec LD BC,erg CALL print_string POP DE ; restauriere DE-Register POP HL ; restauriere HL-Register POP BC ; restauriere BC-Register POP AF ; restauriere AF-Register RET frage: defm "Bitte N eingeben: " defb 0 antw: defm "Die Summe ist " defb 0 erg: defm "00000" defb ascii_lf,ascii_cr,0 ibuff: defb 255 ; Eingabepuffer