Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
cursos:ensamblador:avanzadas2 [19-01-2024 08:34] – sromero | cursos:ensamblador:avanzadas2 [24-01-2024 17:25] (actual) – sromero | ||
---|---|---|---|
Línea 2: | Línea 2: | ||
En este capítulo vamos a ver algunas consideraciones relativas a optimizaciones y mejoras que no hemos querido incluír dentro de sus respectivos capítulos para evitar confundir al lector con código o ideas complejas en un momento en que está aprendiendo los fundamenos.. | En este capítulo vamos a ver algunas consideraciones relativas a optimizaciones y mejoras que no hemos querido incluír dentro de sus respectivos capítulos para evitar confundir al lector con código o ideas complejas en un momento en que está aprendiendo los fundamenos.. | ||
+ | |||
+ | \\ | ||
+ | ===== Optimizaciones generales ===== | ||
+ | |||
+ | Veamos una serie de " | ||
+ | |||
+ | \\ | ||
+ | **Copiar el flag Zero al Carry** | ||
+ | |||
+ | <code z80> | ||
+ | scf ; CF = 1 | ||
+ | jr z, $+3 ; Si ZF=1, saltamos y dejamos CF=1 | ||
+ | ccf ; Si ZF=0, al no saltar ejecutamos ccf | ||
+ | ; y hacemos CF=0 | ||
+ | ; $+3 es la instrucción posterior al ccf | ||
+ | </ | ||
+ | |||
+ | **Copiar el flag de Carry al Zero flag** | ||
+ | |||
+ | <code z80> | ||
+ | ccf | ||
+ | sbc a, a | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | **Realizar un '' | ||
+ | |||
+ | <code z80> | ||
+ | xor a | ||
+ | sub Parte_baja_Registro | ||
+ | ld Parte_baja_Registro, | ||
+ | sbc a, a | ||
+ | sub Parte_alta_Registro | ||
+ | ld Parte_alta_Registro, | ||
+ | </ | ||
+ | |||
+ | Por ejemplo, para simular '' | ||
+ | |||
+ | <code z80> | ||
+ | xor a | ||
+ | sub l | ||
+ | ld l, a | ||
+ | sbc a, a | ||
+ | sub h | ||
+ | ld h, a | ||
+ | </ | ||
+ | |||
\\ | \\ | ||
Línea 128: | Línea 175: | ||
ex af, af' | ex af, af' | ||
rl (hl) | rl (hl) | ||
- | ex af, af' | + | ex af, af' |
dec l ; este bloque se repite 16 veces | dec l ; este bloque se repite 16 veces | ||
</ | </ |