das problem ist denke ich, dass du immer den ASCII-Code nimmst und der ist bei "0" 48... Also nimmste am besten den ScanCode, der ist bei "1" 2 also musst du ihn um eins dezimieren. Dann hast du bei "1" den Wert 1. Bei "0" hast du aber den Wert 10 also musst du das überprüfen und wenn die Zahl "0" eingegeben wurde den Wert aus 0 bringen... Zu all dem hab ich schonmal eine Funktion geschrieben, die aber mit BIOS-Ints arbeitet... Ich habesie an TeeJay geschickt... Wird warscheinlich bald im Ressourcen-Center auftauchen... Du musst also nur die BIOS-Ints gegen int 0x21 eintauschen usw. Dann kannste die Funktion benutzen. Sieht dann etwa so aus:
call get_number
mov bx,cx
call get_number
add cx,bx
get_number:
blblblbl
ret
dann nimmste die Funktion von chr15 und wandelst CX in einen String um. Den gibste dann aus.
Ich hoffe ich habe dir geholfen und dich nicht verwirrt...
mfg
JOACHIM NEU