HispaMSX

RE: Re:[hispamsx] duda asm z80

2003-05-06 09:18:01
--- En hispamsx(_en_)yahoogroups(_punto_)com, Francisco Alvarez <Saeba@h...> 
escribió:
"napalmsx <napalm@d...>" <napalm@d...> wrote on 06/05/2003 
7:50:37:

Socorro XD

Juas!

Estoy aporreando rutinas y tengo una preguntilla....
Como funcionan las instrucciones de rotar? (rla,rra,sla, srl...etc)
El problema que tengo, es que en el manual de la zilog pone esto:

Necesitas el fabuloso manual de Z80 del Nestor (Mini Referencia 
procesador Z80 y BIOS MSX).
Si vas a la RU dile que te lleve uno... (te aseguro que es la mejor 
compra en aaaaaaños)... ^_^

SLR m ;m=r,(HL),(IX+d),(IY+d)

y no soy capaz de decifrar lo que intentan decirme :P

A ver, lo que te dice es que puedes hacer la operación SRL (Shift 
Right Logic) usada con registros 
de 8 bits (la r ésa), o con posiciones de memoria (donde apunte HL 
o donde apunten los registros 
índices más el desplazamiento).

[Ejemplos de operaciones de desplazamiento (SHIFT)).

Ejemplo:

SLA B   ; Mueves a la izquierda 1 posición los bits de B. El bit 7 
antiguo pasa al Carry y le entra un 0 
por la derecha

SRA (HL)    ; Mueves a la derecha 1 posición los bits del número 
que está donde apunta HL. El bit 7 
se copiará en sí mismo (además de pasar al bit 6) y el bit 0 pasará 
al bit de carry).

SRL (IX + 2)    ; Mueves a la derecha 1 posición los bits del 
número que está donde apunta el valor 
de IX más 2 posiciones. Aqué donde está el bit 7 entra un 0 y el 
bit 0 pasa al Carry.

No te explico las de rotación que tengo prisa por ir a buscar unos 
expandeiros que bla bla bla... 
(aduanas esperadme!).

Y lo dicho, y no es porque el HAntonio venda más, pero el manual 
ése va de coña para 
principiantes... te lo digo por experiencia....
Y si no lo ves claro con un libro de Z80 píllate el de algún otro 
procesador... seguro que de 8086 los 
hay a patadas y, total, las rotaciones y los desplazamientos son 
casi iguales a la hora de usarse (las 
de MES más simples).

por ejemplo, si quiero dividir un numero 'a' por 8, solo tendria 
que "mover" los bits a la derecha 3 posiciones

a=11100000 (224)-mover 3 bits a la derecha>a=00011100 (224/8=28)

¿pero el codigo z80 como seria?

SRA A
SRA A
SRA A

^_^


OOOOH!!! gracias gracias gracias !!!

pero...solo puede mover los bits de 1 en 1?

nestor! digo.. lider! quiero un manual de estos! cuanto vale?


<Anterior en la conversación] Conversación actual [Siguiente en la conversación>