hab es ein bisschen umgeändert:
;*****************************
;Funktion get_number
;Input: ---
;Output: CX enthällt die Zahl
;geändert wird CX
;*****************************
get_number:
push ax
push bx
mov ax,0x0000
int 0x16 ;in ah ist der scancode
dec ah
cmp ah,0x1B ;wenn ENTER gedrückt wird beenden
jz end_get_number
cmp ah,0x0A
jz zu_0_1
erst:
mov bh,ah
mov cl,ah
mov bl,0x07 ;die eingegebene Zahl wird ausgeben
mov ah,0x0E
int 0x10
mov ax,0x0000
int 0x16 ;in ah ist der scancode
dec ah
cmp ah,0x1B ;wenn ENTER gedrückt wird beenden
jz end_get_number
cmp ah,0x0A
jz zu_0_2
zweit:
mov bl,0x07 ;die eingegebene Zahl wird ausgeben
mov ah,0x0E
int 0x10
mov ch,bh
mov cl,ah
end_get_number:
pop bx
pop ax
;jmp ZURÜCK
zu_0_1:
mov ah,0x00
jmp erst
zu_0_2:
mov ah,0x00
jmp zweit
bitte schaut euch das an und sagt mir, ob ihr einen logischen fehler findet, denn sonst müsste es gehen, man soll mit dieser funktion eine zahl (zwei stellen) von der tastatur einlesen und nach CX speichern... bei mir erscheinen bei der ausgabe lauter sonderzeichen...