SoloCodigo

Programación General => ASM (Ensamblador) => Mensaje iniciado por: cespna en Martes 22 de Junio de 2004, 19:45

Título: Necesito Ayuda
Publicado por: cespna en Martes 22 de Junio de 2004, 19:45
Hola necesito ayuda, me han dejado una tarea en TASM en la cual debo leer una posicion de memoria desde teclado y luego barrer los siguientes 16 bytes imprimiendo el contenido de  la memoria en binario, si me pueden ayudar se los agradeceria mucho y de antemano gracias
Título: Re: Necesito Ayuda
Publicado por: Super_G en Miércoles 23 de Junio de 2004, 16:30
¿ASI:?

-leer la direcion, del teclado
-leer el contenido de la direcion de memoria
-imprimir el binario del ccontenido de la direccion de memoria
-porner en cerro(borrar) los siguientes 16 pociciones de moemoria sigueinetes a la leida.

para la primera parte puedes hacer una rutina que obtenga la direcicon de memoria(numericamente), para esto puede susar la funcion 01h ó la 0ah de la int 21h, teniendo en cuenta que lo leido estara en Ascii.

para leer el contednido solo mueves la direcion a un registro apundador de memoeira como SI y lees.

Hay un ejemplo en este foro que desplega el contenido de Al ó AX

por ultimo en un cilco en ves de leer escribes un 0 sobre la siguientes 16 pociciones.
¿es asi?
Título: Re: Necesito Ayuda
Publicado por: cespna en Miércoles 23 de Junio de 2004, 18:28
ok, pero la cadena leia del teclado es mi direccion de inicio como hago para que el DI me obtenga la cadena leia en hexa
Título: Re: Necesito Ayuda
Publicado por: Super_G en Miércoles 23 de Junio de 2004, 19:12
depende de la rutina de lectura, hay muchas opciones;
por decir con las siguientes restricciones:

leer un numero en decimal(la lectura sera en decimal, la direccion a ingresar debe estar en decimal) de maximo 3 caracteres(maximo 255).

Código: Text
  1.  
  2.           ;; lectura con la funciom 01h de la int 21h
  3.             mov cx,3
  4.             mov bl,10
  5.             xor dx,dx  &#59;; la direccion estara en DL
  6.  p0:      mov ah,1  &#59;;la MUL (8Bits)implica a AX
  7.             int 21h      &#59;; caracter leido en AL
  8.             sub al,48    ;; de Azcii a decimal
  9.             xchg dx,ax&#59;; valor anterior
  10.             mul bl        ;; por 10
  11.             add al,dl    ;;mas el valor actual
  12.             xchg ax,dx&#59;;resultado en DL
  13.             loop p0      &#59;; 3 ciclos
  14. ;;****************************************
  15.  
  16.  
  17.  
Título: Re: Necesito Ayuda
Publicado por: cespna en Miércoles 23 de Junio de 2004, 22:05
Gracias lo logre hacer para 4 decimales con una forma similar a la que tu pusiste  :D
Título: Re: Necesito Ayuda
Publicado por: Super_G en Jueves 24 de Junio de 2004, 03:37
"........no hay de queso no mas de papa"