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Última revisiónAmbos lados, revisión siguiente | ||
cursos:ensamblador:habituales [02-02-2024 10:25] – [Comparaciones de 8 bits] sromero | cursos:ensamblador:habituales [02-02-2024 18:34] – [Comparaciones de 8 bits] sromero | ||
---|---|---|---|
Línea 36: | Línea 36: | ||
\\ | \\ | ||
- | Así, tras un '' | + | Así, tras un '' |
\\ | \\ | ||
Línea 128: | Línea 128: | ||
<code z80> | <code z80> | ||
cp 50 | cp 50 | ||
- | jp nc, menor_o_igual_que_50 | + | jp c, menor_que_50 |
- | jp nz, menor_o_igual_que_50 | + | jp nz, menor_o_igual_que_50 |
; Ahora o es ' | ; Ahora o es ' | ||
Línea 136: | Línea 136: | ||
jr fin_comparacion | jr fin_comparacion | ||
+ | menor_que_50: | ||
menor_o_igual_que_50: | menor_o_igual_que_50: | ||
; (... codigo para caso a <= 50 ...) | ; (... codigo para caso a <= 50 ...) | ||
Línea 149: | Línea 150: | ||
; saltaría con >=51 es decir, con >50 | ; saltaría con >=51 es decir, con >50 | ||
cp 50+1 | cp 50+1 | ||
- | jp nc, mayor_O_IGUAL_que_51 | + | jp nc, mayor_que_50 |
- | ; aqui A < 50 | + | ; aqui A <= 50 |
jr fin_comparacion | jr fin_comparacion | ||
mayor_que_50: | mayor_que_50: | ||
- | | + | |
fin_comparacion: | fin_comparacion: | ||
Línea 162: | Línea 163: | ||
<code z80> | <code z80> | ||
; comparamos con valor -1 y entonces sí que podemos hacer JP C | ; comparamos con valor -1 y entonces sí que podemos hacer JP C | ||
- | ; y comprobar "mayor_que_50" mediante " | + | ; y comprobar "menor_que_50" mediante " |
; saltaría con <=49 es decir, con <50 | ; saltaría con <=49 es decir, con <50 | ||
cp 50-1 | cp 50-1 | ||
jp c, menor_igual_que_49 | jp c, menor_igual_que_49 | ||
- | ; aqui A >= 50 | + | ; aqui A > 50 |
jr fin_comparacion | jr fin_comparacion | ||
- | mayor_o_igual_que_49: | + | menor_igual_que_49: |
; aqui A <= 49 y por tanto A < 50 | ; aqui A <= 49 y por tanto A < 50 | ||
fin_comparacion: | fin_comparacion: | ||
</ | </ | ||
- | |||
Recordamos que '' | Recordamos que '' | ||
Línea 290: | Línea 290: | ||
* Si **HL > DE** => Z=0 y C=0. | * Si **HL > DE** => Z=0 y C=0. | ||
- | De la misma forma, podemos realizar rutinas específicas para compara | + | De la misma forma, podemos realizar rutinas específicas para comparar |
<code z80> | <code z80> | ||
Línea 479: | Línea 479: | ||
; Óptimo: | ; Óptimo: | ||
+ | rrca | ||
rrca | rrca | ||
rrca | rrca | ||
Línea 577: | Línea 578: | ||
; Con bit 0: | ; Con bit 0: | ||
rra ; 1 byte, 4 t-estados | rra ; 1 byte, 4 t-estados | ||
- | jr z, destino | + | jr c, destino |
; Con bit 7: | ; Con bit 7: | ||
rla ; 1 byte, 4 t-estados | rla ; 1 byte, 4 t-estados | ||
- | call z, destino | + | call c, destino |
</ | </ | ||