Está en la página 1de 2
Estructura: Cédigo de tres direcciones ¢éQué es el cdédigo de tres direcciones? Es una representacién intermedia que tiene varias propiedades . se le Hama de esa forma porque solo permite la referencia a 3 direcciones de memoria al mismo tiempo. Consiste en transformar todo el cédigo de alto nivel a uno equivalente pero mds sencillo. Esto significa que el lenguaje sera menos inteligente en el sentido que no se tiene control de lo que se esta ejecutando pero, nos facilita la traduccion al \\cédigo ensamblador. ‘4 zéCuales son las tres direcciones? Primera - Cada instruccién de tres direcciones contiene por lo menos un operador, ademas de la asignacion, por tanto, cuando se generan estas instrucciones, el traductor tiene que decidir el orden en que deben efectuarse las operaciones. Segunda - El traductor debe generar un nombre temporal para guardar los valores calculados por cada instrucci6n. Tercera ~ Algunas instrucciones de tres direcciones tienen menos de tres operandos, por ejemplo, y besoackece éComo funciona? Expresiones como (a+3)*(4-5)/2 no pueden ser operadas como una sola instruccién. Por lo tanto, se debe descomponer la expresion en expresiones mas sencillas. Utilizaremos variables temporales para almacenar los resultados mientras no los _ hayamos usado. WW Ejemplo: ™ Para la expresiOn x=(a+3)*(4-5)/2 vamos a transformarla a cédigo de 3 direcciones: tl=a+3; t2=4-5; t3=t_1*tl_2; t4=t_3/2 x=t_4; Esto nos permite hacer operaciones mas complejas con un lenguaje simple.

También podría gustarte