elaboracion de programa
-
Upload
leseat-noca -
Category
Documents
-
view
226 -
download
0
description
Transcript of elaboracion de programa
PROGRAMAS EN LOS PROGRAMAS EN LOS MICROPROCESADORESMICROPROCESADORESMICROPROCESADORESMICROPROCESADORES
Y SU ELABORACIÓNY SU ELABORACIÓNY SU ELABORACIÓNY SU ELABORACIÓN
24/06/2013 1
EL CONTENIDO DE LA MEMORIA ES EL PROGRAMA QUE EJECUTA EL MICROPROCESADOR
24/06/2013 2
MICROPROCESADOR
CÓDIGO DE OPERACIÓN DE LA PRIMERA INSTRUCCIÓN
24/06/2013 3
INSTRUCCIÓN DE UN SOLO BYTE
24/06/2013 4
CÓDIGO DE OPERACIÓN DE LA SEGUNDA INSTRUCCIÓN
24/06/2013 5
INSTRUCCIÓN DE DOS BYTES
24/06/2013 6
INSTRUCCIÓN COMPLETA, CÓDIGO DE OPERACIÓN MÁS EL OPERANDO
24/06/2013 7
CÓDIGO DE OPERACIÓN DE LA TERCERA INSTRUCCIÓN
24/06/2013 8
INSTRUCCIÓN DE DOS BYTES
24/06/2013 9
INSTRUCCIÓN COMPLETA, CÓDIGO DE OPERACIÓN MÁS EL OPERANDO
24/06/2013 10
CÓDIGO DE OPERACIÓN DE LA CUARTA INSTRUCCIÓN
24/06/2013 11
INSTRUCCIÓN DE TRES BYTES
24/06/2013 12
INSTRUCCIÓN COMPLETA, CÓDIGO DE OPERACIÓN MÁS EL OPERANDO
24/06/2013 13
CÓDIGO DE OPERACIÓN DE LA QUINTA INSTRUCCIÓN
24/06/2013 14
INSTRUCCIÓN DE DOS BYTES
24/06/2013 15
INSTRUCCIÓN COMPLETA, CÓDIGO DE OPERACIÓN MÁS EL OPERANDO
24/06/2013 16
CÓDIGO DE OPERACIÓN DE LA SEXTA INSTRUCCIÓN
24/06/2013 17
INSTRUCCIÓN DE UN SOLO BYTE
24/06/2013 18
CÓDIGO DE OPERACIÓN DE LA SÉPTIMA INSTRUCCIÓN
24/06/2013 19
INSTRUCCIÓN DE TRES BYTES
24/06/2013 20
INSTRUCCIÓN COMPLETA, CÓDIGO DE OPERACIÓN MÁS EL OPERANDO
24/06/2013 21
CÓDIGO DE OPERACIÓN DE LA OCTAVA INSTRUCCIÓN
24/06/2013 22
EL RESULTADO OCUPA DOS LOCALIDADES DE MEMORIA
24/06/2013 23
SUMA DE 93H CON 72H IGUAL A 105H
24/06/2013 24
ELABORACIÓN DE PROGRAMASELABORACIÓN DE PROGRAMAS
Ó• DEFINICIÓN DEL PROBLEMA
• ELABORACIÓN DEL ALGORITMOELABORACIÓN DEL ALGORITMO
• ESCRITURA DEL PROGRAMA EN N ÓNICOSMNEMÓNICOS
• ESCRITURA DEL PROGRAMA EN LENGUAJE DE MÁQUINA
GRABACIÓN DEL PROGRAMA EN UNA• GRABACIÓN DEL PROGRAMA EN UNA MEMORIA TIPO ROM
24/06/2013 25
DEFINICIÓN DEL PROBLEMADEFINICIÓN DEL PROBLEMA
DESARROLLAR UN PROGRAMA PARA UN MICROPROCESADOR HIPOTÉTICO, QUE ,PERMITA OBTENER EL VALOR CORRESPONDIENTE A LA SUMA DE LOSCORRESPONDIENTE A LA SUMA DE LOS NÚMEROS 147 Y 114, PARA LUEGO ALMACENAR EL RESULTADO EN MEMORIAALMACENAR EL RESULTADO EN MEMORIA
24/06/2013 26
ANALISIS DEL PROBLEMAANALISIS DEL PROBLEMA
EN DECIMAL
EN BINARIO
EN HEXADECIMAL
147 10010011 93H
+114
261
+ 1110010
100000101
+72H
105H261 100000101 105H
EL RESULTADO OCUPA 9 BITS (dos localidades en la
LA REPRESENTACIÓN EN HEXADECIMAL ES LA MÁS
24/06/2013 27
memoria) UTILIZADA
PASOS DEL ALGORITMOPASOS DEL ALGORITMO
PASO DESCRIPCIÓN
1 Acumulador ← 000000001 Acumulador ← 00000000
2 Acumulador ← 00000000 + 10010011 = 10010011 y Carry ← 0
3 Acumulador ← 10010011 + 01110010 = 00000101 y Carry ← 1
4 Localidad “X” de memoria ← Acumulador4 Localidad X de memoria ← Acumulador
5 Acumulador ← 00000000
6 Acumulador ← Carry
7 Localidad “Y” de memoria ← Acumulador7 Localidad Y de memoria ← Acumulador
24/06/2013 28
TRANSFORMACIÓN A INSTRUCCIONES
PASO INSTRUCCIÓN
1 BORRAR EL ACUMULADOR1 BORRAR EL ACUMULADOR
2 SUMAR AL ACUMULADOR EL VALOR 147
3 SUMAR AL ACUMULADOR EL VALOR 114
4 ALMACENAR EN LA LOCALIDAD CUYA DIRECCIÓN ES 4 1AAFH EL ACUMULADOR
5 ALMACENAR EN EL ACUMULADOR EL VALOR 00H
6 DESPLAZAR A LA IZQUIERDA LA BANDERA DEL CARRY JUNTO AL CONTENIDO DEL ACUMULADOR
Ó7 ALMACENAR EN LA LOCALIDAD CUYA DIRECCIÓN ES 1AAEH EL ACUMULADOR24/06/2013 29
COMPONENTES DE LASCOMPONENTES DE LAS INSTRUCCIONES
INSTRUCCIÓN = OPERACIÓN + OPERANDOSINSTRUCCIÓN OPERACIÓN OPERANDOS
Acción que realiza la instrucción (Verbo en
f )
Datos que intervienen en la instrucción (Modos de
)infinitivo) direccionemiento)
24/06/2013 30
ESCRITURA EN MNEMÓNICOSESCRITURA EN MNEMÓNICOS
PASO MNEMÓNICO INSTRUCCIÓN
1 CLR A CLEAR ACCUMULATOR1 CLR A CLEAR ACCUMULATOR
2 ADD A,93H ADD TO ACCUMULATOR 147
3 ADD A,72H ADD TO ACCUMULATOR 114
4 STR (1AAFH) ASTORE IN ADDRESS 1AAFH THE 4 STR (1AAFH),AACCUMULATOR
5 STR A,00H STORE IN ACCUMULATOR 00H
6 SLC ASHIFT LEFT WITH CARRY THE ACCUMULATOR
7 STR (1AAEH),ASTORE IN ADDRESS 1AAFH THE ACCUMULATOR24/06/2013 31
TRANSFORMACIÓN EN LENGUAJE DE MÁQUINA
CÓDIGO DE MÁQUINA
EN BINARIO
EN
HEXADECIMALMNEMÓNICO
10101111 AF CLR A
11000110 10010011 C6 93 ADD A,93H,
11000110 01110010 C6 72 ADD A,72H
00110010 00011010 10101111 32 1A AF STR (1AAFH),A
00111110 00000000 3E 00 STR A,00H
00010111 17 SLC A
00110010 00011010 10101110 32 1A AE STR (1AAEH),A
24/06/2013 32
DIRECCIONES DE LOS CÓDIGO DE MÁQUINA
DIRECCIÓN EN HEX.
CÓD. DE MÁQ. EN HEX.
0000 AF
0001 C6 93
0003 C6 72
0005 32 1A AF
0008 3E 00
000A 17
000B 32 1A AE000B 32 1A AE
24/06/2013 33
ENSAMBLADO PARA OBTENER EL ARCHIVO .HEX
CLR AADD A,93HADD A,72HSTR (1AAFH),ASTR A 00H :0E000000AFC693C672321AAF3E0017321AAE76
PROGRAMA
STR A,00HSLC ASTR (1AAEH),A
:0 000000 C693C6 3 3 00 3 6:00000001FF
FILE1.ASM FILE1.HEX
PROGRAMA ENSAMBLADOR
Ejemplo: j pASM51.EXE
MÓDULO FUENTE Programa en
MÓDULO OBJETO Programa en códigos
24/06/2013 34
mnemónicos de máquina
ENSAMBLADO Y ENLAZADOENSAMBLADO Y ENLAZADO
FILE1.ASM
PROGRAMA ENSAMBLADOR
Ejemplo: FILE1.OBJ
PROGRAMA ENLAZADOR
Ejemplo: FILE1.HEXj pAVMAC51.EXE
j pAVLINK.EXE
FILE2.ASMENSAMBLADO
previamente FILE2.OBJFILE2.ASM previamente FILE2.OBJ
FILE3.ASMENSAMBLADO
previamente FILE3.OBJ
MÓDULO
MÓDULOS FUENTES
MÓDULOS OBJETOS “RELOCALIZABLES”
OBJETO CON DIRECCIONES ABSOLUTAS
24/06/2013 35
FUENTES RELOCALIZABLES ABSOLUTAS
GRABACIÓN DEL PROGRAMA ENGRABACIÓN DEL PROGRAMA EN UNAMEMORIA TIPO ROMUNA MEMORIA TIPO ROM
FILE1 HEXFILE1.HEX
O OMEMORIA O MICROCONTROLADOR
CONTENIENDO LOS
24/06/2013 36
CONTENIENDO LOS CÓDIGOS DE MÁQUINA