SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
República Bolivariana de Venezuela
Ministerio de Educación Superior
I.U.P. Santiago Mariño
MICROPROCESADORES
Marcos Barboza C.I: 15.059.191
Jose Avila C.I: 15.561.211
Augusto Trejo C.I: 20.283.384
Edixon Barreto C.I: 22.369.672
Maracaibo, 05 de Mayo del 2014
INDICE
REGISTRO E INSTRUCCIONES DE MICROPROCESADORES
CONCEPTO GENERAL
REGISTROS DE SEGMENTO
REGISTRO APUNTADOR DE INSTRUCCIONES
REGISTROS DE PROPÓSITOS GENERALES
REGISTRO ÍNDICE
BASES NUMEMRICAS DE REPRESENTACION
LOS TIPOS DE INSTRUCCIONES
ARITMETICAS
MOVIMIENTO DE DATOS
INTRUCCIONES LOGICAS
INSTRUCCIONES DE COMPARACION
INSTRUCCIONES DE SALTO
INSTRUCCIONES DE ENTRADA/SALIDA
INSTRUCCIONES DE CONTROL
INSRUCCIONES DE DESPLAZAMIENTO
INSTRUCCIONES DE BIT
BASES NUMEMRICAS DE REPRESENTACION
MEDIOS DE DIRECCIONAMIENTO
DIRECCIONAMIENTO INMEDIATO
DIRECCIONAMIENTO IMPLICITO
DIRECCIONAMIENTO ABSOLUTO
DIRECCIONAMIENTO DIRECTO RELATIVO
DIRECCIONAMIENTO INDIRECTO
DIRECCIONAMIENTO DIRECTO ABSOLUTO
DIRECCIONAMIENTO POR REGISTRO
DIRECCIONAMIENTO POR REGISTRO INDIRECTO
DIRECCIONAMIENTO INMEDIATO
REGISTRO E INSTRUCCIONES DE MICROPROCESADORES
1. CONCEPTO GENERAL
Los registros del procesador se emplean para controlar instrucciones en
ejecución, manejar direccionamiento de memoria y proporcionar capacidad
aritmética. Los registros son espacios físicos dentro del microprocesador con
capacidad de 4 bits hasta 64 bits dependiendo del microprocesador que se
emplee. Los registros son direccionables por medio de una viñeta, que es una
dirección de memoria. Los bits, por conveniencia, se numeran de derecha a
izquierda (15,14,13…. 3,2,1,0), los registros están divididos en seis grupos los
cuales tienen un fin especifico. Los registros se dividen en:
Registros de segmento
Registros de apuntadores de instrucciones
Registros apuntadores
Registros de propósitos generales
Registro índice
Registro de bandera.
2. REGISTROS DE SEGMENTO.
Un registro de segmento se utiliza para alinear en un limite de párrafo o
dicho de otra forma codifica la dirección de inicio de cada segmento y su dirección
en un registro de segmento supone cuatro bits 0 a su derecha.
Un registro de segmento tiene 16 bits de longitud y facilita un área de
memoria para direccionamientos conocidos como el segmento actual. Los
registros de segmento son:
Registro CS
Registro DS
Registro SS
Registro ES
Registro FS y GS
Registro CS.
El DOS almacena la dirección inicial del segmento de código de un
programa en el registro CS. Esta dirección de segmento, mas un valor de
desplazamiento en el registro de apuntado de instrucción (IP), indica la dirección
de una instrucción que es buscada para sí ejecución. Para propósito de
programación normal, no e necesita referenciar el registro CS.
Registro DS. La dirección inicial de un segmento de datos de programa es
almacenada en el registro DS. En términos sencillos, esta dirección, mas un valor
de desplazamiento en una instrucción, genera una referencia a la localidad de un
bytes especifico en el segmento de datos.
Registro SS. El registro SS permite la colocación en memoria de una pila,
para almacenamiento temporal de direcciones y datos. El DOS almacena la
dirección de inicio del segmento de pila de un programa en el registro SS. Esta
dirección de segmento, más un valor de desplazamiento en el registro del
apuntador de la pila (SP), indica la palabra actual en la pila que está siendo
direccionada. Para propósitos de programación normal, no se necesita referenciar
el registro SS.
Registro ES Algunas operaciones con cadenas de caracteres (datos de
caracteres) utilizan el registro esta de segmento para manejar el direccionamiento
de memoria. En este contexto, el registro ES esta asociado con el registro DI
(índice) . un programa que requiere el uso del registro ES puede inicializarlo con
una dirección apropiada.
Registros FS y GS. Son registros extra de segmento en los procesadores
80386y posteriores a estos procesadores.
3. REGISTRO APUNTADOR DE INSTRUCCIONES.(IP)
El registro apuntador de instrucciones (IP) de 16 bits contiene el
desplazamiento de dirección de la siguiente instrucción que se ejecuta.
El registro IP esta asociado con el registro CS en el sentido de que el IP
indica la instrucción actual dentro del segmento de código que se esta ejecutando
actualmente.
Registros apuntadores.
Los registros apuntadores están asociados con el registro SS y permiten al
procesador accesar datos en el segmento de pila los registros apuntadores son
dos:
El registro SP
El registro BP
Registro SP.
El apuntador de pila IP de 16 bits esta asociado con el registro SS y
proporciona un valor de desplazamiento que se refiere a la palabra actual que esta
siendo procesada en la pila.
El ejemplo siguiente el registro SS contiene la dirección de segmento
27B3[0]H y el SP el desplazamiento 312H Para encontrar la palabra actual que
esta siendo procesada en la pila el microprocesador combina las direcciones en el
SS y el PP:
Registro BP.
El registro BP de 16 bits facilita la referencia de parámetros, los cuales son
datos y direcciones transmitidos vía lapida.
4. REGISTROS DE PROPÓSITOS GENERALES.
Los registros de propósitos generales AX, BX, CX y DX son los caballos de
batalla o las herramientas del sistema. Son los únicos en el sentido de que se
puede direccionarlos como una palabra o como una parte de un byte. El ultimo
byte de la izquierda es la parte "alta", y el ultimo byte de la derecha es la parte
"baja" por ejemplo, el registro CX consta de una parte CH (alta) y una parte CL
(baja), y usted puede referirse a cualquier parte por si nombre. Ñas instrucciones
siguientes mueven ceros a los registros CX, CH y CL respectivamente.
Mov CX, 00
Mov CH, 00
Mov CL, 00
Los procesadores 80386 y posteriores permiten el uso de todos registros de
propósito general, mas versiones de 32 bits; EAX, EBX y EDCX.
El registro AX: el acumulador principal, es utilizado para operaciones que
implican entrada/salida y la mayor parte de la aritmética. Por ejemplo, las
instrucciones para multiplicar, dividir y traducir suponen el uso del AX. También,
algunas operaciones generan código más eficientes si se refiere al AX en lugar de
los otros registros.
Registro BX: El BX es conocido como el registro base ya que es el único
registro de propósitos generales que pueden ser unos índices para
direccionamiento indexado. También es común emplear al BX para cálculos.
Registro CX: El CX es conocido como el registro contador. Puede contener
un valor para controlar el número de veces que un ciclo se repite o un valor para
corrimiento de bits, hacia la derecha o hacia la izquierda. El CX también es usado
para muchos cálculos.
Registro DX: El DX es conocido como el registro de datos. Algunas
operaciones de entrada/salida requieren su uso, y las operaciones de
multiplicación y división con cifras grandes suponen al DX y al AX trabajando
juntos. Puede usar los registros de propósitos para suma y resta de cifras de 8, 16,
32 bits.
5. REGISTRO ÍNDICE.
Los registros SI y DI están disponibles para direccionamientos indexados y
para sumas y restas. Que son la operaciones de punta.
Registro SI. El registro índice de 16 bits es requerido por algunas
operaciones con cadenas (de caracteres). En este contexto, el SI está asociado
con el registro DS. Los procesadores 80386 y posteriores permiten el uso de un
registro ampliado a 32 bits, el ESI.
Registro DI: El registro índice destino también es requerido por algunas
operaciones con cadenas de caracteres. En este contexto, el Di está asociado con
el registro ES. Los procesadores 80386 y posteriores permiten el uso de un
registro ampliado a 32 bits, el EDI.
Registro de bandera.
Los registros de banderas sirven parar indicar el estado actual de la
maquina y el resultado del procesamiento, Cuando algunas instrucciones piden
comparaciones o cálculos aritméticos cambian el estado de las banderas.
Un programa esta constituido por un conjunto ordenado de instrucciones,
que constituyen el cuerpo principal del programa y uno o más bloques de datos
iniciales necesarios para una correcta ejecución. El proceso básico de ejecución
de un programa requiere por parte del microprocesador, la repetición de los
siguientes pasos:
Leer de la memoria una instrucción del programa. Interpretar la instrucción
leída. Ejecutar dicha instrucción.
Debemos considerar además que los microprocesadores trabajan
solamente con lenguaje de bajo nivel, es decir, trabajan con lenguaje máquina.
Cada microprocesador o familia de microprocesadores, posee su propio lenguaje
máquina que determina las capacidades propias de cada familia. Las instrucciones
máquina son almacenadas en la memoria en forma de bytes, es decir, en forma de
unos y ceros empleando por tanto el sistema binario de numeración. Sin embargo
este sistema es muy complejo para trabajar directamente en él, por lo que se
emplean otros sistemas como el hexadecimal, BCD, etc. para la representación de
datos.
Para construir los programas, normalmente se emplean lenguajes de alto
nivel, y luego se transforman los programas así escritos a lenguaje máquina
asequible para el microprocesador. No obstante en nuestro caso emplearemos un
lenguaje de bajo nivel (ensamblador) que trabaja con abreviaturas alfabéticas
denominadas mnemónicos que constituyen las operaciones e instrucciones que
ejecutará el microprocesador. Durante el desarrollo de este tema veremos las
principales bases numéricas de representación, así como los diferentes tipos de
instrucciones, modos de direccionamiento y se realizará un estudio de todo el
repertorio de instrucciones propio del microprocesador 8085. Es conveniente leer
todas y cada una de las instrucciones para ir familiarizándose con ellas y entender
su modo de funcionamiento. Todo lo tratado aquí, son aspectos básicos de la
programación que nospermiten crear programas ejecutables en el sistema
electrónico presentado en esta serie de artículos.
BASES NUMEMRICAS DE REPRESENTACION
Ya se ha comentado que es el lenguaje máquina el único que el
micrprocesador es capaz de tratar, es decir, solamente trabaja con unos y ceros.
Este lenguaje resulta inapropiado para las personas, por lo que se desarrollan
otros sistemas de representación más sencillos o más cómodos de manejar. En
primer lugar debemos fijarnos en que el microrpocesador trabaja con bloques de
información normalizados. Podemos destacar en este terreno:
EL BIT: Como unidad de información más elemental que adopta dos únicos
estados, el uno o el cero.
EL OCTETO O BYTE: Constituído por una cadena de ocho bits.
LA PALABRA: Es el tamaño de información que el microprocesador puede
manejar en paralelo. En función de la potencialidad del microprocesador
tendremos palabras de 8 bits, 16 bits, 32 bits, etc.
Estableciendo ya el tipo de información con el que se va a trabajar,
pasamos ahora a ver las bases numéricas o de representación que emplearemos
durante la programación. Las más comunes son:
SISTEMA DECIMAL: Es el sistema que habitualmente empleamos en
nuestra vida diaria, y por tanto será el sistema que se empleará normalmente para
introducir datos y sacar datos del sistema. Lógicamente este sistema de
representación numérico dispone de diez dígitos (0, 1, 2, 3, 4, 5, 6, 7, 8 y 9).
SISTEMA BINARIO: Solo emplea dos unidades básicas de representación
(0 y 1). Para encontrar la expresión decimal de cualquier número binario, se
procede de forma similar al sistema decimal, pero empleando el 2 com base del
sistema. Por ejemplo:
Para realizar el proceso contrario, es decir para transformar un número
decimal a binario, puede emplearse un método muy sencillo que consiste en dividir
sucesivamente dicho número por la base binaria 2. El número binario se construye
tomando el último cociente y poniendo a continuación de forma consecutiva los
restos obtenidos en todas las divisiones de la última a la primera.
SISTEMA DECIMAL CODIFICADO EN BINARIO (BCD): Se trata de un
caso particular del binario que emplea cuatro bits para representar los números
decimales del 0 al 9. Por tanto para transformar un número decimal, no tendremos
más que tomar cada una de sus cifras y transformarla a binario empleando 4 bits.
Por ejemplo: 279 = 0010 0111 1001
SISTEMA EXCESO A TRES: Toma como referencia el sistema BCD, sin
más que añadir a cada digito el valor 3, es decir sumar:
SISTEMA HEXADECIMAL: Es uno de los más empleados en
programación. Sus diez primeros digitos se corresponden con los del sistema
decimal y los seis restantes son las seis primeras letras mayúsculas del alfabeto
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F). La base de este sistema es el 16 y
todas sus cifras pueden ser expresadas con cuatro bits. Para convertir un número
binario a hexadecimal, agruparemos sus dígitos o bits de cuatro en cuatro y
transformaremos cada uno de ellos de forma individual, obteniendo así la
representación hexadecimal. Por ejemplo:
SISTEMA DE REPRESENTACION ASCII: Se trata de un sistema de
representación de datos empleado para facilitar intercambios de información. Es
uno de los sistemas más empleados en la actualidad (junto al sistema EBCDIC).
La codificación se lleva a cabo empleando una palabra de 8 bits, es decir, un
octeto para cada carácter de información. Para encontrar el valor de un carácter
numérico de una representación ASCII, es suficiente con restar el valor 48 y al
contrario para encontrar la representación ASCII de un digito decimal habrá que
sumar 48.
LOS TIPOS DE INSTRUCCIONES:
Después de haber tratado de forma superficial los sistemas de
representación, vamos a ver los distintos tipos de instrucciones que utiliza un
microprocesador. Básicamente puede decirse que el bloque de instrucciones debe
ser completo y eficaz de modo que podamos realizar todos los cálculos necesarios
de forma más rápida y precisa posible.
Una de las principales características de todo microprocesador es disponer
de un buen conjunto de instrucciones que le den la mayor versatilidad posible. Se
establecen los siguientes grupos, tipos o conjuntos de instrucciones:
1- ARITMETICAS: Son las instrucciones que realizan operaciones de tipo
aritmético como sumas, restas, incrementos, decrementos, etc. Todas las
operaciones de este tipo afectan al registro de estado, es decir a los flags.
2- MOVIMIENTO DE DATOS: Este tipo de instrucciones de movimiento o
transferencia de datos, permiten realizar una copia del contenido de un registro o
dirección de memoria (origen), en otro registro o dirección de memoria (destino),
sin alterar el contenido del origen.
3- INTRUCCIONES LOGICAS: Realizan operaciones lógicas entre los
operandos. Afectan a los flags según sea el caso y las operaciones se realizan bit
a bit entre los datos.
4- INSTRUCCIONES DE COMPARACION: Son operaciones de restar o
operaciones XOR entre dos operandos. Afectan a los flags pero no se almacena el
resultado.
5- INSTRUCCIONES DE SALTO: Son instrucciones de modificación de
secuencia que alteran la ejecución normal del programa, cargando el contador de
programa con la nueva dirección en la que deseamos continúe ejecutándose el
programa. Los saltos o bifurcaciones pueden ser:
- CONDICIONALES: Cuando son controlados por el estado de un
indicador o flag, y basándose en dicho estado se decide si se salta o no.
- INCONDICIONALES: Cuando modifican el contador de programa sin
condición previa. Dentro de cada uno de estos tipos, podemos encontrar además
la particularidad de que al efectuar los saltos se realicen con posibilidad de retorno
o no.
6- INSTRUCCIONES DE ENTRADA/SALIDA: Son en realidad
instrucciones de transferencia, pero no entre registros o posiciones de memoria,
sino con elementos periféricos que permiten la comunicación del microprocesador
con el exterior.
7- INSTRUCCIONES DE CONTROL: Sirven para actuar internamente
sobre el microprocesador, provocando detenciones en la ejecución del programa,
etc.
8- INSTRUCCIONES DE BIT: Trabajan o tratan bits independientes.
9- INSRUCCIONES DE DESPLAZAMIENTO: Desplazan o rtoan hacia la
izquierda o hacia la derecha los bits de un registro (acumulador).
MEDIOS DE DIRECCIONAMIENTO
Los modos de direccionamiento son aquellos procedimientos empleados
por el microprocesador para poder acceder a determinados operandos,
instrucciones, posiciones de memoria, registros de entrada/salida, etc. Por tanto el
objeto del direccionamiento es un valor o dato que se encuentra en un lugar de la
memoria, en algún registro o en la propia instrucción. Los diferentes modos de
direccionamiento que pueda emplear un microprocesador le proporcionan un
determinado nivel de potencialidad, permitiéndole manejar datos y realizar
operaciones con mayor facilidad. En general podemos diferenciar los siguientes
tipos o modos de direccionamiento:
1- DIRECCIONAMIENTO INMEDIATO: En este caso el objeto (un
operando) se encuentra incluído en la instrucción, es decir, a continuación del
código de la instrucción se añade el operando propiamente dicho. Las
instrucciones que emplean este direccionamiento pueden ser de dos o tres bytes y
son instrucciones de ejecución rápida y sencilla.
2- DIRECCIONAMIENTO IMPLICITO: Las instrucciones que emplean este
modo de direccionamiento tienen un solo byte y es la propia instrucción la que
indica qué registro o dirección de memoria se va a utilizar en la operación.
3- DIRECCIONAMIENTO ABSOLUTO: En este caso las instrucciones
incluyen la dirección de memoria donde se encuentra el dato con el que se va a
operar. En este tipo de direccionamiento pueden darse tres supuestos:
a) La instrucción apunta a un registro que contiene la información deseada
(direccionamiento también llamado de registro).
b) La instrucción contiene la dirección completa en la que se encuentra el dato,
empleando para ello tres bytes.
c) Cuando la instrucción se refiere solo a una parte de la memoria (pàgina). En
este caso el byte más alto lo suministra el contador de programa y el byte más
bajo se expresa a continuación del código de instrucción, por tanto solo se
emplean dos bytes (Este direccionamiento también se llama de página base).
4- DIRECCIONAMIENTO DIRECTO RELATIVO: La instrucción en este
caso contiene un valor determinado al que podemos llamar V. La dirección total se
calcula sumando a V el valor que esté almacenado en un registro alq ue haga
referencia la instrucción. El valor de V puede ser tanto positivo como negativo.
5- DIRECCIONAMIENTO INDIRECTO: La instrucción contiene una
dirección a la que llamaremos D1. El contenido de D1 no es el objeto directo de
nuestra instrucción, sino que contiene otra dirección que llamaremos D2. Esta
nueva dirección D2 es la que contiene el dato que sí es objeto de la instrucción.
Expresados ya los modos de direccionamiento con carácter general,
pasamos ahora a ver los modos de direccionamiento que utiliza el
microprocesador 8085 en particular, que son los cuatro siguientes:
DIRECCIONAMIENTO DIRECTO ABSOLUTO: La instrucción contiene la
dirección exacta y completa donde se encuentra el dato. Por ejemplo:
LHLD A716H
DIRECCIONAMIENTO POR REGISTRO: La instrucción lleva el registro en
el que está el dato que va a ser tratado. Como por ejemplo:
MOV A,B
MOV B,C
DIRECCIONAMIENTO POR REGISTRO INDIRECTO: En la instrucción se
especifica un registro cuyo contenido apunta a una dirección de memoria en la que
se encuentra el dato. Por ejemplo:
MOV A,M
M es una referencia simbólica a una dirección apuntada o señalada por el
par de registros HL.
DIRECCIONAMIENTO INMEDIATO: La instrucción contiene el dato con el
que se desea operar, pudiendo ser el dato de uno o dos bytes:
LXI H,A0B7H
ADI 3AH

Más contenido relacionado

La actualidad más candente

ENSAMBLADOR PIC 8086
ENSAMBLADOR PIC  8086ENSAMBLADOR PIC  8086
ENSAMBLADOR PIC 8086Nazue Rap
 
aspectos_basicos_de_la_programacion_en_ensamblador
aspectos_basicos_de_la_programacion_en_ensambladoraspectos_basicos_de_la_programacion_en_ensamblador
aspectos_basicos_de_la_programacion_en_ensambladorGloria Azúa
 
Clase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorClase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorInfomania pro
 
Manual de ensamblador en español
Manual de ensamblador en españolManual de ensamblador en español
Manual de ensamblador en españolKenyi Soller
 
Lenguaje ensamblador del microprocesador
Lenguaje ensamblador del microprocesadorLenguaje ensamblador del microprocesador
Lenguaje ensamblador del microprocesadorsmfch
 
Arquitectura 8086
Arquitectura 8086Arquitectura 8086
Arquitectura 8086cjvb1984
 
Modos de Direccionamiento del Procesador
Modos de Direccionamiento del ProcesadorModos de Direccionamiento del Procesador
Modos de Direccionamiento del ProcesadorCloud Rodriguez
 

La actualidad más candente (16)

ENSAMBLADOR PIC 8086
ENSAMBLADOR PIC  8086ENSAMBLADOR PIC  8086
ENSAMBLADOR PIC 8086
 
Manual80x86
Manual80x86Manual80x86
Manual80x86
 
aspectos_basicos_de_la_programacion_en_ensamblador
aspectos_basicos_de_la_programacion_en_ensambladoraspectos_basicos_de_la_programacion_en_ensamblador
aspectos_basicos_de_la_programacion_en_ensamblador
 
Tutorial ensamblador
Tutorial ensambladorTutorial ensamblador
Tutorial ensamblador
 
Matematicos
MatematicosMatematicos
Matematicos
 
Clase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorClase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensamblador
 
Registros del cpu
Registros del cpuRegistros del cpu
Registros del cpu
 
Direccionamiento
DireccionamientoDireccionamiento
Direccionamiento
 
Manual de ensamblador en español
Manual de ensamblador en españolManual de ensamblador en español
Manual de ensamblador en español
 
Lenguaje ensamblador del microprocesador
Lenguaje ensamblador del microprocesadorLenguaje ensamblador del microprocesador
Lenguaje ensamblador del microprocesador
 
Manejo de archivo
Manejo de archivoManejo de archivo
Manejo de archivo
 
Data segment
Data segmentData segment
Data segment
 
Registros
RegistrosRegistros
Registros
 
Arquitectura 8086
Arquitectura 8086Arquitectura 8086
Arquitectura 8086
 
Codificacion
CodificacionCodificacion
Codificacion
 
Modos de Direccionamiento del Procesador
Modos de Direccionamiento del ProcesadorModos de Direccionamiento del Procesador
Modos de Direccionamiento del Procesador
 

Similar a Microporcesadores registro

El Microprocesador Y Su Arquitectura
El Microprocesador Y Su ArquitecturaEl Microprocesador Y Su Arquitectura
El Microprocesador Y Su Arquitecturajadenjgct
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfazXavi Flores
 
Unidadi. lenguajes de interfaz
Unidadi.   lenguajes de interfazUnidadi.   lenguajes de interfaz
Unidadi. lenguajes de interfazLuiS YmAY
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalledsolana
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basicoGustavo Davila
 
Comparativa Intel 8086 Motorola 68000
Comparativa Intel 8086   Motorola 68000Comparativa Intel 8086   Motorola 68000
Comparativa Intel 8086 Motorola 68000guest0f5365
 
Registros Basicos del CPU.pptx
Registros Basicos del CPU.pptxRegistros Basicos del CPU.pptx
Registros Basicos del CPU.pptxEdwin Jaramillo
 
Registros del cpu!
Registros del cpu!Registros del cpu!
Registros del cpu!romo91
 
El Procesador o CPU
El Procesador o CPUEl Procesador o CPU
El Procesador o CPUJorge Pulido
 
Casos de estudio de cpu reales
Casos de estudio de cpu realesCasos de estudio de cpu reales
Casos de estudio de cpu realesKikivan Cortez
 
Modos.de.direccionamiento.del.8086
Modos.de.direccionamiento.del.8086Modos.de.direccionamiento.del.8086
Modos.de.direccionamiento.del.8086José Pedro Avila
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detallePTA Records
 

Similar a Microporcesadores registro (20)

Definición de registro de procesador
Definición de registro de procesadorDefinición de registro de procesador
Definición de registro de procesador
 
Unidad I.pdf
Unidad I.pdfUnidad I.pdf
Unidad I.pdf
 
El Microprocesador Y Su Arquitectura
El Microprocesador Y Su ArquitecturaEl Microprocesador Y Su Arquitectura
El Microprocesador Y Su Arquitectura
 
Asm mododir2
Asm mododir2Asm mododir2
Asm mododir2
 
asm_mododir2.pdf
asm_mododir2.pdfasm_mododir2.pdf
asm_mododir2.pdf
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfaz
 
Unidadi. lenguajes de interfaz
Unidadi.   lenguajes de interfazUnidadi.   lenguajes de interfaz
Unidadi. lenguajes de interfaz
 
Microprocesadores
MicroprocesadoresMicroprocesadores
Microprocesadores
 
Emsamblador
EmsambladorEmsamblador
Emsamblador
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
 
Comparativa Intel 8086 Motorola 68000
Comparativa Intel 8086   Motorola 68000Comparativa Intel 8086   Motorola 68000
Comparativa Intel 8086 Motorola 68000
 
Registros Basicos del CPU.pptx
Registros Basicos del CPU.pptxRegistros Basicos del CPU.pptx
Registros Basicos del CPU.pptx
 
Registros del cpu!
Registros del cpu!Registros del cpu!
Registros del cpu!
 
El Procesador o CPU
El Procesador o CPUEl Procesador o CPU
El Procesador o CPU
 
Arquitectura De Los Computadore
Arquitectura De Los ComputadoreArquitectura De Los Computadore
Arquitectura De Los Computadore
 
Casos de estudio de cpu reales
Casos de estudio de cpu realesCasos de estudio de cpu reales
Casos de estudio de cpu reales
 
Modos.de.direccionamiento.del.8086
Modos.de.direccionamiento.del.8086Modos.de.direccionamiento.del.8086
Modos.de.direccionamiento.del.8086
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
 

Último

El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 

Último (20)

El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 

Microporcesadores registro

  • 1. República Bolivariana de Venezuela Ministerio de Educación Superior I.U.P. Santiago Mariño MICROPROCESADORES Marcos Barboza C.I: 15.059.191 Jose Avila C.I: 15.561.211 Augusto Trejo C.I: 20.283.384 Edixon Barreto C.I: 22.369.672 Maracaibo, 05 de Mayo del 2014
  • 2. INDICE REGISTRO E INSTRUCCIONES DE MICROPROCESADORES CONCEPTO GENERAL REGISTROS DE SEGMENTO REGISTRO APUNTADOR DE INSTRUCCIONES REGISTROS DE PROPÓSITOS GENERALES REGISTRO ÍNDICE BASES NUMEMRICAS DE REPRESENTACION LOS TIPOS DE INSTRUCCIONES ARITMETICAS MOVIMIENTO DE DATOS INTRUCCIONES LOGICAS INSTRUCCIONES DE COMPARACION INSTRUCCIONES DE SALTO INSTRUCCIONES DE ENTRADA/SALIDA INSTRUCCIONES DE CONTROL INSRUCCIONES DE DESPLAZAMIENTO INSTRUCCIONES DE BIT BASES NUMEMRICAS DE REPRESENTACION MEDIOS DE DIRECCIONAMIENTO DIRECCIONAMIENTO INMEDIATO DIRECCIONAMIENTO IMPLICITO DIRECCIONAMIENTO ABSOLUTO
  • 3. DIRECCIONAMIENTO DIRECTO RELATIVO DIRECCIONAMIENTO INDIRECTO DIRECCIONAMIENTO DIRECTO ABSOLUTO DIRECCIONAMIENTO POR REGISTRO DIRECCIONAMIENTO POR REGISTRO INDIRECTO DIRECCIONAMIENTO INMEDIATO
  • 4. REGISTRO E INSTRUCCIONES DE MICROPROCESADORES 1. CONCEPTO GENERAL Los registros del procesador se emplean para controlar instrucciones en ejecución, manejar direccionamiento de memoria y proporcionar capacidad aritmética. Los registros son espacios físicos dentro del microprocesador con capacidad de 4 bits hasta 64 bits dependiendo del microprocesador que se emplee. Los registros son direccionables por medio de una viñeta, que es una dirección de memoria. Los bits, por conveniencia, se numeran de derecha a izquierda (15,14,13…. 3,2,1,0), los registros están divididos en seis grupos los cuales tienen un fin especifico. Los registros se dividen en: Registros de segmento Registros de apuntadores de instrucciones Registros apuntadores Registros de propósitos generales Registro índice Registro de bandera. 2. REGISTROS DE SEGMENTO. Un registro de segmento se utiliza para alinear en un limite de párrafo o dicho de otra forma codifica la dirección de inicio de cada segmento y su dirección en un registro de segmento supone cuatro bits 0 a su derecha. Un registro de segmento tiene 16 bits de longitud y facilita un área de memoria para direccionamientos conocidos como el segmento actual. Los registros de segmento son: Registro CS Registro DS Registro SS Registro ES Registro FS y GS Registro CS.
  • 5. El DOS almacena la dirección inicial del segmento de código de un programa en el registro CS. Esta dirección de segmento, mas un valor de desplazamiento en el registro de apuntado de instrucción (IP), indica la dirección de una instrucción que es buscada para sí ejecución. Para propósito de programación normal, no e necesita referenciar el registro CS. Registro DS. La dirección inicial de un segmento de datos de programa es almacenada en el registro DS. En términos sencillos, esta dirección, mas un valor de desplazamiento en una instrucción, genera una referencia a la localidad de un bytes especifico en el segmento de datos. Registro SS. El registro SS permite la colocación en memoria de una pila, para almacenamiento temporal de direcciones y datos. El DOS almacena la dirección de inicio del segmento de pila de un programa en el registro SS. Esta dirección de segmento, más un valor de desplazamiento en el registro del apuntador de la pila (SP), indica la palabra actual en la pila que está siendo direccionada. Para propósitos de programación normal, no se necesita referenciar el registro SS. Registro ES Algunas operaciones con cadenas de caracteres (datos de caracteres) utilizan el registro esta de segmento para manejar el direccionamiento de memoria. En este contexto, el registro ES esta asociado con el registro DI (índice) . un programa que requiere el uso del registro ES puede inicializarlo con una dirección apropiada. Registros FS y GS. Son registros extra de segmento en los procesadores 80386y posteriores a estos procesadores. 3. REGISTRO APUNTADOR DE INSTRUCCIONES.(IP) El registro apuntador de instrucciones (IP) de 16 bits contiene el desplazamiento de dirección de la siguiente instrucción que se ejecuta. El registro IP esta asociado con el registro CS en el sentido de que el IP indica la instrucción actual dentro del segmento de código que se esta ejecutando actualmente. Registros apuntadores. Los registros apuntadores están asociados con el registro SS y permiten al procesador accesar datos en el segmento de pila los registros apuntadores son dos:
  • 6. El registro SP El registro BP Registro SP. El apuntador de pila IP de 16 bits esta asociado con el registro SS y proporciona un valor de desplazamiento que se refiere a la palabra actual que esta siendo procesada en la pila. El ejemplo siguiente el registro SS contiene la dirección de segmento 27B3[0]H y el SP el desplazamiento 312H Para encontrar la palabra actual que esta siendo procesada en la pila el microprocesador combina las direcciones en el SS y el PP: Registro BP. El registro BP de 16 bits facilita la referencia de parámetros, los cuales son datos y direcciones transmitidos vía lapida. 4. REGISTROS DE PROPÓSITOS GENERALES. Los registros de propósitos generales AX, BX, CX y DX son los caballos de batalla o las herramientas del sistema. Son los únicos en el sentido de que se puede direccionarlos como una palabra o como una parte de un byte. El ultimo byte de la izquierda es la parte "alta", y el ultimo byte de la derecha es la parte "baja" por ejemplo, el registro CX consta de una parte CH (alta) y una parte CL (baja), y usted puede referirse a cualquier parte por si nombre. Ñas instrucciones siguientes mueven ceros a los registros CX, CH y CL respectivamente. Mov CX, 00 Mov CH, 00 Mov CL, 00 Los procesadores 80386 y posteriores permiten el uso de todos registros de propósito general, mas versiones de 32 bits; EAX, EBX y EDCX. El registro AX: el acumulador principal, es utilizado para operaciones que implican entrada/salida y la mayor parte de la aritmética. Por ejemplo, las instrucciones para multiplicar, dividir y traducir suponen el uso del AX. También, algunas operaciones generan código más eficientes si se refiere al AX en lugar de los otros registros.
  • 7. Registro BX: El BX es conocido como el registro base ya que es el único registro de propósitos generales que pueden ser unos índices para direccionamiento indexado. También es común emplear al BX para cálculos. Registro CX: El CX es conocido como el registro contador. Puede contener un valor para controlar el número de veces que un ciclo se repite o un valor para corrimiento de bits, hacia la derecha o hacia la izquierda. El CX también es usado para muchos cálculos. Registro DX: El DX es conocido como el registro de datos. Algunas operaciones de entrada/salida requieren su uso, y las operaciones de multiplicación y división con cifras grandes suponen al DX y al AX trabajando juntos. Puede usar los registros de propósitos para suma y resta de cifras de 8, 16, 32 bits. 5. REGISTRO ÍNDICE. Los registros SI y DI están disponibles para direccionamientos indexados y para sumas y restas. Que son la operaciones de punta. Registro SI. El registro índice de 16 bits es requerido por algunas operaciones con cadenas (de caracteres). En este contexto, el SI está asociado con el registro DS. Los procesadores 80386 y posteriores permiten el uso de un registro ampliado a 32 bits, el ESI. Registro DI: El registro índice destino también es requerido por algunas operaciones con cadenas de caracteres. En este contexto, el Di está asociado con el registro ES. Los procesadores 80386 y posteriores permiten el uso de un registro ampliado a 32 bits, el EDI. Registro de bandera. Los registros de banderas sirven parar indicar el estado actual de la maquina y el resultado del procesamiento, Cuando algunas instrucciones piden comparaciones o cálculos aritméticos cambian el estado de las banderas. Un programa esta constituido por un conjunto ordenado de instrucciones, que constituyen el cuerpo principal del programa y uno o más bloques de datos iniciales necesarios para una correcta ejecución. El proceso básico de ejecución de un programa requiere por parte del microprocesador, la repetición de los siguientes pasos: Leer de la memoria una instrucción del programa. Interpretar la instrucción leída. Ejecutar dicha instrucción.
  • 8. Debemos considerar además que los microprocesadores trabajan solamente con lenguaje de bajo nivel, es decir, trabajan con lenguaje máquina. Cada microprocesador o familia de microprocesadores, posee su propio lenguaje máquina que determina las capacidades propias de cada familia. Las instrucciones máquina son almacenadas en la memoria en forma de bytes, es decir, en forma de unos y ceros empleando por tanto el sistema binario de numeración. Sin embargo este sistema es muy complejo para trabajar directamente en él, por lo que se emplean otros sistemas como el hexadecimal, BCD, etc. para la representación de datos. Para construir los programas, normalmente se emplean lenguajes de alto nivel, y luego se transforman los programas así escritos a lenguaje máquina asequible para el microprocesador. No obstante en nuestro caso emplearemos un lenguaje de bajo nivel (ensamblador) que trabaja con abreviaturas alfabéticas denominadas mnemónicos que constituyen las operaciones e instrucciones que ejecutará el microprocesador. Durante el desarrollo de este tema veremos las principales bases numéricas de representación, así como los diferentes tipos de instrucciones, modos de direccionamiento y se realizará un estudio de todo el repertorio de instrucciones propio del microprocesador 8085. Es conveniente leer todas y cada una de las instrucciones para ir familiarizándose con ellas y entender su modo de funcionamiento. Todo lo tratado aquí, son aspectos básicos de la programación que nospermiten crear programas ejecutables en el sistema electrónico presentado en esta serie de artículos. BASES NUMEMRICAS DE REPRESENTACION Ya se ha comentado que es el lenguaje máquina el único que el micrprocesador es capaz de tratar, es decir, solamente trabaja con unos y ceros. Este lenguaje resulta inapropiado para las personas, por lo que se desarrollan otros sistemas de representación más sencillos o más cómodos de manejar. En primer lugar debemos fijarnos en que el microrpocesador trabaja con bloques de información normalizados. Podemos destacar en este terreno: EL BIT: Como unidad de información más elemental que adopta dos únicos estados, el uno o el cero. EL OCTETO O BYTE: Constituído por una cadena de ocho bits. LA PALABRA: Es el tamaño de información que el microprocesador puede manejar en paralelo. En función de la potencialidad del microprocesador tendremos palabras de 8 bits, 16 bits, 32 bits, etc.
  • 9. Estableciendo ya el tipo de información con el que se va a trabajar, pasamos ahora a ver las bases numéricas o de representación que emplearemos durante la programación. Las más comunes son: SISTEMA DECIMAL: Es el sistema que habitualmente empleamos en nuestra vida diaria, y por tanto será el sistema que se empleará normalmente para introducir datos y sacar datos del sistema. Lógicamente este sistema de representación numérico dispone de diez dígitos (0, 1, 2, 3, 4, 5, 6, 7, 8 y 9). SISTEMA BINARIO: Solo emplea dos unidades básicas de representación (0 y 1). Para encontrar la expresión decimal de cualquier número binario, se procede de forma similar al sistema decimal, pero empleando el 2 com base del sistema. Por ejemplo: Para realizar el proceso contrario, es decir para transformar un número decimal a binario, puede emplearse un método muy sencillo que consiste en dividir sucesivamente dicho número por la base binaria 2. El número binario se construye tomando el último cociente y poniendo a continuación de forma consecutiva los restos obtenidos en todas las divisiones de la última a la primera. SISTEMA DECIMAL CODIFICADO EN BINARIO (BCD): Se trata de un caso particular del binario que emplea cuatro bits para representar los números decimales del 0 al 9. Por tanto para transformar un número decimal, no tendremos más que tomar cada una de sus cifras y transformarla a binario empleando 4 bits. Por ejemplo: 279 = 0010 0111 1001 SISTEMA EXCESO A TRES: Toma como referencia el sistema BCD, sin más que añadir a cada digito el valor 3, es decir sumar: SISTEMA HEXADECIMAL: Es uno de los más empleados en programación. Sus diez primeros digitos se corresponden con los del sistema decimal y los seis restantes son las seis primeras letras mayúsculas del alfabeto (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F). La base de este sistema es el 16 y todas sus cifras pueden ser expresadas con cuatro bits. Para convertir un número binario a hexadecimal, agruparemos sus dígitos o bits de cuatro en cuatro y transformaremos cada uno de ellos de forma individual, obteniendo así la representación hexadecimal. Por ejemplo: SISTEMA DE REPRESENTACION ASCII: Se trata de un sistema de representación de datos empleado para facilitar intercambios de información. Es uno de los sistemas más empleados en la actualidad (junto al sistema EBCDIC). La codificación se lleva a cabo empleando una palabra de 8 bits, es decir, un octeto para cada carácter de información. Para encontrar el valor de un carácter
  • 10. numérico de una representación ASCII, es suficiente con restar el valor 48 y al contrario para encontrar la representación ASCII de un digito decimal habrá que sumar 48. LOS TIPOS DE INSTRUCCIONES: Después de haber tratado de forma superficial los sistemas de representación, vamos a ver los distintos tipos de instrucciones que utiliza un microprocesador. Básicamente puede decirse que el bloque de instrucciones debe ser completo y eficaz de modo que podamos realizar todos los cálculos necesarios de forma más rápida y precisa posible. Una de las principales características de todo microprocesador es disponer de un buen conjunto de instrucciones que le den la mayor versatilidad posible. Se establecen los siguientes grupos, tipos o conjuntos de instrucciones: 1- ARITMETICAS: Son las instrucciones que realizan operaciones de tipo aritmético como sumas, restas, incrementos, decrementos, etc. Todas las operaciones de este tipo afectan al registro de estado, es decir a los flags. 2- MOVIMIENTO DE DATOS: Este tipo de instrucciones de movimiento o transferencia de datos, permiten realizar una copia del contenido de un registro o dirección de memoria (origen), en otro registro o dirección de memoria (destino), sin alterar el contenido del origen. 3- INTRUCCIONES LOGICAS: Realizan operaciones lógicas entre los operandos. Afectan a los flags según sea el caso y las operaciones se realizan bit a bit entre los datos. 4- INSTRUCCIONES DE COMPARACION: Son operaciones de restar o operaciones XOR entre dos operandos. Afectan a los flags pero no se almacena el resultado. 5- INSTRUCCIONES DE SALTO: Son instrucciones de modificación de secuencia que alteran la ejecución normal del programa, cargando el contador de programa con la nueva dirección en la que deseamos continúe ejecutándose el programa. Los saltos o bifurcaciones pueden ser: - CONDICIONALES: Cuando son controlados por el estado de un indicador o flag, y basándose en dicho estado se decide si se salta o no. - INCONDICIONALES: Cuando modifican el contador de programa sin condición previa. Dentro de cada uno de estos tipos, podemos encontrar además
  • 11. la particularidad de que al efectuar los saltos se realicen con posibilidad de retorno o no. 6- INSTRUCCIONES DE ENTRADA/SALIDA: Son en realidad instrucciones de transferencia, pero no entre registros o posiciones de memoria, sino con elementos periféricos que permiten la comunicación del microprocesador con el exterior. 7- INSTRUCCIONES DE CONTROL: Sirven para actuar internamente sobre el microprocesador, provocando detenciones en la ejecución del programa, etc. 8- INSTRUCCIONES DE BIT: Trabajan o tratan bits independientes. 9- INSRUCCIONES DE DESPLAZAMIENTO: Desplazan o rtoan hacia la izquierda o hacia la derecha los bits de un registro (acumulador). MEDIOS DE DIRECCIONAMIENTO Los modos de direccionamiento son aquellos procedimientos empleados por el microprocesador para poder acceder a determinados operandos, instrucciones, posiciones de memoria, registros de entrada/salida, etc. Por tanto el objeto del direccionamiento es un valor o dato que se encuentra en un lugar de la memoria, en algún registro o en la propia instrucción. Los diferentes modos de direccionamiento que pueda emplear un microprocesador le proporcionan un determinado nivel de potencialidad, permitiéndole manejar datos y realizar operaciones con mayor facilidad. En general podemos diferenciar los siguientes tipos o modos de direccionamiento: 1- DIRECCIONAMIENTO INMEDIATO: En este caso el objeto (un operando) se encuentra incluído en la instrucción, es decir, a continuación del código de la instrucción se añade el operando propiamente dicho. Las instrucciones que emplean este direccionamiento pueden ser de dos o tres bytes y son instrucciones de ejecución rápida y sencilla. 2- DIRECCIONAMIENTO IMPLICITO: Las instrucciones que emplean este modo de direccionamiento tienen un solo byte y es la propia instrucción la que indica qué registro o dirección de memoria se va a utilizar en la operación. 3- DIRECCIONAMIENTO ABSOLUTO: En este caso las instrucciones incluyen la dirección de memoria donde se encuentra el dato con el que se va a operar. En este tipo de direccionamiento pueden darse tres supuestos:
  • 12. a) La instrucción apunta a un registro que contiene la información deseada (direccionamiento también llamado de registro). b) La instrucción contiene la dirección completa en la que se encuentra el dato, empleando para ello tres bytes. c) Cuando la instrucción se refiere solo a una parte de la memoria (pàgina). En este caso el byte más alto lo suministra el contador de programa y el byte más bajo se expresa a continuación del código de instrucción, por tanto solo se emplean dos bytes (Este direccionamiento también se llama de página base). 4- DIRECCIONAMIENTO DIRECTO RELATIVO: La instrucción en este caso contiene un valor determinado al que podemos llamar V. La dirección total se calcula sumando a V el valor que esté almacenado en un registro alq ue haga referencia la instrucción. El valor de V puede ser tanto positivo como negativo. 5- DIRECCIONAMIENTO INDIRECTO: La instrucción contiene una dirección a la que llamaremos D1. El contenido de D1 no es el objeto directo de nuestra instrucción, sino que contiene otra dirección que llamaremos D2. Esta nueva dirección D2 es la que contiene el dato que sí es objeto de la instrucción. Expresados ya los modos de direccionamiento con carácter general, pasamos ahora a ver los modos de direccionamiento que utiliza el microprocesador 8085 en particular, que son los cuatro siguientes: DIRECCIONAMIENTO DIRECTO ABSOLUTO: La instrucción contiene la dirección exacta y completa donde se encuentra el dato. Por ejemplo: LHLD A716H DIRECCIONAMIENTO POR REGISTRO: La instrucción lleva el registro en el que está el dato que va a ser tratado. Como por ejemplo: MOV A,B MOV B,C DIRECCIONAMIENTO POR REGISTRO INDIRECTO: En la instrucción se especifica un registro cuyo contenido apunta a una dirección de memoria en la que se encuentra el dato. Por ejemplo: MOV A,M M es una referencia simbólica a una dirección apuntada o señalada por el par de registros HL.
  • 13. DIRECCIONAMIENTO INMEDIATO: La instrucción contiene el dato con el que se desea operar, pudiendo ser el dato de uno o dos bytes: LXI H,A0B7H ADI 3AH