A tous ceux qui sont fort en assembleur 80x86 , viendez svouplait !!! - Programmation
Marsh Posté le 04-04-2002 à 13:19:59
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
Marsh Posté le 03-04-2002 à 21:20:22
help me :
tri d'un tableau par ordre croissant
le programme qui suit consiste a afficher un tablo d'entiers non signés
sur 16 bits,dont la taille ainsi que les valeurs sont definies comme variables
du programme, puis a le trieret a afficher le resultat de ce tri. Pour se faire
il est conseillé d'utiliser une fonction intermediaire qui retourne (par un
registre) l'adresse de l'element minimum d'un tablo.
je dois faire ce programme en assembleur.J'ai bataillé mais ca marche pas
Si quelqu'un pouvait me donner un petit coup de main , ca serai sympa !!
PS : il me faudrai vos solutions avant vendredi !!!!
Merci d'avance !!!!