36
[email protected] 1 PROGRAMAS EN LOS PROGRAMAS EN LOS MICROPROCESADORES MICROPROCESADORES Y SU ELABORACIÓN Y SU ELABORACIÓN Elaborado por: Ing. Jaime E. Velarde

06 Elaboración de Programas

Embed Size (px)

DESCRIPTION

Ejecución del programa en un microprocesador de 8 bits

Citation preview

Page 1: 06 Elaboración de Programas

[email protected]

1

PROGRAMAS EN LOS PROGRAMAS EN LOS MICROPROCESADORESMICROPROCESADORES

Y SU ELABORACIÓNY SU ELABORACIÓN

Elaborado por: Ing. Jaime E. Velarde

Page 2: 06 Elaboración de Programas

[email protected]

2

EL CONTENIDO DE LA MEMORIA ES EL PROGRAMA QUE EJECUTA EL MICROPROCESADOR

Page 3: 06 Elaboración de Programas

[email protected]

3

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

Page 4: 06 Elaboración de Programas

[email protected]

4

INSTRUCCIÓN DE UN SOLO BYTE

Page 5: 06 Elaboración de Programas

[email protected]

5

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

Page 6: 06 Elaboración de Programas

[email protected]

6

INSTRUCCIÓN DE DOS BYTES

Page 7: 06 Elaboración de Programas

[email protected]

7

INSTRUCCIÓN COMPLETA, CÓDIGO DE OPERACIÓN MÁS EL OPERANDO

Page 8: 06 Elaboración de Programas

[email protected]

8

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

Page 9: 06 Elaboración de Programas

[email protected]

9

INSTRUCCIÓN DE DOS BYTES

Page 10: 06 Elaboración de Programas

[email protected]

10

INSTRUCCIÓN COMPLETA, CÓDIGO DE OPERACIÓN MÁS EL OPERANDO

Page 11: 06 Elaboración de Programas

[email protected]

11

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

Page 12: 06 Elaboración de Programas

[email protected]

12

INSTRUCCIÓN DE TRES BYTES

Page 13: 06 Elaboración de Programas

[email protected]

13

INSTRUCCIÓN COMPLETA, CÓDIGO DE OPERACIÓN MÁS EL OPERANDO

Page 14: 06 Elaboración de Programas

[email protected]

14

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

Page 15: 06 Elaboración de Programas

[email protected]

15

INSTRUCCIÓN DE DOS BYTES

Page 16: 06 Elaboración de Programas

[email protected]

16

INSTRUCCIÓN COMPLETA, CÓDIGO DE OPERACIÓN MÁS EL OPERANDO

Page 17: 06 Elaboración de Programas

[email protected]

17

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

Page 18: 06 Elaboración de Programas

[email protected]

18

INSTRUCCIÓN DE UN SOLO BYTE

Page 19: 06 Elaboración de Programas

[email protected]

19

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

Page 20: 06 Elaboración de Programas

[email protected]

20

INSTRUCCIÓN DE TRES BYTES

Page 21: 06 Elaboración de Programas

[email protected]

21

INSTRUCCIÓN COMPLETA, CÓDIGO DE OPERACIÓN MÁS EL OPERANDO

Page 22: 06 Elaboración de Programas

[email protected]

22

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

Page 23: 06 Elaboración de Programas

[email protected]

23

EL RESULTADO OCUPA DOS LOCALIDADES DE MEMORIA

Page 24: 06 Elaboración de Programas

[email protected]

24

SUMA DE 93H CON 72H IGUAL A 105H

Page 25: 06 Elaboración de Programas

[email protected]

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

Page 26: 06 Elaboración de Programas

[email protected]

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

Page 27: 06 Elaboración de Programas

[email protected]

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

Page 28: 06 Elaboración de Programas

[email protected]

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

Page 29: 06 Elaboración de Programas

[email protected]

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

Page 30: 06 Elaboración de Programas

[email protected]

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)

Page 31: 06 Elaboración de Programas

[email protected]

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

Page 32: 06 Elaboración de Programas

[email protected]

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

Page 33: 06 Elaboración de Programas

[email protected]

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.

Page 34: 06 Elaboración de Programas

[email protected]

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

Page 35: 06 Elaboración de Programas

[email protected]

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

Page 36: 06 Elaboración de Programas

[email protected]

36

FILE1.HEX

MEMORIA O MICROCONTROLADOR

CONTENIENDO LOS CÓDIGOS DE MÁQUINA

GRABACIÓN DEL PROGRAMA EN UNA MEMORIA TIPO ROM