08.05.2013 Views

INTRODUCCIÓN El documento que está visualizando tiene la ...

INTRODUCCIÓN El documento que está visualizando tiene la ...

INTRODUCCIÓN El documento que está visualizando tiene la ...

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.

LENGUAJE ENSAMBLADOR LABORATORIO DE COMPUTADORAS<br />

Quedando reg1 con el valor binario 1001011 (el campo B permanece inalterado y el A y C toman<br />

los valores indicados). Ejemplos de operaciones soportadas:<br />

MOV AL, A ; AL = 5 (desp<strong>la</strong>zamiento del bit<br />

; menos significativo de A)<br />

MOV AL, MASK A ; AL = 01100000b (máscara de A)<br />

MOV AL, WIDTH A ; AL = 2 (anchura de A)<br />

DIRECTIVAS CONDICIONALES<br />

Se emplean para <strong>que</strong> el ensamb<strong>la</strong>dor evalúe unas condiciones y, según el<strong>la</strong>s, ensamble o no<br />

ciertas zonas de código. Es frecuente, por ejemplo, de cara a generar código para varios<br />

ordenadores: pueden existir ciertos símbolos definidos <strong>que</strong> indi<strong>que</strong>n en un momento dado si hay<br />

<strong>que</strong> ensamb<strong>la</strong>r ciertas zonas del listado o no de manera condicional, según <strong>la</strong> máquina. En los<br />

fragmentos en ensamb<strong>la</strong>dor del código <strong>que</strong> generan los compi<strong>la</strong>dores también aparecen con<br />

frecuencia (para actuar de manera diferente, por ejemplo, según el modelo de memoria). Es<br />

interesante también <strong>la</strong> posibilidad de definir un símbolo <strong>que</strong> indi<strong>que</strong> <strong>que</strong> el programa <strong>está</strong> en fase<br />

de pruebas y ensamb<strong>la</strong>r código adicional en ese caso con objeto de depurarlo. Sintaxis:<br />

IFxxx [símbolo/exp./arg.] ; xxx es <strong>la</strong> condición<br />

...<br />

ELSE ; el ELSE es opcional<br />

...<br />

ENDIF<br />

IF expresion (expresión distinta de cero)<br />

IFE expresión (expresión igual a cero)<br />

IF1 (pasada 1 del ensamb<strong>la</strong>dor)<br />

IF2 (pasada 2 del ensamb<strong>la</strong>dor)<br />

IFDEF símbolo (símbolo definido o dec<strong>la</strong>rado como externo)<br />

IFNDEF símbolo (símbolo ni definido ni dec<strong>la</strong>rado como externo)<br />

IFB (argumento en b<strong>la</strong>nco en macros -incluir ''-)<br />

IFNB (lo contrario, también es obligado poner '')<br />

IFIDN , (arg1 idéntico a arg2, requiere '')<br />

IFDIF , (arg1 distinto de arg2, requiere '')<br />

DIRECTIVAS DE LISTADO<br />

PAGE num_lineas, num_columnas: Formatea el listado de salida; por defecto son 66 líneas por<br />

página (modificable entre 10 y 255) y 80 columnas (seleccionable de 60 a 132). PAGE salta de<br />

página e incrementa su número. «PAGE +» indica capítulo nuevo (y se incrementa el número).<br />

TITLE título: indica el título <strong>que</strong> aparece en <strong>la</strong> 1ª línea de cada página (máximo 60 caracteres).<br />

*SUBTTL subtítulo: Ídem con el subtítulo (máx. 60 caracteres).<br />

LALL: Listar <strong>la</strong>s macros y sus expansiones.<br />

SALL: No listar <strong>la</strong>s macros ni sus expansiones.<br />

XALL: Listar sólo <strong>la</strong>s macros <strong>que</strong> generan código objeto.<br />

XCREF: Suprimir listado de referencias cruzadas (listado alfabético de símbolos junto al nº de<br />

línea en <strong>que</strong> son definidos y referenciados, de cara a facilitar <strong>la</strong> depuración).<br />

CREF: Restaurar listado de referencias cruzadas.<br />

Página 28 Ing. Sánchez Rivero

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

Saved successfully!

Ooh no, something went wrong!