• Viernes 29 de Marzo de 2024, 13:39

Autor Tema:  Intercambio Entre Si Y Di  (Leído 1277 veces)

grandzam

  • Miembro MUY activo
  • ***
  • Mensajes: 118
    • Ver Perfil
Intercambio Entre Si Y Di
« en: Lunes 6 de Marzo de 2006, 08:32 »
0
buenos dias amigos, estoy liado con una cuestión, hago un programa que hace el método de la burbuja, tengo declarado el arreglo asi:

Código: Text
  1. .data
  2.    arr dw 6,123,1024,245,12,2,15
  3.  

dode el primer elemento es el tamaño del arreglo

entonces lo que hice es que me posiciono al principio con si, luego hago un lodsw para que si, apunte a 123 y ax=6, muevo ax a cx, para que cx tenga el numero de veces que voy a hacer los ciclos esto es 36 veces, ya que el método de la burbuja es de O^2. Entonces, lo que hago es, que muevo el indicie di, a donde esta SI y sumo 2 a DI, para que apunte al siguiente (1024), luego paso el valor de DI a bx para poder comparar, y el valor de SI  a ax, para comparar con el cmp, entonces comparo y si es menor o igual hago intercambio, he aquí el gran problema, como intercambio los elementos de un arreglo???... intercambio el valor de los indices??? como???? intente intercambiar el valor de los índices con movsw, pero no funcionó, ni siquiera hace algo, debería hacer por lo menos algo pero no hace nada... luego intenté hacer xchg [SI] ,[DI] pero marca error, en fin intenté de muchas maneras pero no he encontrado algo, bueno si me ayudara alguien se lo agradecería mucho, de hecho os agradesco que esten leyendo ese mensaje. Gracias