voici c que g deja fait !
ca doit normalement lire les valeurs dans le tablo!
Il y a une erreur ,vers la fin avec le loop cond je crois!
Si quelqu'un pourrait la corriger et me dire la soluce pour classer le tablo !!!!
data segment
tablo dw 1,2,55,3,48,69
taille dw 6
dix dw 10
data ends
pile segment stack
dw 10 dup (0)
pile ends
code segment
assume ds:data,cs:code,ss:pile
main: mov ax,data
mov ds,ax
mov ax,pile
mov ss,ax
lea si,tablo
mov ax,0
mov cx,taille
empile:
add si,ax
push [si]
mov si,0
add ax,2
loop empile
mov cx,taille
mov bx,65534
mov bp,sp
mov bp,0
mov bp,bx
cond: mov ax,[bp]
cmp ax,9
jbe aff1
jg aff2
aff1: mov dl,al
add dl,48
mov ah,02h
int 21h
sub bp,2
mov dl,0Dh
mov ah,2
int 21h
mov dl,0Ah
mov ah,2
int 21h
loop cond
aff2: push cx
push ax
mov cx,0
compteur: mov dx,0
div dix
add cx,1 ; CX est le nombre de chiffres
cmp ax,0
jne compteur
mov ax,1
diviseur: cmp cx,1
je ftq
mul dix ; on calcule le diviseur
sub cx,1 ; Ax est le diviseur 10expCX
jmp diviseur
ftq: mov bx,ax ; on place le diviseur dans bx
pop ax
repete: mov cx,0
mov dx,0
div bx
mov cx,dx
mov dl,al
add dl,48
mov ah,2
int 21h
mov ax,bx
mov dx,0
div dix
mov bx,ax
mov ax,cx
cmp bx,1
jge repete
sub bp,2
mov dl,0Dh
mov ah,2
int 21h
mov dl,0Ah
mov ah,2
int 21h
pop bx
loop cond
mov ah,4ch
int 21h
code ends
end main
merci d'avance