tics en la vida cotidiana prepa en linea modulo 1.pptx
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
1. I.INTRODUCCIÓN
EL LENGUAJE ENSAMBLADOR EN UNOS DE LOS
LENGUAJES MÁS BAJOS DE LA PROGRAMACIÓN, ESTE
TIPO DE PROGRAMACIÓN NOS PROPORCIONA LAS
HERRAMIENTAS PARA INTERACTUAR CON EL
HARDWARE SUS VENTAJAS RADICAN EN LA
EFICIENCIA DE TAMAÑO Y FLEXIBILIDAD DE LOS
PROGRAMAS SUS DESVENTAJAS SON EL TIEMPO DE
PROGRAMACIÓN Y PELIGRO DE AFECTAR RECURSOS
INESPERADAMENTE.
II. DESARROLLO DE CONTENIDO UNIDAD 1
1.1 Importancia de la programación en lenguaje
ensamblador.
El lenguaje ensamblador es un tipo de lenguaje de
bajo nivel utilizado para escribir programas
informáticos, y constituye la representación más
directa del código máquina específico para cada
arquitectura de microprocesador.
La importancia del lenguaje ensamblador es
principalmente que se trabaja directamente con el
microprocesador; por lo cual se debe de conocer el
funcionamiento interno de este, tiene la ventaja de
que en él se puede realizar cualquier tipo de
programas que en los lenguajes de alto nivel no lo
pueden realizar.
Fig.1. Ejemplo del lenguaje ensamblador
1.2 El procesador y sus registros internos
Los registros del procesador se emplean para
controlar instrucciones en ejecución, manejar
direccionamiento de memoria y proporcionar
capacidad aritmética. Los registros son
direccionales por medio de un nombre. Los bits por
convención, se numeran de derecha a izquierda
Los registros internos del procesador se pueden
clasificar en 6 tipos diferentes
Registros de segmento
Registros de propósito general
Registros de apuntadores
Registros de banderas
Registros de Puntero de instrucción
Registros de Pila.
Fig.2. Registros internos del microprocesador
Síntesis de información recopilada
Unidad 1
Pérez Camacho Jesús Asmeth.
Instituto Tecnológico de Tuxtla Gutiérrez
killerMstr1@gmail.com
1
2. 1.3 La memoria principal (RAM)
RAM es el acrónimo inglés de Random Access
Memory (memoria de acceso aleatorio).
La memoria principal está formada por un conjunto
de unidades llamadas palabras. Dentro de cada una
de estas palabras se guarda la información que
constituye una instrucción o parte de ella (puede
darse el caso de que una sola instrucción necesite
varia palabras), o un dato o parte de un dato
(también un dato puede ocupar varias palabras).
Fig.3. Ejemplos de memoria RAM
A la cantidad de palabras que forman la MP se le
denomina capacidad de memoria.
Una palabra está formada a su vez de unidades mas
elementales llamadas bits, del mismo modo que en
el lenguaje natural una palabra esta formada por
letras.
Fig.4. Organización de la memoria RAM
1.4 El concepto de interrupciones
(Interrupt).También conocidas cono IRQ.
Recursos que utiliza un dispositivo cuando necesita
detener el proceso que está realizando la CPU para
infórmale de que él, por su parte está haciendo algo.
Si dos dispositivos utilizan la misma interrupción,
se produce un conflicto, el ordenador no sabe qué
elemento intenta avisarle y suelen aparecer
problemas de funcionamiento. El programa
interrumpido puede continuar ejecutándose luego.
Existen 256 direcciones de interrupción diferentes.
Una interrupción se convierte en una interrupción
de hardware cuando es solicitada por uno de los
componentes de hardware del equipo.
Tipos de interrupciones:
Interrupción externa es provocada por un
dispositivo externo al procesador una interrupción
interna ocurre como resultado de la ejecución de
una instrucción INT o una operación de división
que cause desbordamiento, ejecución en modo de
un paso o una petición para una interrupción
externa, tal como E/S de disco.
Fig.5. Ejemplo rutina de interrupción
1.5 Llamadas a servicios del sistema
Llamada al sistema (en inglés system call) es el
mecanismo usado por una aplicación para solicitar
un servicio al sistema operativo.
Algunos sistemas permiten efectuar llamadas al
sistema directamente desde un programa realizado
en el lenguaje de mayor nivel, normalmente estas
llamadas se asemejan a una función o sub-rutinas
predefinidas
¿Cómo sabe el procesador que el dispositivo
requiere que se le atienda?
La primera forma es que el procesador esté
2
3. periódicamente sondeando al dispositivo en
cuestión.
La segunda forma, una más eficiente, es hacer que
sea el dispositivo el que le avise al procesador
cuando esté listo o requiera atención,
interrumpiendo al procesador.
Fig.6. Interface de llamada al sistema
Fig.7. Interface de llamada al sistema
1.6 Modos de direccionamiento
Los llamados modos de direccionamiento son las
diferentes maneras de especificar dentro de una
instrucción, Un modo de direccionamiento
especifica la forma de calcular la dirección de
memoria efectiva de un operando mediante el uso
de la información contenida en registros y / o
constantes, contenida dentro de una instrucción de
la máquina o en otra parte.
Fig.8. Tipos de direccionamiento
1.7 Proceso de ensamblado y ligado
Para poder crear un programa se requieren varias
herramientas:
Primero un editor para crear el programa fuente.
Segundo un compilador que no es más que un
programa que "traduce" el programa fuente a un
programa objeto.
Y tercero un enlazador o linker, que genere el
programa ejecutable a partir del programa objeto.
Fig.9. Proceso de ensamblado y ligado
1.8 Desplegado de mensajes en el monitor
Para poder desplegar mensajes en el lenguaje
ensamblador primero debemos conocer la estructura
del programa en ensamblador.
Comentarios en lenguaje ensamblador: El uso
de comentarios a lo largo de un programa puede
mejorar su claridad, en especial en lenguaje
ensamblador, donde el propósito de un conjunto de
instrucciones con frecuencia no es claro. Un
comentario empieza con punto y coma (;) y, en
donde quiera que lo codifique, el ensamblador
supone que todos los caracteres a la derecha de esa
línea son comentarios. Un comentario puede
contener cualquier carácter imprimible, incluyendo
el espacio en blanco.
3
4. Fig.10. Proceso de desplegado de mensajes en el monitor.
Fig.11. Desplegado de mensajes en el monitor.
III. CONCLUSIÓN
Podemos concluir que el lenguaje ensamblador es
una de las bases de la programación actual ya que
sin esta no existirían los programas actuales. Todo
lo que se expuso en una introducción a este tipo de
programación y al realizar algún error de sintaxis en
este tipo de programación causaríamos una falla de
nuestro dispositivo ya que se trabaja directamente
con el hardware.
REFERENCIAS
[1] Microcontroladores: fundamentos y aplicaciones con PIC
Escrito por Fernando E. Valdés Pérez, Ramón Pallàs
Areny. p.79-81
https://books.google.com.mx/books?
id=ODenKGOHMRkC&pg=PA79&dq=lenguaje+ensamb
lador&hl=es&sa=X&ei=b9nRVP_XOZKFyQSMmICwC
g&ved=0CCgQ6AEwAg#v=onepage&q=lenguaje
%20ensamblador&f=false
[2] Microcontroladores PIC: sistema integrado para el
autoaprendizaje por Enrique Mandado Pérez, Luis
Manuel Menéndez Fuertes, Luis Fernández Ferreira,
Emilio López Matos, Editorial MARCOMBO S.A
Barcelona(España) p.167
https://books.google.com.mx/books?
id=86uGLMp4vgAC&pg=PA167&dq=lenguaje+ensambl
ador&hl=es&sa=X&ei=b9nRVP_XOZKFyQSMmICwCg
&ved=0CEUQ6AEwCA#v=onepage&q=lenguaje
%20ensamblador&f=false
[3] Lenguage Y Compiladores por Ivan Pérez Primera
Edición 2005 p.13-15
https://books.google.com.mx/books?id=X4-
MGtEw5TAC&pg=PA13&dq=lenguaje+ensamblador&hl
=es&sa=X&ei=b9nRVP_XOZKFyQSMmICwCg&ved=0
CEkQ6AEwCQ#v=onepage&q=lenguaje
%20ensamblador&f=false
[4] http://www.fing.edu.uy/tecnoinf/mvd/cursos/arqcomp/mat
erial/2014/teo/arq-teo10.pdf
[5] http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-isa-es-4/s1-
memory-spectrum.html
[6] http://www.academia.edu/6462777/Conceptos_Básicos_d
e_Lenguaje_Ensamblador_8086
4