jjfranco
Visitante
|
|
« Respuesta #16 : 07 de Marzo de 2007, 02:15:57 pm » |
|
Hola, como yo tambien soy nuevo en esto del ensamblador, y sé lo que cuesta empezar, me voy a permitir la licencia de sugerirte una forma eficaz y estandar de realizar bucles, y ademas muy sencilla, y ya que has conseguido que tu codigo funcione (ya sé que este no es el motivo de tu pregunta, pero eso que me permito la licencia de hacerte la sugerencia despues de ver tu codigo)
El Z80, por suerte tiene una instruccion que está pensada para eso, para hacer bucles, con lo que con esa instruccion y el registro b, puedes hacer bucles de cualquier tamaño.
PARA BUCLES DE MENOS DE 255 REPETICIONES --------------------------------------------------------------- ld b,número_de_repeticiones_del_bucle bucle: ; ; Tarea a realizar por el bucle ; djnz bucle ---------------------------------------------------------------
PARA BUCLES DE MAS DE 255 REPETICIONES ---------------------------------------------------------------
ld b,número_de_repeticiones_del_bucle_exterior buc_ext: push bc
ld b,número_de_repeticiones_del_bucle_interior buc_int: ; ; Tarea a realizar por el bucle ; djnz buc_int
pop bc djnz bu_ext --------------------------------------------------------------- En este último, el numero de veces que se realizará el bucle sera un total de
[numero_de_repeticiones_del_bucle_exterior] X [numero_de_repeticiones_del_bucle_interior]
Bueno pos eso que espero que no tomes a mal la sugerencia. Yo llevo muy poco tiempo programando en ensamblador y te puedo decir que es más sencillo de lo que parece, solo es cuestión de saber las cuatro cosas básicas, como los bucles, o como tomar decisiones, por ejemplo.
Por lo demás tu pregunta, que aquí hay gente que sabe mogollo.Creeme. Yo estoy aprendiendo, de ellos, más de lo que ellos se creen.
Respecto al BCD, es solo el acrónimo de Decimal Codificado en Binario (pero en inglés claro), es un concepto que se usa mucho en electronica digital, normalmente se suele usar un formato basado en el peso de los bits como es el 8-4-2-1, pero nada impide que se pueda codificar de otra manera.La idea es poder representar números más grandes que los que se pueden representar utilizando el formato binario puro.
Usando la codificacion BCD 8-4-2-1 el binario 0001 representaria el uno decima, y el resto de los números se representarian según la siguiente tabla.
0000=0 0001=1 0010=2 0011=3 0100=4 0101=5 0111=6 1000=7 1001=8 1010=9
El resto de combinaciones binarias para 4bits no se usan.
Y respecto a lo de las mascaras, yo personalmente prefiero hacerlas en binario, es mi gusto.
Y ya esta por hoy, espero que este post quede para la posteridad, como mi contribución a la comunidad MSXera.
Y lo dicho, tu pregunta, pregunta, que este año queremos más juegos en la DEv. Yo soy nuevo, y al principio cuesta pero creeme que es muy sencillo, a ver si alguien más se anima a programar, manque sea en C.
|