• Viernes 19 de Abril de 2024, 23:39

Autor Tema:  Extraer el valor literal de un registro  (Leído 1838 veces)

davirro

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
    • http://blogdedavirro.blogspot.com/
Extraer el valor literal de un registro
« en: Martes 7 de Octubre de 2008, 16:18 »
0
Hola a todos,
Quisiera poder imprimir en pantalla el valor literal de un registro.

Por ejemplo si tengo en el registro DX el valor 32h , uso el servicio 02h de la interrupcion 21h que imprime el valor en pantalla del registro DX, pero lo hace en su codigo ascii , osea "2" , cuando yo quiero ver el numero literal que es el 32.

Mi pregunta es si existe algun sistema facil o alguna instruccion que facilite esto, sino tendre que complicarme la vida separando los bits por nibbles y descodificar cada uno¿ algun consejo ?

un saludo

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Extraer el valor literal de un registro
« Respuesta #1 en: Martes 7 de Octubre de 2008, 17:45 »
0
El registro DX es de 16 bits (2 bytes), ese servicio escribe un caracter (un byte) en pantalla:
http://www.ctyme.com/intr/rb-2554.htm

Por lo tanto si queres imprimirlo en hexadecimal tenes que conseguir el 3 y el 2 (mas '0' que es 48) para pasarle como parametro a ese servicio.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

davirro

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
    • http://blogdedavirro.blogspot.com/
Re: Extraer el valor literal de un registro
« Respuesta #2 en: Martes 7 de Octubre de 2008, 18:04 »
0
Gracias , creo que para eso podria ir corriendo de 4 en 4bits

Otra cosa que me corrompe ... estoy usando Fasm y cuando asigno un dato hexadecimal que enpieza por letra lo entiende como un texto y no como un número, lo soluciono poniendo un cero delante pero queda muy feo

asi va bien
mov    AX,0Fh

asi me da error
mov AX,F0h
« última modificación: Martes 7 de Octubre de 2008, 18:32 por davirro »

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Extraer el valor literal de un registro
« Respuesta #3 en: Martes 7 de Octubre de 2008, 18:26 »
0
Si, podes usar un un shr 4 y un and 0Fh para eso. No te olvides de que si queres hexadecimal tenes que tener en cuenta las letras (hex + 'A' - 10) y no solo los numeros que se forman sumandole el valor ASCII de '0' (48).

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.