Programación General > ASM (Ensamblador)
Necesito Ayuda
cespna:
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
Super_G:
¿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?
cespna:
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
Super_G:
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 --- ;; lectura con la funciom 01h de la int 21h mov cx,3 mov bl,10 xor dx,dx ;; la direccion estara en DL p0: mov ah,1 ;;la MUL (8Bits)implica a AX int 21h ;; caracter leido en AL sub al,48 ;; de Azcii a decimal xchg dx,ax;; valor anterior mul bl ;; por 10 add al,dl ;;mas el valor actual xchg ax,dx;;resultado en DL loop p0 ;; 3 ciclos;;****************************************
cespna:
Gracias lo logre hacer para 4 decimales con una forma similar a la que tu pusiste :D
Navegación
[#] Página Siguiente
Ir a la versión completa