Ordinamento di un vettore

di il
1 risposte

Ordinamento di un vettore

Salve ho un piccolo problemino nel ordinare un vettore, mi da come out put dei simboli assurdi.
Codice:

Dati SEGMENT
    di db 00d 
    app db 00d
    vett db 10 dup(0)
    dieci db "Inserire 10 valori",0dh,0ah,"$"
    elemento db "Inserire valore",0dh,0ah,"$"
    Dati ENDS
Sistema SEGMENT STACK
    DW 100 DUP (?)
    Top LABEL WORD
Sistema ENDS

Codice SEGMENT
    ;definizione dei segmenti
    ASSUME CS:Codice, SS:Sistema, DS:Dati, ES:Dati
    Inizio: 
    ;inizializzazione dei registri di segmento
    mov AX,Sistema
    mov SS,AX
    lea AX,Top
    mov SP,AX
    mov AX,Dati
    mov DS,AX
    mov ES,AX
    ;programma
    lea dx,dieci
    mov ah,09h
    mov al,00h
    int 21h
    mov cx,10d
    ciclo:
    lea dx,elemento; stringa
    mov ah,09h
    mov al,00h
    int 21h
    mov ah,01h     ; input
    mov al,00h
    int 21h
    sub al, 48d
    mov [vett+di],al
    inc di
    mov dl,13
    mov ah,02h
    int 21h
    mov dl,10d
    mov ah,02h
    int 21h      
    loop ciclo
    mov dl,13
    mov ah,02h
    int 21h
    mov dl,10d
    mov ah,02h
    int 21h      
    ;inizio scambio
    mov di,00d
    mov cx,10d
    ciclo2:
    mov al,[vett+di]
    mov bl,al
    mov cx,09d
    c4:
    inc di
    mov al,[vett+di]
    dec di
    cmp bl,al
    jle else
    mov [vett+di],al
    inc di
    mov [vett+di],bl
    jmp fine
    else:
    mov [vett+di],bl
    inc di 
    mov [vett+di],al
    fine:
    loop c4 
    mov al,[vett+di]
    add al,48d
    mov ah,02h
    mov dl,al
    inc di
    mov al,00h
    int 21h
    loop ciclo2
    mov al,00h
    mov ah,4ch
    int 21h
    codice ends
end inizio 
non riesco a trovare l'errore che li comporta.

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte