SoloCodigo
Programación General => ASM (Ensamblador) => Mensaje iniciado por: PABER en Miércoles 4 de Agosto de 2004, 18:01
-
NECESITO PASAR LA SIGUIENTE RUTINA DE VB6 A CODIGO MAQUINA.
TT=999
FOR X=0 TO TT-1
FOR Y=X+1 TO TT
IF CLI.NOM(X)>CLI.NOM(Y) THEN
AUX=CLI.NOM(X)
CLI.NOM(X)=CLI.NOM(Y)
CLI.NOM(Y)=AUX
AUX=CLI.APE(X)
CLI.APE(X)=CLI.APE(Y)
CLI.APE(Y)=AUX
AUX=CLI.DIR(X)
CLI.DIR(X)=CLI.DIR(Y)
CLI.DIR(Y)=AUX
AUX=CLI.EDA(X)
CLI.EDA(X)=CLI.EDA(Y)
CLI.EDA(Y)=AUX
ENDIF
NEXT
NEXT
ESTE ES UN PROCEDIMIENTO BURBUJA PARA ORDENAR REGISTROS ALFABETICAMENTE.
QUISIERA HACERLO EN ENSAMBLER O CODIGO FUENTE PARA DOTARLO DE MAYOR VELOCIDAD.
NECESITO LLAMAR ESTE CODIGO MAQUINA DESDE VB6.0
NO SE COMO HACERLO TAMPOCO.
ADEMAS NO SE COMO INGRESAR CADA VARIABLE CON LOS 1000 NOMBRES / APELLIDOS / DIRECCIONES / EDAD.
QUIZAS SEA UNA BUENA OPCION INGRESAR LOS 1000 REGISTROS PARA QUE LUEGO ME LOS DEVUELVA ORDENADOS. Y SI ES ASI COMO TOMARLOS NUEVAMENTE Y DEPOSITARLOS EN LA VARIABLE ARRAY.
AGUARDO PRONTAS ESPUESTAS
DESDE YA
MUCHAS GRACIAS.
-
Buenas,
Tendrias que realizar funcion escrita en ensamblador en una DLL. Luego desde VB realizar la llamada a esta funcion. El problema son los arrays de VB. Son un poco liosos. Ademas, si lo que te preocupa es la velocidad, lo que tienes es que hacer que todo se realize con una sola llamada a la DLL, pues por lo que he podido comprobar, cuando VB llama a una DLL externa, introduce/genera un retardo exagerado en la llamada (seguramente por operaciones de carga y/o comprobacion).
Sobre el como hacerlo... pues con paciencia y uno mismo. De aprender se trata ¿no? :)
-
MUCHAS GRACIAS
EL PROBLEMA ES QUE NO SE NADA DE ENSAMBLER
QUIEN ME PUEDE AYUDAR?
TRABAJABA EN ENSAMBLER EN LA VIEJA COMODORE 64
PERO EN PC NUNCA
GRACIAS
PABER