SoloCodigo

Programación General => ASM (Ensamblador) => Mensaje iniciado por: ivette en Miércoles 26 de Mayo de 2004, 06:56

Título: Urgente
Publicado por: ivette en Miércoles 26 de Mayo de 2004, 06:56
:( Estoy en un gran aprieto tengo que entregar un programa en esamblador. Este debe leer de un archivo una serie de numeros y ordenarlos por el metodo de la burbuja para despues crear otro archivo con los numeros ordenados. Ya tengo los archivos solo me falta implemementar el metodo. Por favor ayudenme, me urge!!!
Título: Re: Urgente
Publicado por: Super_G en Sábado 29 de Mayo de 2004, 01:42
Los datos o numeros que vas a leer de cuantos digitos son??
la ordenacion debe ser de todo el archivo?


Se necesita un algoritmo que transforme los nuemeros del archivo,que son una cadena ASCII, a numeros en decimal(hex,binario...);despues llevar cada numero a un acadena(sin ordenar) y unaves los datos esten en la cadena se hace el ordenamiento, y se almacenan nuevamente los datos en otro archivo.

para el ordeanmiento a en la cadena seira algo asi:

Código: Text
  1.  
  2. ;;;;******en CX elnumero de datos
  3.            mov si,offset cadena
  4.            mov di,offset cadena
  5.            inc si
  6. C2:           push cx    &#59;contador
  7. C1:      mov al,[si]
  8.            cmp al,[di]
  9.            jb    N1
  10.            mov ah,[di]
  11.            mov [di],al
  12.            mov [si],ah
  13. N1:      inc si
  14.            loop C1
  15.            pop cx
  16.            inc di
  17.            mov si,di
  18.            inc si
  19.            loop C2
  20. ;;***************************
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
Título: Re: Urgente
Publicado por: sergiotarrillo en Domingo 30 de Mayo de 2004, 19:33
no se mucho de Assembler, tengo una duda como hago, para leer datos de un archivo........
Título: Re: Urgente
Publicado por: joajavi en Lunes 31 de Mayo de 2004, 17:30
No tienes ni idea de Assembler. Tú quieres alguien que te haga el SOFT entero porque mira que tener sólo los archivos.......Y los tienes porque sabes usar el NOTEPAD. Si no supieras, tampoco lo tendrías.
Título: Re: Urgente
Publicado por: sergiotarrillo en Lunes 31 de Mayo de 2004, 17:35
Supongo que eso era para el patita de arriba no?...........lo quiero es solo un ejemplo de como leer datos de archivso, que instrucciones se usa.........
Título: Re: Urgente
Publicado por: Super_G en Miércoles 2 de Junio de 2004, 00:58
La funcion 3fh de la int 21h permite leer archivos:
Código: Text
  1.  
  2. ;;*************
  3. ;****ABRIR******
  4.  
  5.          mov ah,3dh   &#59;funion para ller un archico
  6.          mov dx,offset nombre&#59;nombre de archivo
  7.          mov cx,1         &#59;atributo(solo lectura)
  8.          int 21h             &#59;abre el archivo
  9.          mov H_AR,ax   &#59; retorna el manejador de archivo en ax
  10. ;*******LEER************
  11.          mov ah,3fh      &#59;funcion leer archico
  12.          mov bx,H_AR   &#59;manejador de archivo
  13.          mov cx,1          &#59;numero de bytes a leer
  14.          mov dx,offset buffer&#59;direccion de memoria donde se leera los datos
  15.          int 21h
  16. ;*******************
  17.  
  18. nombre db 'c:\datos.txt',0       &#59;nombre en formato ASIIZ
  19. H_AR dw 0          &#59;localidad para el manejador
  20. buffer db 0          &#59;buffer de lectura
  21.  
  22.  
  23.  
  24.