Autor
|
Tema: Conversion de bases, consulta (Leído 4,541 veces)
|
fofaso
Desconectado
Mensajes: 2
|
Hola Gente!! quizás alguien tenga la amabilidad para contestar una pregunta que tengo sobre Assembler, desde hace rato...
Estoy tratando de hacer un programa en Assembler para que pueda convertir un numero dado en base 10 a cualquier base (desde base 2 hasta base hexadecimal).
No tengo grandes conocimientos en este lenguaje, pero sé lo básico. Hasta ahora pude armar toda la estructura del programa, pidiendo el número a convertir y los resultados dados luego de la conversión.
Mi pregunta es: Como puedo hacer para convertir un numero en esas condiciones? Hasta ahora no pude encontrar una manera, se me hace muy difícil.
No les estoy pidiendo que me resuelvan el programa completo ni mucho menos. Solo les pido algun centro, con algún código que resuelva ese numero convertido a alguna base (ninguna en particular), así yo después puedo relacionar ese código con las restantes conversiones y poder terminar mi anhelado programa.
Ojala me puedan contestar, seria de muchísima ayuda.
En ese caso, voy a estar eternamente agradecido. Soy un visitante de esta pagina con frecuencia, ya que de aca saco gran información y por esa misma razon decidi registrarme, ya qe siempre lo hacia en modo anonimo!!
Mis respetos y saludos a toda esta comunidad, saludos!
|
|
|
En línea
|
|
|
|
|
plataplomo2948
Desconectado
Mensajes: 12
|
Exactamente que quiere hacer?. En ASM todo ya es base 2, pero lo leamos en base 16. En ASM todo lo siguente es igual mov eax , 0xf
mov eax, 15d
mov eax, 00001111b
Si no refiere a eso, tendria que estar hablando de punteros del string asi? en ese caso puede usar strtol de libc string = "12344321" // d base = 2
push string push NULL // no se necisita por convercion push base call strtol()
cmp eax, 0 // eax tendra la respuesta jnz etc etc...
Seria mejor si postea su codigo pra mostrar su problema
fofaso - Recibi su mensaje privado, seria mejor si usted postea su codigo aqui para tener mas opiniones.
|
|
« Última modificación: 9 Noviembre 2014, 02:13 am por Eternal Idol »
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.966
Israel nunca torturó niños, ni lo volverá a hacer.
|
fofaso - Recibi su mensaje privado, seria mejor si usted postea su codigo aqui para tener mas opiniones.
plataplomo2948: no escribas mensajes consecutivos.
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
fofaso
Desconectado
Mensajes: 2
|
Respondiendo a plataplomo2948 dejo mi codigo hasta ahora es el esqueleto!!
;PROGRAMA DE CONVERSION DE NUMEROS #make_COM# org 100h include emu8086.inc ;libreria donde hay algunas funciones basicas gotoxy 5,1 printn 'Programa conversor de numeros' printn
;Inicio del codigo call OTRO_PARRAFO call FIN_DE_LINEA call PEDIR_NUMERO ;pide un numero call CONV_B2 ;call CONV_B3 ;call CONV_B4 ;call CONV_B5 ;call CONV_B6 ;call CONV_B7 ;call CONV_B8 ;call CONV_B9 ;call CONV_BHEXA
printn ;printn ES UN ENTER! ;call print_num ;MUESTRA LO QE HAY EN AX! call TERMINAR_PROGRAMA
;DESARROLLO DE FUNCIONES CONV_B2: putc 10 putc 13 mov ax,cx mov cx,10 div cx call print_num putc 10 putc 13 ;Codigo para resolver numero a base 2 print 'Numero convertido base 2: ' ret ;CONV_B3: putc 10 putc 13 ;Codigo para resolver numero a base 3 print 'Numero convertido base 3: ' ret ;CONV_B4: putc 10 putc 13 ;Codigo para resolver numero a base 4 print 'Numero convertido base 4: ' ret ;CONV_B5: putc 10 putc 13 ;Codigo para resolver numero a base 5 print 'Numero convertido base 5: ' ret ;CONV_B6: putc 10 putc 13 ;Codigo para resolver numero a base 6 print 'Numero convertido base 6: ' ret ;CONV_B7: putc 10 putc 13 ;Codigo para resolver numero a base 7 print 'Numero convertido base 7: ' ret ;CONV_B8: putc 10 putc 13 ;Codigo para resolver numero a base 8 print 'Numero convertido base 8: ' ret ;CONV_B9: putc 10 putc 13 ;Codigo para resolver numero a base 9 print 'Numero convertido base 9: ' ret ;CONV_BHEXA: putc 10 putc 13 ;Codigo para resolver numero a base hexa print 'Numero convertido base hexa: ' ret PEDIR_NUMERO: print 'Numero a convertir: ' call scan_num ;funcion de la libreria incluida ret ;vuelve a donde habian llamado a la funcion TERMINAR_PROGRAMA: mov ah,4ch int 21h FIN_DE_LINEA: print 10 print 13 ret OTRO_PARRAFO: print 10 print '--------------------------' print 13 ret define_scan_num define_print_string define_print_num define_print_num_uns define_pthis define_clear_screen end
Se nota que estan todas las bases indicadas, pero falta el codigo (importante -.-). Bueno, se asume qe se ingresan decimales. Desde ahi se tendrian qe hacer divisiones constantes respecto al total de caracteres ingresados, para que el resto de cada una de esas divisiones pueda conformar mi numero convertido.
Mi primer problema es como saber cuantos caracteres se ingresaron? Luego el siguiente problema es como guardar el resto y poder mostrarlos todos juntos para formar el numero convertido?
Estuve investigando desde hace 2 semanas este problema y no pude tener muchos resultados qe me sirvan, espero alguna ayuda. Ojala me puedan ayudar/orientar. Gracias chicos, saludos!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Conversión . mov a .avi
Multimedia
|
Sakura85
|
1
|
2,566
|
9 Junio 2004, 03:48 am
por Songoku
|
|
|
conversion de wmv a avi
Multimedia
|
Lemmy
|
1
|
2,014
|
29 Junio 2005, 14:12 pm
por arda-lothi
|
|
|
Consulta; Necesito armar una consulta para saber si una fecha ha caido dentro...
Bases de Datos
|
astinx
|
6
|
6,396
|
23 Diciembre 2011, 20:34 pm
por astinx
|
|
|
funcion de conversion de bases
« 1 2 »
Programación C/C++
|
m@o_614
|
17
|
5,767
|
20 Marzo 2014, 10:04 am
por amchacon
|
|
|
Consulta sobre bases de datos e instalador
Java
|
zonahurbana
|
1
|
1,755
|
24 Mayo 2014, 00:12 am
por Migugami
|
|