Programación General > ASM (Ensamblador)

 CONVERSIONES NUMERICAS

(1/3) > >>

Carlos Corona:
Disculpen las molestias, sigo aqui molestando a los usuarios asiduos de este foro con dudas quizás ya obsoletas... bueno, solo quisiera saber si hay algún método que me ayude a transformar un número decimal a hexadecimal y a octa, siendo que el número está en una variable de 16 bits... y no sé que más datos se necesiten...

Super_G:
Aque te refieres???

NO SE SI ES EXACTAMENTE ESTA TU DUDA :


en principio yo me rayaba con los numeros en esamblador eso de los binarios los decimales hexadecimales y octales, yo queria trabajar solo en decimal; despues comprendi muchas cosas y al final lo mas importante y basico "todo esta en binario" claro asi lo maneja el procesador con estados logicos "1" y "0" PERO y QUE!! pues si tenemos en un regisrtro o memoria el valor "00001010"b tambien se "tiene" en ese mismo registro "0A"h que es igual a "010"d; entoces no importa porque de todos modos es el mismo valor sea en binario hexa o decimal; en mi programa(codigo fuente) puedo trabajar todo en decimal y al ponerlo en TurboDebug todo estara en sus correspondientes hexa, pero el micro todo estara en binario;


no se si este es el caso pero podria dar una pauta Ó una aclaracion seria buena.

Carlos Corona:
No me quedó tan claro.. es verdad que el procesador trabaja con números en binario, pero si lo que quiero es mover un número de una base a otra... que es lo que debo hacer? porque, por decir,entre Hex, Oct, o Binario no hay mucho rollo, son múltiplos y listo, pero en cuanto a la base 10... es otro cantar... como lo puedo trabajar que teniendo un dato en dec, lo escriba como hex?

Super_G:
dices que teniendo un dato en decimal(en tu programa) lo muestre en hexadecimal????????????????????

Carlos Corona:
No!, al contrario... si quiero leer un dato, como hago para manejarlo como decimal? para una conversión a binario por ejemplo.

Es decir, yo estoy metiendo un dato del teclado, se supone que checo que no sean letras ni nada por el estilo, lo que en teoría es un dato en decimal, pero para mostrarlo en binario como hago? porque lo que hacía era esto:

Metía en Ax el dato
Corrimiento a la Izquierda 1 vez de Ah
Si hay Carry, Imprime un 1
Si no hay Carry, Imprime un 0
Loop al Corrimiento de Ah, 8 Veces
Y lo mismo para Al

Pero eso me proporciona el dato en BCD, y yo lo quiero en Binario Puro, así que lo que hice fueron divisiones...

Pero obtube el mísmo número solo que a la inversa (si tenía "0001", me daba "1000")

Quiero saber como se puede hacer entonces....

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa