Autor Thema: get_number  (Gelesen 6878 mal)

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« am: 26. March 2004, 15:15 »
hallo, hab eine neue funkion, weis aber nicht, ob sie läuft, weil bochs bei mir net geht... also zuerst testen...



;*****************************
;Funktion get_number
;Input:   ---
;Output:   BX 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
mov bl,07h        ;die eingegebene Zahl wird ausgeben
mov ah,0Eh
int 10h      
mov ah,cl

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
mov bl,07h        ;die eingegebene Zahl wird ausgeben
mov ah,0Eh
int 10h      

mov ah,ch

end_get_number
pop bx
pop ax
jmp ZURÜCK



JOACHIM NEU
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

TeeJay

  • Beiträge: 630
    • Profil anzeigen
    • http://www.jay-code.de
Gespeichert
« Antwort #1 am: 26. March 2004, 15:47 »
Hmm vielleicht erklärst du mal was die Funktion denn im Ergebnis machen soll?

Und warum hast du Sie gepostet? Ist da ein Fehler drin?
----------------------
Redakteur bei LowLevel

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« Antwort #2 am: 26. March 2004, 20:16 »
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...
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

 

Einloggen