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.

Funcionamiento <strong>de</strong>l ensamblador<br />

• Un ensamblador traduce un archivo con sentencias en <strong>lenguaje</strong><br />

ensamblador a un archivo <strong>de</strong> instrucciones <strong>máquina</strong> y datos binarios.<br />

• Traducción en dos pasadas:<br />

– Primera pasada:<br />

• Calcula las posiciones <strong>de</strong> memoria que correspon<strong>de</strong>n a los nombres<br />

simbólicos que aparecen en el programa para que sean conocidas<br />

cuando <strong>de</strong> traduzcan las instrucciones. Crea tabla <strong>de</strong> símbolos.<br />

– Segunda pasada:<br />

• Traduce cada sentencia <strong>de</strong>l <strong>lenguaje</strong> ensamblador al combinar los<br />

equivalentes numéricos <strong>de</strong> los códigos <strong>de</strong> operación, especificadores <strong>de</strong><br />

registros y rótulos <strong>de</strong> la tabla <strong>de</strong> símbolos en una instrucción legal.<br />

• Rótulos o etiquetas<br />

– Externos o globales: Pue<strong>de</strong>n ser referenciados <strong>de</strong>s<strong>de</strong> otro archivo distinto<br />

<strong>de</strong> aquél en el que se <strong>de</strong>fine (hay que <strong>de</strong>clararlos como tales).<br />

– Internos o locales: Sólo pue<strong>de</strong> ser referenciado en el archivo en el que se<br />

<strong>de</strong>fine (locales por <strong>de</strong>fecto).<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> 48 <strong>de</strong> 64

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

Saved successfully!

Ooh no, something went wrong!