;************************************** ;* Dezimalzahleneingabe-Dialog * ;* 2010 H.V.Viehof * ;************************************** include iosubs.inc ;______________________________________ ; ; Stapelsegment: ;______________________________________ stack segment stack word 'stack' dw 20 dup (?) ; 20 Words, ich denke das reicht 'so gerade'... stack ends ;______________________________________ ; ; Start des Hauptteils ;______________________________________ CODE SEGMENT WORD PUBLIC 'CODE' ASSUME CS:CODE, DS:data, SS:stack, ES:variablen start: mov ax, seg variablen ; hazirlamak... mov es, ax ; Datensegment mov ax, seg data mov ds, ax mov si, offset Intro TextAus mov di, offset Wert1 mov si, offset Text1 mov dx, offset Wert6 ListInput mov si, offset AusgText TextAus mov si, offset Wert1 push es pop ds mov es: w Summe, 0 clc cld H1: lodsw adc es: w Summe, ax loop H1 mov ax, es: w Summe Ausgabe ;-------------------------------------- ; Auf Eingabe eines Zeichens warten ;-------------------------------------- Key: mov ah, 1 int 021 cmp al, 'q' jz >E1 jmp Start ;-------------------------------------- ; Programm beenden ;-------------------------------------- E1: mov ax, 04C00 int 021 CODE ENDS ;______________________________________ ; ; Datensegment I: Text, feste Faktoren ;______________________________________ data segment public word 'daten' Intro db 0a, 0d db 0a, 0d, "********************************" db 0a, 0d, "* Dezimalwerteingabe im Dialog *" db 0a, 0d, "* Eingabe abrechen, Ergebniss *" db 0a, 0d, "* ausgeben: Prg.Ende *" db 0a, 0d, "* 2010 H.V.Viehof *" db 0a, 0d, "********************************", 0a, 0d, 0 Text1 db 0a, 0d, "Bitte Wert 1 angeben: ", 0 Text2 db 0a, 0d, "Bitte Wert 2 angeben: ", 0 Text3 db 0a, 0d, "Bitte Wert 3 angeben: ", 0 Text4 db 0a, 0d, "Bitte Wert 4 angeben: ", 0 Text5 db 0a, 0d, "Bitte Wert 5 angeben: ", 0 Text6 db 0a, 0d, "Bitte letzten Wert angeben: ", 0 AusgText db 0a, 0d, "Die Summe der eingegebenen Werte betraegt: ", 0 data ends ;______________________________________ ; ; Datensegment II: 'echte' Variablen ;______________________________________ variablen segment public word 'daten' Wert1 dw ? Wert2 dw ? Wert3 dw ? Wert4 dw ? Wert5 dw ? Wert6 dw ? Summe dw ? variablen ends END start