Empezaremos con una breve introducción sobre el tema de lenguaje ensamblador.
LENGUAJE ENSAMBLADOR
• El único lenguaje que entienden los micro controladores es el código
máquina formado por ceros y unos del sistema binario.
• El lenguaje ensamblador expresa las instrucciones de una forma más
natural al hombre a la vez que muy cercana al micro controlador, ya que cada
una de esas instrucciones se corresponde con otra en código máquina.
• El lenguaje ensamblador trabaja con nemónicos, que son grupos de
caracteres alfanuméricos que simbolizan las órdenes o tareas a realizar.
•La traducción de los nemónicos a código máquina entendible por el
micro controlador la lleva a cabo un programa ensamblador.
• El programa escrito en lenguaje ensamblador se denomina código fuente
(*.asm). El programa ensamblador proporciona a partir de este fichero el
correspondiente código máquina, que suele tener la extensión *.hex.
Podemos expresarlo con esta imagen.
Definamos Código Fuente:
• Está compuesto por una sucesión de líneas de texto.
• Cada línea puede estructurarse en hasta cuatro campos o columnas
separados por uno o más espacios o tabulaciones entre sí.
_ Campo de etiquetas. Expresiones alfanuméricas escogidas por el
usuario para identificar una determinada línea. Todas las etiquetas
tienen asignado el valor de la posición de memoria en la que se encuentra
el código al que acompañan.
_ Campo de código. Corresponde al nemónico de una instrucción, de una
directiva o de una llamada a macro.
_ Campo de operandos y datos. Contiene los operandos que precisa el
nemónico utilizado. Según el código, puede haber dos, uno o ningún
operando.
_ Campo de comentarios. Dentro de una línea, todo lo que se encuentre
a continuación de un punto y coma (;) será ignorado por el programa
ensamblador y considerado como comentario.
CAMPO DE CÓDIGO
Este Código Puede Corresponder a :
_ Instrucciones: son aquellos nemónicos que son convertidos por el
ensamblador en código máquina que puede ejecutar el núcleo del
micro controlador. En la gama media (PIC16xxx) cada nemónico se
convierte en una palabra en la memoria de programa
_ Directivas. Pseudoinstrucciones que controlan el proceso de ensamblado
del programa, pero no son parte del código. Son indicaciones al programa
ensamblador de cómo tiene que generar el código máquina
_ Macros: Secuencia de nemónicos que pueden insertarse en el código
fuente del ensamblador de una manera abreviada mediante una simple
llamada.
Un ejemplo
CAMPO DE OPERANDO Y DATOS
• El ensamblador MPASM (distribuido por Microchip) soporta los sistemas
de numeración decimal, hexadecimal, octal, binario y ASCII.
• Los nemónicos que tengan una constante como operando deberán incluirla
respetando la sintaxis que se indica a continuación.
CICLO DE INSTRUCCIÓN
• Un ciclo de instrucción es el tiempo que se tarda en ejecutar una
instrucción (salvo las instrucciones de salto) en el microcontrolador. En
los PIC16, un ciclo de instrucción dura 4 ciclos de reloj.
• En una primera etapa, la instrucción es traída a la CPU. Esto lleva un
ciclo de instrucción TCY.
• En la segunda etapa se ejecuta la instrucción. Esto lleva otro TCY.
.
• No obstante, debido al solapamiento (pipelining ó entubado) de traer la
instrucción actual y ejecución de la instrucción previa, una instrucción se
trae y otra se ejecuta cada TC
Pudiera haber un ciclo de instrucción de retardo si el
resultado de ejecutar la instrucción anterior modifica el
contenido del Contador de Programa (Ej: GOTO ó CALL).
Esto implica suspender el entubado (pipelining) de las
instrucciones durante un ciclo para que la instrucción a
donde se salta se traiga a la CPU
Sin el Lenguaje Ensamblador no podrianos estar disfrutando de los beneficios que tenemos con las computadoras.
A pesar de que este lenguaje es el unico que entienden los integrador y la computadora en si, nos hemos adaptado a manejarlo a nuestro beneficio.
Eso es todo en mi Blog
Hasta la Proxima.
gay
ResponderEliminar