Paso 1: Escribir en Asamblea para dummies
Abrir MPLAB IDE y crear un nuevo archivo de origen "*.s" para que su archivo será en modo conjunto y se mostrarán los colores correctos. Por ejemplo, las instrucciones están en azul, los comentarios son en verde y nombres son en rojo.
Hay algunas instrucciones básicas pero esenciales en conjunto que vamos a necesitar para nuestro proyecto. A lo largo de las líneas de explicar cada instrucción, también hablaré sobre algunas cosas fundamentales y han de saber acerca de las lógicas de la máquina (por ejemplo, que una lógica alta / "1" es una entrada y una lógica bajo "0" es una salida). Por lo tanto, no se pierda nada al leer! Estas instrucciones son muy fáciles de comprender que el propósito de la Asamblea debe ser capaz de comunicarse con la máquina. Y máquinas, diferentes del cerebro humano, no pueden aceptar lógicas muy complicados. Tenemos que romper hecho el complicado problema a numerosos pasos sencillos para poder escribir en Asamblea. De esta manera, podemos decir que el montaje es fácil (cada paso) y complicar (en general una vez que el programa es super largo)! Tratar de no perder el cuadro escribiendo en Asamblea!
Aquí están algunos introducción algunas instrucciones básicas:
===================================================================================
MOV:
Instrucción MOV toma 2 parámetros y entrar el primer valor del parámetro en el segundo parámetro. En general, utilizamos #lit8 o #16 para expresar un número literal; WNS (Inicio) y viento (destino): se utilizan para expresar un registro de trabajo seleccionado.
Ejemplo: si queremos pasar un número (digamos 8), en un registor de trabajo, entonces simplemente escribimos:
MOV #8, W0
===================================================================================
BSET:
Instrucciones de BSET establecerá un poco particular de un registro particular para ser alto, que es 1. Toma dos parámetros: primero uno es el nombre del registro; segundo es el número de los bits dentro de ese particular registro que seleccionó en el primer parámetro.
Ejemplo: si queremos configurar PORTB, bit 1 para ser un pin de entrada, entonces escribimos:
BSET PORTB, #1
==================================================================================
BCLR:
Instrucciones BCLR establecerá un poco particular de un registro particular que baja, que es 0. Toma dos parámetros: primero uno es el nombre del registro; segundo es el número de los bits dentro de ese particular registro que seleccionó en el primer parámetro.
Ejemplo: si queremos establecer PORTA, bit 0 para ser un pin de entrada, entonces escribimos:
BCLR PORTA, #0
==================================================================================
BTSS:
BTSS significa "bit test skip si set", que tiene otra vez en dos parámetros de un registro y un poco. Este intruction pondrá a prueba la broca especial; Si este bit es alto, entonces la siguiente línea se omite. Esto es muy útil en el uso de bucles.
==================================================================================
BTSC:
BTSS significa "bit test skip Si claro", que toma otra vez en dos parámetros de un registro y un poco. Este intruction pondrá a prueba la broca especial; Si este bit es baja, la siguiente línea se omite. Viene en un par con BTSS.
=================================================================================
BRA:
BRA significa "rama" que toma un parámetro: el nombre del conjunto de instrucciones tiene nombres antes. Esto va bien con la instrucción de BTSS y BTSC. Por ejemplo:
Lazo: BTSS PORTA, #0
Lazo del sujetador
Estas líneas nos dicen: si PORTA #0 es alta, entonces saltará la línea "Lazo del sujetador" para salir del bucle; Si es baja, entonces se vuelve a la instrucción Loop y seguir haciendo la instrucción de BTSS. Es importante aviso que sólo Ponga letras al nombrar los bucles instruciton, no cosas como "IsItDone"?, la Asamblea no le gusta este tipo de nombres...
================================================================================
NOP:
Esto sólo no significa ninguna operación, que es útil cuando se desea el programa para esperar un período determinado de tiempo.
================================================================================