|
Dernière réponse | |
---|---|
Sujet : A tous ceux qui sont fort en assembleur 80x86 , viendez svouplait !!! | |
freerider_freestyler | voici c que g deja fait !
ca doit normalement lire les valeurs dans le tablo! Il y a une erreur :cry: ,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 :jap: |
Vue Rapide de la discussion |
---|