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.

Cuando ocurre un reset, el contador de programa (PC) apunta a la dirección 0x00, y el micro inicia<br />

nuevam<strong>en</strong>te. Aquí se debe escribir todo lo relacionado con la iniciación del mismo, por ejemplo configuración<br />

de puertos, etc.<br />

Si ocurre una interrupción PC apunta a la dirección 0x04, y aquí debemos escribir el código necesario para<br />

at<strong>en</strong>der a dicha interrupción.<br />

Memoria RAM estática.<br />

Donde se <strong>en</strong>cu<strong>en</strong>tran los 24 registros específicos (SFR) y 68 registros de propósito g<strong>en</strong>eral (GPR). Se halla<br />

dividida <strong>en</strong> 2 Bancos de 128 bytes cada uno.<br />

Algo que se debe t<strong>en</strong>er <strong>en</strong> cu<strong>en</strong>ta es la pila o Stack, que consta de 8 posiciones, cada posición conti<strong>en</strong>e la<br />

dirección y datos de la instrucción que se está ejecutando, así cuando se ejecuta una llamada call o una<br />

interrupción, el PC sabe dónde regresar. (Limitar las llamadas anidadas).<br />

Com<strong>en</strong>zando con la creación de nuestro código.<br />

A continuación vamos a desarrollar nuestro primer programa. Considero que se ti<strong>en</strong>e conocimi<strong>en</strong>to del<br />

l<strong>en</strong>guaje Assembler, si no es así se puede leer el tutorial ASM desde cero del foro TodoPIC.<br />

Este activará un led conectado a RB0 siempre que el interruptor conectado a RA0 esté cerrado. Para ello<br />

vamos a necesitar el sigui<strong>en</strong>te circuito:<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!