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
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