07.05.2013 Views

Tema 3: El nivel de lenguaje máquina - Blearning

Tema 3: El nivel de lenguaje máquina - Blearning

Tema 3: El nivel de lenguaje máquina - Blearning

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Saltos condicionales<br />

• Normalmente, los saltos son relativos al PC<br />

– La dirección <strong>de</strong> <strong>de</strong>stino se da como un <strong>de</strong>splazamiento que se suma o resta<br />

al Contador <strong>de</strong> Programa (PC).<br />

• Código in<strong>de</strong>pendiente <strong>de</strong> la posición<br />

– Pue<strong>de</strong> ejecutarse in<strong>de</strong>pendientemente <strong>de</strong> su posición en memoria.<br />

• Un salto se realiza si la condición probada es verda<strong>de</strong>ra<br />

• la condición que se prueba pue<strong>de</strong> ser:<br />

– Un bit especial <strong>de</strong> estado que se activa en función <strong>de</strong>l resultado <strong>de</strong> la ALU.<br />

» add r1,r2,r3<br />

» bz label # si (bit <strong>de</strong> estado “zero” está activo) ir a label<br />

– Registro arbitrario que toma el valor <strong>de</strong>l resultado <strong>de</strong> una comparación.<br />

» sub r1,r2,r3<br />

» beqz r1,label # si (r1==0) ir a label<br />

– En la propia instrucción <strong>de</strong> salto se realiza la comparación.<br />

» beq $1,$2,label # si ($1==$2) ir a label<br />

• Los saltos suelen ser cortos -> pocos bits para especificar la<br />

dirección.<br />

Fundamento <strong>de</strong> Computadores (1º II) Cap 2: <strong>El</strong> <strong>nivel</strong> <strong>de</strong> <strong>lenguaje</strong> <strong>máquina</strong> 18 <strong>de</strong> 64

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

Saved successfully!

Ooh no, something went wrong!