Analizar los bits de dentro de un byte

tirengarfio
15 de Abril del 2008
Saludos,

tengo este enunciado:

Escribe un programa que analice los 16 bits de un dato almacenado en la memoria, de modo que cuente el número de bits que se encuentren a '1'.
Ejemplo:
DATO: 1000 1110 0111 0101
UNOS: 9

¿Como puedo ver si los bits tienen valor uno o cero?





paoletto
15 de Abril del 2008
hola majo
viendo tu problema, creo q es mas facil de lo q piensas
usa un poco d tus neuronas
aca te doy algunos pasos sencillos q tienes q hacer


1º acceder a una cadena de 1os y 0os
si esta guardad en una etiqueta a

la $t0 a

para acceder al 1º bit
lb $t1 ($t0)

para recorrer tu cadena usa las impresindibles etiquetas de bucles y para

saber si es un 1 o un 0

crea una etiqueta q tenga el valor \\'0\\'( cero)
asi
lb $t3 cero
sub $t4 $t1 $t3

con esto tendras el valor cero o 1
ahora lo complicado
contar unos

es facil solo tiens q hacert la pregunta

estoy en el 1º bit d la cadena
si es uno entonces
sumo 1 a mi contador
y voy al sig bit
add $t1 $t1 1
sino
add $t1 $t1 1

bueno en general te he dejado mas q la idea

un saludo
y q te salga bien el ejercicio

si no te sale

xDDDDDDDDDD

escribeme y ya te lo paso



godknight
15 de Abril del 2008
amigo paoletto soy nuevo en esto del lenguaje ensamblador y el programa que explicas me parece muy interesante, serias tan amable de subir el codigo fuente para estudiarlo...gracias