12.11.2014 Views

1 TEMA 4 TECNICAS DE DIRECCIONAMIENTO

1 TEMA 4 TECNICAS DE DIRECCIONAMIENTO

1 TEMA 4 TECNICAS DE DIRECCIONAMIENTO

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

MODO <strong>DE</strong> OPERACION<br />

‣ Para programar un buffer circular en lenguaje ensamblador basta con inicializar<br />

un registro L con un valor positivo, distinto de cero y cargar el correspondiente<br />

registro B del mismo número con la dirección base o primera dirección del<br />

buffer. Automáticamente el correspondiente registro I se carga con la misma<br />

dirección base.<br />

‣ Cuando tiene lugar el primer acceso utilizando el registro I, el DAG deposita el<br />

contenido del registro I en el bus de direcciones y lo modifica sumándole el<br />

registro M especificado o el valor inmediato. Si el valor modificado entra dentro<br />

del rango del buffer se escribe en el registro I, si el valor modificado está fuera<br />

del rango del buffer se le resta el registro L (o si el modificador es negativo se<br />

suma) primero.<br />

‣ Si M es positivo:<br />

‣ Inew = Iold + M<br />

‣ Inew = Iold + M – L<br />

Si Iold + M < Direc. Base + L (final del buffer)<br />

Si Iold + M ≥ Direc. Base + L (final del buffer)<br />

‣ Si M es negativo:<br />

‣ Inew = Iold + M Si Iold + M ≥ Direc. Base (comienzo del buffer)<br />

‣ Inew = Iold + M + L Si Iold + M < Direc. Base (comienzo del buffer)<br />

MODO <strong>DE</strong> OPERACION<br />

9

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!