Título: sumar 32 a de Publicado por: jrcp_kun en 14 de Octubre de 2014, 10:56:30 pm la rutina es asi?? tengo un valor en de y quiero ir sumándole 32
pop de ld bc,32 ex hl,de add hl,bc ex de,hl push de si la meto en un bucle ld bc,5 push bc bucle: pop de ld bc,32 ex hl,de add hl,bc ex de,hl push de pop bc dec bc jp nz,bucle Título: Re:sumar 32 a de Publicado por: kabish en 15 de Octubre de 2014, 06:06:24 am Código: ld d,0 ld e,32 add hl,de (o con acarreo seria, adc hl,de) Con eso haces la suma. Luego lo metes en un bucle con las instrucciones que sea. Título: Re:sumar 32 a de Publicado por: theNestruo en 15 de Octubre de 2014, 06:14:02 am push bc bucle: pop de Creo que el problema de tu rutina (al margen de optimizaciones como la que te recomienda kabish) puede estar ahí: metes el contador (bc) en la pila y luego intentas sacar lo que supongo que es un puntero (de) de la pila... pero como acabas de hacer un push bc, en realidad estás recuperando en de el valor del contador. Prueba sin el par pop de/push de. Título: Re:sumar 32 a de Publicado por: jrcp_kun en 15 de Octubre de 2014, 07:16:14 am Ese add hl,de me dice el asm que combinacion de comandos erronea. Por eso estoy usando bc. No me deja sumarlos asi. Jeje asi lo intentaba sin tanto lio
Título: Re:sumar 32 a de Publicado por: theNestruo en 15 de Octubre de 2014, 06:01:45 pm Imagino que estarías intentando hacer ld de,hl, porque ld hl,de sí que existe :)
Hay muchos listados de instrucciones de Z80; a mí me resulta muy cómodo tener a mano éste de la MSX Assembly Page: http://map.grauw.nl/resources/z80instr.php y, para medir tiempos de rutinas enteras, BiT de Jannone: http://msx.jannone.org/bit/ Quizá no sea el mejor listado del mundo (no habla de cómo quedan afectados los flags ni nada de eso), pero para hacer una búsqueda rápida y ver si la instrucción que quiero poner existe me resulta bastante práctico. Título: Re:sumar 32 a de Publicado por: jrcp_kun en 15 de Octubre de 2014, 09:26:41 pm gracias sigo trasteando
|