13.11.2012 Views

Mis primeros programas en assembler - Micros Designs

Mis primeros programas en assembler - Micros Designs

Mis primeros programas en assembler - Micros Designs

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

En este ejemplo haremos uso de dos directivas más de <strong>en</strong>samblador. Estas son #DEFINE y macro.<br />

#DEFINE es empleado para crear sustituciones d<strong>en</strong>tro del texto del programa que lo simplifiqu<strong>en</strong>.<br />

La forma correcta es #DEFINE NOMBRE TEXTO, con lo que, cada vez que el compilador<br />

<strong>en</strong>cu<strong>en</strong>tre la ord<strong>en</strong> NOMBRE, la sustituirá por el texto. El problema que se nos plantea es que, si<br />

bi<strong>en</strong> es más flexible que la directiva EQU, puesto que esta sólo nos permitía asignar un valor, sólo se<br />

nos permite con #DEFINE una línea de texto, y esta debe ser fija.<br />

Código<br />

GeSHi (asm):<br />

1. #DEFINE LCD_E LCD_PORT_Control,E<br />

Este problema se soluciona mediante macro. Esta directiva ti<strong>en</strong>e la sigui<strong>en</strong>te forma:<br />

NOMBRE macro ARGUMENTO1, ARGUMENTO2, ETC<br />

TEXTO<br />

TEXTO...<br />

<strong>en</strong>dm<br />

De este modo NOMBRE será sustituido como comando por la secu<strong>en</strong>cia completa definida tras<br />

macro hasta <strong>en</strong>dm, y los sucesivos argum<strong>en</strong>tos serán, a su vez, sustituidos d<strong>en</strong>tro del texto.<br />

En nuestro ejemplo lo utilizaremos para <strong>en</strong>viar un carácter o un comando al LCD, de la sigui<strong>en</strong>te<br />

manera:<br />

Autor: Suky Mail: inf.pic.suky@live.com.ar Web: www.micros-designs.com.ar

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

Saved successfully!

Ooh no, something went wrong!