06 elaboración de programas
Post on 01-Jul-2015
2.322 Views
Preview:
DESCRIPTION
TRANSCRIPT
jaime.velarde@epn.edu.ec
1
PROGRAMAS EN LOS PROGRAMAS EN LOS MICROPROCESADORESMICROPROCESADORES
Y SU ELABORACIÓNY SU ELABORACIÓN
Elaborado por: Ing. Jaime E. Velarde
jaime.velarde@epn.edu.ec
2
EL CONTENIDO DE LA MEMORIA ES EL PROGRAMA QUE EJECUTA EL MICROPROCESADOR
jaime.velarde@epn.edu.ec
3
CÓDIGO DE OPERACIÓN DE LA PRIMERA INSTRUCCIÓN
jaime.velarde@epn.edu.ec
4
INSTRUCCIÓN DE UN SOLO BYTE
jaime.velarde@epn.edu.ec
5
CÓDIGO DE OPERACIÓN DE LA SEGUNDA INSTRUCCIÓN
jaime.velarde@epn.edu.ec
6
INSTRUCCIÓN DE DOS BYTES
jaime.velarde@epn.edu.ec
7
INSTRUCCIÓN COMPLETA, CÓDIGO DE OPERACIÓN MÁS EL OPERANDO
jaime.velarde@epn.edu.ec
8
CÓDIGO DE OPERACIÓN DE LA TERCERA INSTRUCCIÓN
jaime.velarde@epn.edu.ec
9
INSTRUCCIÓN DE DOS BYTES
jaime.velarde@epn.edu.ec
10
INSTRUCCIÓN COMPLETA, CÓDIGO DE OPERACIÓN MÁS EL OPERANDO
jaime.velarde@epn.edu.ec
11
CÓDIGO DE OPERACIÓN DE LA CUARTA INSTRUCCIÓN
jaime.velarde@epn.edu.ec
12
INSTRUCCIÓN DE TRES BYTES
jaime.velarde@epn.edu.ec
13
INSTRUCCIÓN COMPLETA, CÓDIGO DE OPERACIÓN MÁS EL OPERANDO
jaime.velarde@epn.edu.ec
14
CÓDIGO DE OPERACIÓN DE LA QUINTA INSTRUCCIÓN
jaime.velarde@epn.edu.ec
15
INSTRUCCIÓN DE DOS BYTES
jaime.velarde@epn.edu.ec
16
INSTRUCCIÓN COMPLETA, CÓDIGO DE OPERACIÓN MÁS EL OPERANDO
jaime.velarde@epn.edu.ec
17
CÓDIGO DE OPERACIÓN DE LA SEXTA INSTRUCCIÓN
jaime.velarde@epn.edu.ec
18
INSTRUCCIÓN DE UN SOLO BYTE
jaime.velarde@epn.edu.ec
19
CÓDIGO DE OPERACIÓN DE LA SÉPTIMA INSTRUCCIÓN
jaime.velarde@epn.edu.ec
20
INSTRUCCIÓN DE TRES BYTES
jaime.velarde@epn.edu.ec
21
INSTRUCCIÓN COMPLETA, CÓDIGO DE OPERACIÓN MÁS EL OPERANDO
jaime.velarde@epn.edu.ec
22
CÓDIGO DE OPERACIÓN DE LA OCTAVA INSTRUCCIÓN
jaime.velarde@epn.edu.ec
23
EL RESULTADO OCUPA DOS LOCALIDADES DE MEMORIA
jaime.velarde@epn.edu.ec
24
SUMA DE 93H CON 72H IGUAL A 105H
jaime.velarde@epn.edu.ec
25
ELABORACIÓN DE PROGRAMAS
• DEFINICIÓN DEL PROBLEMA
• ELABORACIÓN DEL ALGORITMO
• ESCRITURA DEL PROGRAMA EN MNEMÓNICOS
• ESCRITURA DEL PROGRAMA EN LENGUAJE DE MÁQUINA
• GRABACIÓN DEL PROGRAMA EN UNA MEMORIA TIPO ROM
jaime.velarde@epn.edu.ec
26
DEFINICIÓN DEL PROBLEMA
DESARROLLAR UN PROGRAMA PARA UN MICROPROCESADOR HIPOTÉTICO, QUE PERMITA OBTENER EL VALOR CORRESPONDIENTE A LA SUMA DE LOS NÚMEROS 147 Y 114, PARA LUEGO ALMACENAR EL RESULTADO EN MEMORIA
jaime.velarde@epn.edu.ec
27
ANALISIS DEL PROBLEMA
EN DECIMAL
147
+114
261
EN BINARIO
10010011
+ 1110010
100000101
EN HEXADECIMAL
93H
+72H
105H
EL RESULTADO OCUPA 9 BITS (dos localidades en
la memoria)
LA REPRESENTACIÓN EN HEXADECIMAL ES LA
MÁS UTILIZADA
jaime.velarde@epn.edu.ec
28
PASOS DEL ALGORITMO
Localidad “Y” de memoria ← Acumulador7
Acumulador ← Carry6
Acumulador ← 000000005
Localidad “X” de memoria ← Acumulador4
Acumulador ← 10010011 + 01110010 = 00000101 y Carry ← 13
Acumulador ← 00000000 + 10010011 = 10010011 y Carry ← 02
Acumulador ← 000000001
DESCRIPCIÓNPASO
jaime.velarde@epn.edu.ec
29
TRANSFORMACIÓN A INSTRUCCIONES
ALMACENAR EN LA LOCALIDAD CUYA DIRECCIÓN ES 1AAEH EL ACUMULADOR7
DESPLAZAR A LA IZQUIERDA LA BANDERA DEL CARRY JUNTO AL CONTENIDO DEL ACUMULADOR6
ALMACENAR EN EL ACUMULADOR EL VALOR 00H5
ALMACENAR EN LA LOCALIDAD CUYA DIRECCIÓN ES 1AAFH EL ACUMULADOR4
SUMAR AL ACUMULADOR EL VALOR 1143
SUMAR AL ACUMULADOR EL VALOR 1472
BORRAR EL ACUMULADOR1
INSTRUCCIÓNPASO
jaime.velarde@epn.edu.ec
30
COMPONENTES DE LAS INSTRUCCIONES
INSTRUCCIÓN = OPERACIÓN + OPERANDOS
Acción que realiza la instrucción (Verbo en
infinitivo)
Datos que intervienen en la instrucción (Modos
de direccionemiento)
jaime.velarde@epn.edu.ec
31
ESCRITURA EN MNEMÓNICOS
STR (1AAEH),A
SLC A
STR A,00H
STR (1AAFH),A
ADD A,72H
ADD A,93H
CLR A
MNEMÓNICO
STORE IN ADDRESS 1AAFH THE ACCUMULATOR7
SHIFT LEFT WITH CARRY THE ACCUMULATOR6
STORE IN ACCUMULATOR 00H5
STORE IN ADDRESS 1AAFH THE ACCUMULATOR4
ADD TO ACCUMULATOR 1143
ADD TO ACCUMULATOR 1472
CLEAR ACCUMULATOR1
INSTRUCCIÓNPASO
jaime.velarde@epn.edu.ec
32
TRANSFORMACIÓN EN LENGUAJE DE MÁQUINA
32 1A AE
17
3E 00
32 1A AF
C6 72
C6 93
AF
EN
HEXADECIMAL
STR (1AAEH),A00110010 00011010 10101110
SLC A00010111
STR A,00H00111110 00000000
STR (1AAFH),A00110010 00011010 10101111
ADD A,72H11000110 01110010
ADD A,93H11000110 10010011
CLR A10101111
MNEMÓNICOCÓDIGO DE MÁQUINA
EN BINARIO
jaime.velarde@epn.edu.ec
33
DIRECCIONES DE LOS CÓDIGO DE MÁQUINA
32 1A AE000B
17000A
3E 000008
32 1A AF0005
C6 720003
C6 930001
AF0000
CÓD. DE MÁQ. EN HEX.
DIRECCIÓN EN HEX.
jaime.velarde@epn.edu.ec
34
ENSAMBLADO PARA OBTENER EL ARCHIVO .HEX
FILE1.ASM FILE1.HEX
PROGRAMA ENSAMBLADOR
Ejemplo: ASM51.EXE
MÓDULO FUENTE Programa en mnemónicos
MÓDULO OBJETO Programa en
códigos de máquina
CLR AADD A,93HADD A,72HSTR (1AAFH),ASTR A,00HSLC ASTR (1AAEH),A
:0E000000AFC693C672321AAF3E0017321AAE76:00000001FF
jaime.velarde@epn.edu.ec
35
ENSAMBLADO Y ENLAZADO
FILE1.ASM
PROGRAMA ENSAMBLADOR
Ejemplo: AVMAC51.EXE
FILE1.OBJ
PROGRAMA ENLAZADOR
Ejemplo: AVLINK.EXE
FILE1.HEX
FILE2.ASMENSAMBLADO
previamente FILE2.OBJ
FILE3.ASMENSAMBLADO
previamente FILE3.OBJ
MÓDULOS FUENTES
MÓDULOS OBJETOS “RELOCALIZABLES”
MÓDULO OBJETO CON DIRECCIONES ABSOLUTAS
jaime.velarde@epn.edu.ec
36
FILE1.HEX
MEMORIA O MICROCONTROLADOR
CONTENIENDO LOS CÓDIGOS DE MÁQUINA
GRABACIÓN DEL PROGRAMA EN UNA MEMORIA TIPO ROM
top related