Bonjour a tous, g un pote qui a voulu s'inscrire sur le forum pour poster le message mais apperement y as un prob a son inscription donc je post par procuration... la question est : lire une chaine de chiffre la mettre dans ax, si resultat correct dx=0; si chiffre depasse 65535 dx=1; si la chaine lue ne coporte pas que des chiffres dx=2; si rien dans la chaine(=null) dx=3;
Marsh Posté le 19-04-2003 à 15:28:00
Bonjour a tous,
g un pote qui a voulu s'inscrire sur le forum pour poster le message mais apperement y as un prob a son inscription
donc je post par procuration...
la question est :
lire une chaine de chiffre
la mettre dans ax,
si resultat correct dx=0;
si chiffre depasse 65535 dx=1;
si la chaine lue ne coporte pas que des chiffres dx=2;
si rien dans la chaine(=null) dx=3;
code source:
dosseg
.model small
.stack 100h
.data
buffer dw 5,(?),'$'
.code
debut:
mov ax,@data
mov ds,ax
mov dx,offset buffer
mov ah,0ah
int 21h
jo superieur
mov ax,dx
xor dx,dx
mov bx,5
mov dx,5
boucle:
cmp buffer[bx],48
jb below
cmp buffer[bx],57
ja above
inc bx
inc bx
loop boucle
cmp buffer[bx],00
je null
superieur:
mov dx,1
push dx
mov dx,5
jmp suite
below:
mov dx,2
push dx
mov dx,5
jmp suite
above:
mov dx,2
push dx
mov dx,5
jmp suite
null:
mov dx,3
push dx
mov dx,5
jmp suite
suite:
pop dx
mov ah,9h
int 21h
mov ah,4ch
int 21h
end debut
Voyez vous ce qui cloche?
merci de votre aide
Message édité par Nico5779 le 19-04-2003 à 15:29:02