Foro de elhacker.net

Programación => ASM => Mensaje iniciado por: ivanto534 en 7 Julio 2016, 02:03 am



Título: Ayuda comparacion y ordenamiento de numeros
Publicado por: ivanto534 en 7 Julio 2016, 02:03 am
hola buenas tardes tengo que hacer una programa que ingreses tres numero del teclado y los compare y acomode de menor a mayor pero no me sale les dejo mi codigo espero me puedan ayudar no e avanzado de hay por que al momento de ejecutar no me imprime nada y no puedo avanzar con las demas comparaciones

model small
.stack
.data
 
    txtresultado  db  'El orden correcto es: $'
      txtvalor1 db 'Ingrese el primer valor:$'
   txtvalor2 db 'Ingrese el segundo valor:$'
    txtvalor3 db 'Ingrese el tercer valor:$'
    newline   db  10,13,'$'
   valor1  db ?
    valor2  db ?
    valor3  db ?
 
.code
    ; directiva que indica el inicio de
    ; código a ser procesado
.startup
 
    ; Se imprime el texto de apoyo
    ; para el ingreso del número
 
    lea dx, txtvalor1
    mov ah, 09h
    int 21h
 
    ; Se lee el valor numérico en formato
    ; de caracter.
    mov ah, 01h
    int 21h
 
    ; Se coloca el valor en la variable de
    ; apoyo.
    mov valor1, al
    sub valor1, 30h; Se convierte el valor de caracter en valor numérico.
 
    ; Se imprime un salto de linea
    lea dx, newline
    mov ah, 09h
    int 21h
 
   mov bl, al
 
   lea dx, txtvalor2
    mov ah, 09h
    int 21h
 
    ; Se lee el valor numérico en formato
    ; de caracter.
    mov ah, 01h
    int 21h
 
    ; Se coloca el valor en la variable de
    ; apoyo.
    mov valor2, al
    sub valor2, 30h
 
    lea dx, newline
    mov ah, 09h
    int 21h
 
   mov valor2, al
 
 
 
 
    ; Se coloca el valor en la variable de
    ; apoyo.
   
   
 
   ;*************************************************
 
 
 
    ; Se compara
    cmp valor2, al
    jmp Imp_Op1
 
    ;
 
   
   
    int 21h
 
    jmp salir
 
Imp_Op1:
   lea dx, txtresultado
    mov ah, 09h
    int 21h
 
   lea dx, valor1
   int 21h
 
   lea dx, valor2
   int 21h
 
   jmp salir
 
salir:
 
.exit
end


Título: Re: Ayuda comparacion y ordenamiento de numeros
Publicado por: AlbertoBSD en 7 Julio 2016, 02:15 am
He visto el codigo y no me queda claro que algoritmo de ordenamientl estas usando.

Saludos


Título: Re: Ayuda comparacion y ordenamiento de numeros
Publicado por: ivanto534 en 7 Julio 2016, 02:19 am
leo tres numero y aqui comparo numero uno con el numero 2

; Se compara
    cmp valor2, al
    jmp Imp_Op1

y depende de la comparaciom se salta aqui

Imp_Op1:
   lea dx, txtresultado
    mov ah, 09h
    int 21h
 
   lea dx, valor1
   int 21h
 
   lea dx, valor2
   int 21h

y debe imprimir el orden correcto


Título: Re: Ayuda comparacion y ordenamiento de numeros
Publicado por: xv0 en 8 Julio 2016, 17:52 pm
leo tres numero y aqui comparo numero uno con el numero 2

; Se compara
    cmp valor2, al
    jmp Imp_Op1

y depende de la comparaciom se salta aqui

Imp_Op1:
   lea dx, txtresultado
    mov ah, 09h
    int 21h
 
   lea dx, valor1
   int 21h
 
   lea dx, valor2
   int 21h

y debe imprimir el orden correcto


A simple vista, haces un cmp y luego un jmp, no lo entiendo eso saltara sin mas pasando de las flags.

Un saludo.