1 TEMA 4 TECNICAS DE DIRECCIONAMIENTO
1 TEMA 4 TECNICAS DE DIRECCIONAMIENTO
1 TEMA 4 TECNICAS DE DIRECCIONAMIENTO
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