elaboracion de programa

18
PROGRAMAS EN LOS PROGRAMAS EN LOS MICROPROCESADORES MICROPROCESADORES MICROPROCESADORES MICROPROCESADORES Y SU ELABORACIÓN Y SU ELABORACIÓN Y SU ELABORACIÓN Y SU ELABORACIÓN 24/06/2013 1 EL CONTENIDO DE LA MEMORIA ES EL PROGRAMA QUE EJECUTA EL MICROPROCESADOR 24/06/2013 2 MICROPROCESADOR

Upload: leseat-noca

Post on 01-Feb-2016

226 views

Category:

Documents


0 download

DESCRIPTION

digitales

TRANSCRIPT

Page 1: 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

Page 2: elaboracion de programa

CÓDIGO DE OPERACIÓN DE LA PRIMERA INSTRUCCIÓN

24/06/2013 3

INSTRUCCIÓN DE UN SOLO BYTE

24/06/2013 4

Page 3: elaboracion de programa

CÓDIGO DE OPERACIÓN DE LA SEGUNDA INSTRUCCIÓN

24/06/2013 5

INSTRUCCIÓN DE DOS BYTES

24/06/2013 6

Page 4: elaboracion de programa

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

Page 5: elaboracion de programa

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

Page 6: elaboracion de programa

CÓDIGO DE OPERACIÓN DE LA CUARTA INSTRUCCIÓN

24/06/2013 11

INSTRUCCIÓN DE TRES BYTES

24/06/2013 12

Page 7: elaboracion de programa

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

Page 8: elaboracion de programa

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

Page 9: elaboracion de programa

CÓDIGO DE OPERACIÓN DE LA SEXTA INSTRUCCIÓN

24/06/2013 17

INSTRUCCIÓN DE UN SOLO BYTE

24/06/2013 18

Page 10: elaboracion de programa

CÓDIGO DE OPERACIÓN DE LA SÉPTIMA INSTRUCCIÓN

24/06/2013 19

INSTRUCCIÓN DE TRES BYTES

24/06/2013 20

Page 11: elaboracion de programa

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

Page 12: elaboracion de programa

EL RESULTADO OCUPA DOS LOCALIDADES DE MEMORIA

24/06/2013 23

SUMA DE 93H CON 72H IGUAL A 105H

24/06/2013 24

Page 13: elaboracion de programa

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

Page 14: elaboracion de programa

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

Page 15: elaboracion de programa

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

Page 16: elaboracion de programa

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

Page 17: elaboracion de programa

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

Page 18: elaboracion de programa

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