Ya tenemos una noción básica de lo que es programar en lenguaje ensamblador, ahora iremos aprendiendo poco a poco más instrucciones para manejar al PIC 16F84A. A continuación se elaborará el primer programa de este tutorial.
Empezaremos poniendo un encabezado a modo de comentario que nos de información del programa que escribiremos, esto no solo le da orden a nuestro trabajo sino también nos sirve de soporte para cualquier consulta posterior.

Tengamos en cuenta que, en cada renglón, todo lo que va después de un punto y coma será ignorado por el ensamblador, esto lo aprovecharemos para hacer todos los comentarios que sean necesarios para tener un código fuente ordenado y comprensible.
Ahora escribiremos la biblioteca, también conocida como librería:

Luego viene la palabra de configuración, indicando que se usará oscilador tipo XT y se dejará habilitado el retardo de encendido:

Ahora viene el mapa de memoria, donde asignaremos nombres a los registros que vamos a usar (algunos prefieren llamar a este proceso declaración de variables):

En seguida viene el inicio del programa y la configuración de los puertos, en este caso todas las líneas serán configuradas como salidas:

Ahora sí viene lo interesante que es la elaboración del programa propiamente dicho, por ahora solo haremos que las líneas del puerto B se pongan en ‘1’ y en ‘0’ intercaladamente de la siguiente manera:

Con esto ya tenemos las salidas del puerto B intercaladas entre ‘ceros’ y ‘unos’. Ahora indicaremos que ha finalizado el programa:

Nuestro programa ya está elaborado (no olvides guardarlo en formato .asm) y solo queda comprobar su funcionamiento. Por si te interesa, el código completo puedes descargarlo aquí: prog_1. Notarás que ya me tomé la molestia de ensamblarlo por si quieres comprobarlo inmediatamente.
Para saber cómo transferir este programa al PIC véase la unidad III (Compilación y “Quemado” de microcontroladores PIC).
El esquemático del circuito que se debe usar es el de la figura 2.19.

Cuando pongamos a funcionar el microcontrolador deberíamos ver algo como esto:

Donde vemos claramente que el programa realizó su función: donde pusimos ‘1’ se encendió el LED y donde pusimos ‘0’ se quedó apagado.
Para concluir este capítulo notemos la correspondencia de bits entre el valor puesto en PORTB (b’10101010′) y el valor visto en los LED’s: RB7 se controla con el bit más a la izquierda, mientras que RB0 se controla con el bit más a la derecha.