******ESTE
PROGRAMA ORGANIZA DATOS CON EL METODO DE BURBUJA*********
TITLE PRAC6_1
.MODEL SMALL
.STACK 100h
.DATA
MSG1 DB 'INTRODUZCA
DIGITOS Y ENTER PARA TERMINAR: $'
ARREGLO DB 100 DUP(0)
.CODE
MAIN PROC
MOV AX,@DATA
MOV DS,AX
MOV SI,0
LEA DX, MSG1
MOV AH,9
INT 21h
XOR CX,CX
MOV CL,13
MOV CH,0
XOR BX,BX
XOR DX,DX
MOV BX,1
MOV AH,1
PIDE_DATO:
CMP DL,CL
JE ORDENA
INT 21h
CMP AL,CL
JE ORDENA
MOV ARREGLO[SI],AL
INC SI
JMP PIDE_DATO
ORDENA:
MOV BP,SI
CONTINUA:
CMP SI,0
JE FIN
CMP SI,1
JE IMPRIME
MOV DL,1
MOV CX,BP
MOV SI,0
BURBUJA:
CMP DL,0
JE IMPRIME
MOV DL,0
MOV BL,ARREGLO[SI]
MOV BH,ARREGLO[SI+1]
CMP BL,BH
JBE OTRO
MOV AL,ARREGLO[SI]
MOV ARREGLO[SI],BH
MOV ARREGLO[SI+1],AL
INC SI
MOV DL,1
DEC CL
CMP CL,1
JE CONTINUA
JMP BURBUJA
OTRO:
INC SI
DEC CL
CMP CL,0
JE ORDENA
JMP BURBUJA
IMPRIME:
MOV AH,2
MOV DL,10
INT 21h
MOV AH,2
MOV DL,13
INT 21h
MOV CX,BP
MOV SI,0
CICLO:
CMP CL,0
JE FIN
MOV DL,ARREGLO[SI]
INT 21h
INC SI
DEC CL
JMP CICLO
FIN:
MOV AH,4CH
INT 21h
MAIN ENDP
END MAIN