Diciembre 2018 problema 2

Diciembre 2018 problema 2

de Santiago Daniel Acevedo Corbo -
Número de respuestas: 1

Buenas, estaba compilando la funcion de quicksort y llegue a lo de la solución excepto por una cosa.


Yo comparo ini con fin e hice JGE fin, ya que tenia entendido que el salto se realiza si ini >= fin, por lo que no salta si ini<fin. 

Pero en la solucion comparan ini con fin y utilizan JL. No entiendo bien si estoy mirando mal algún aspecto de los Jmp condicionales o si la solución esta mal. 

Dejo mi fragmento de solucion:

Mov AX, [BP+6] ; dejo ini en AX

Mov CX , [BP+ 4] ; dejo fin en CX

Cmp AX,CX

JGE fin; salto si ini>=fin (osea no salto si ini<fin)

Instruccion uno adentro del if

Instruccion 2 adentro del if

....


Fin: 

Acomodo stack y popeo

Ret


En respuesta a Santiago Daniel Acevedo Corbo

Re: Diciembre 2018 problema 2

de Gustavo Brown -

Santiago,

  Es correcto lo que decís y la solución está mal. En la solución se debería:

  • o bien intercambiar los registros en la comparación ( CMP BX,AX )
  • o sino cambiar la condición de salto a JGE fin

Saludos,
   Gustavo