• Lunes 29 de Abril de 2024, 15:41

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - NILIS

Páginas: [1]
1
ASM (Ensamblador) / Re: Abrir Fichero Ubicado En Disketera
« en: Viernes 3 de Diciembre de 2004, 20:40 »
Ya lo solucione, se me olvido poner a donde apunta el segmento de datos de mi programa,  :P  ya furula :comp:

2
ASM (Ensamblador) / Abrir Fichero Ubicado En Disketera
« en: Viernes 19 de Noviembre de 2004, 13:02 »
Buenas soy novato en esto y necesito ayuda, bueno el caso es que tengo que abrir un fichero ubicado en la disketera y en el caso de que haya error que muestre un mensaje por pantalla y se salga, y en caso contrario que se salga sin mostrar nada. Pero en este caso voy a tener el fichero en la disketera.
Pues el caso es que si hay error, en AX se devuelve el codigo del error y me sale que AX=2 (FICHERO NO ENCONTRADO) y por lo tanto siempre me sale por pantalla error de apertura, y yo lo ke kiero es que me lo abra, aki os dejo el código, echadle un vistazo haber si la he cagado en algo... :unsure:  :blink:


.MODEL small
.STACK 100h
.DATA
  RUTA DB 'A:\HOLA.TXT',0h
  ERROR DB 'Error de apertura',10,13,'$'  

.CODE
  ;macro para salir del programa
   Salir MACRO mensaje
         LEA DX,mensaje
         MOV AH,09h
         INT 21h
         MOV AH,4Ch
         INT 21h
         ENDM

  MOV AX,@DATA
  MOV DS,AX
  MOV ES,AX

  MOV AX,3D00h ;FUNCION ABRIR
  LEA DX,RUTA   ;carga direccion de memoria
  INT 21h
  JNC existefichero
   
  Salir ERROR ;SI CF=1 mostrar mensajede error
 
  existefichero:
   MOV AH,4Ch
   INT 21h
     
END

3
ASM (Ensamblador) / Re: Urgente!!!pasar De Un Numero Decimal A Bcd
« en: Lunes 14 de Junio de 2004, 09:13 »
Killo gracias, lo he probao y funciona a las mil maravilla  :comp:  :lol:

4
ASM (Ensamblador) / Urgente!!!pasar De Un Numero Decimal A Bcd
« en: Jueves 10 de Junio de 2004, 19:51 »
Vamos a ver tengo una dudilla. Me han mandado hacer un programa que introduzca una cadena de caracteres inferior a 8 caracteres e imprima en pantalla su correspondiente valor decimal.

La conversión de binario a decimal ya la tengo hecha y esta bien, el problema es
ke a la hora de mostrar por pantalla el valor decimal por pantalla (para ello necesito saber el código ascii del nº decimal, yo lo que hago es sumarle 30h o 48 en decimal a la variable en la que almaceno el resultado, de esta manera obtengo el código ascii), me da problemas si el valor decimal es de mas de 1 dígito ya que código ascii hay desde 0 hasta 9 para los numeros.

Ej: si yo meto 01111111b = 127d = 7Fh -----> al sumarle a 127, 48 obtengo 175 entonces por pantalla muestra el código ASCII del 175 = >>, esto me pasa porque el valor de decimal tiene mas de una cifra.

Ej: si yo meto 00000100b = 8d=8h---->al sumarle a 8, 48 obtengo 56 entonces por pantalla muestra el código ASCII del 56 = 8, aki no tengo problemas porque tiene menos de 2 digitos.

Entonces a mi lo que me interesaria seria obtener el BCD del n decimal.
Ej: 127d --En BCD = 0001 0010 0111
De tal manera ke pueda almacenar el 0001 en 1 variable1
De tal manera ke pueda almacenar el 0010 en 1 variable2
De tal manera ke pueda almacenar el 0111 en 1 variable3

De esta manera le podria sumar a cada variable 48 en decimal para obtener el codigo ASCII de cada digito y poder visualizarla. Asias  :lol:

Páginas: [1]