| 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.
 |