viernes, 15 de febrero de 2013

Introduccion


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.









1 comentario: