PDF de programación - Programación en Ensamblador - Estructura de computadores

Imágen de pdf Programación en Ensamblador - Estructura de computadores

Programación en Ensamblador - Estructura de computadoresgráfica de visualizaciones

Publicado el 27 de Julio del 2019
1.682 visualizaciones desde el 27 de Julio del 2019
204,0 KB
81 paginas
Creado hace 13a (08/09/2010)
Estructura de computadores
Programación en Ensamblador

LENGUAJE MÁQUINA
• Juego de instrucciones. Formatos
• Tipos de datos
• Modos de direccionamiento
• Tipos de instrucciones

ARQUITECTURA DEL 88110

• Banco de Registros
• Memoria principal
• Modos de direccionamiento
• Juego de instrucciones

LENGUAJE ENSAMBLADOR

• Sintaxis
• Mnemónicos y etiquetas
• Instrucciones y pseudoinstrucciones
• Macros

PROGRAMACIÓN EN ENSAMBLADOR

• Estructuras de datos: - Vectores y Matrices

• Subrutinas: - Paso de parámetros

- Listas

- Marco de pila
- Recursividad

Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid

Problemas y tutorías

1

Programación en Ensamblador

Documentación

1. Transparencias del tema (web)
2. Descripción del emulador 88110 (web+publicaciones)
3. Subrutinas: paso de parámetros y marco de pila (web+publicaciones)
4. Enunciados de problemas (web+publicaciones)

http://www.datsi.fi.upm.es/docencia/Estructura_09

Fundamentos de los computadores

Pedro de Miguel, Paraninfo/Thomson-2006 (capítulo 13)

Estructura de computadores: problemas y soluciones

García Clemente y otros, RAMA-2000 (capítulo 2)

Estructura de computadores: problemas resueltos

García Clemente y otros, RAMA-2006 (capítulo 3)

Solución de problemas:

http://www.datsi.fi.upm.es/88110

Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid

2

Lenguaje Máquina

• Programa está compuesto por datos e instrucciones almacenados en
memoria

•Instrucción máquina: Es la función básica elemental que puede ejecutar
un computador.

•Son cadenas de 1 y 0 (almacenadas en binario) y particulares de cada
computador

•Propiedades:

•Realizan una única y sencilla función
•Tienen un número fijo de operandos
•Autocontenidas: Contienen todo lo necesario para su ejecución
(operación, operandos, dir. Resultado y dir. Sig instrucción)

Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid

3

Juego de instrucciones

• Conjunto de instrucciones que ejecuta directamente el computador.

•La codificación de las instrucciones deben encajar en pocos formatos.

•Formato de instrucción: Representación de una instrucción y
especificación de cada campo:

•Código de operación
•Operandos (direcciones)

Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid

4

Tipos de datos

• Tipos de datos que maneja una instrucción:

•Palabras: Es el tamaño privilegiado del computador (4 bytes)
•Medias palabras (2 bytes)
•Bytes: Cadenas de caracteres.

•Acceso a memoria:

•Direccionable a nivel de palabra. Cada palabra tiene una dirección.

•Direccionable a nivel de byte. Cada byte de memoria tiene una
dirección.

•Dos palabras consecutivas están separadas por el tamaño en
bytes de la palabra.

•Es el utilizado habitualmente.

Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid

5

Tipos de datos

•Alineamiento a palabra. La dirección para el acceso a palabra debe ser
múltiplo del tamaño de la misma.

•Ordenación de los bytes de una palabra en memoria.

•Little-Endian: Byte menos significativo de una palabra en la dirección
menos significativa.

•Big-Endian: Byte menos significativo de una palabra en la dirección
más significativa.

Palabra: 0x10203040

Little-Endian

100
40

101
30

102
20

103
10

Big-Endian
100
10

101
20

102
30

103
40

Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid

6

Modos de direccionamiento

•Forma en la que se accede a una instrucción o dato.

•OBJETO: Instrucción o dato al que se desea acceder

•DIRECCIÓN: Lugar en el que reside el objeto. Puede estar almacenado
en:

•La instrucción.
•Registro
•Memoria

Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid

7

Direccionamiento Inmediato

• El objeto está contenido en la propia instrucción.

Instrucción

Objeto

• ADD .R1,#4

R1 R1 + 4

Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid

8

Direccionamiento Directo

• El objeto no está contenido en la propia instrucción. La instrucción
contiene el lugar (dirección) donde está almacenado el objeto.

•ABSOLUTO: Si la instrucción contiene la dirección completa del objeto

•RELATIVO: Si la instrucción contiene la dirección del objeto de forma
parcial. Todos los direccionamientos relativos lo son a memoria.

Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid

9

Direccionamiento Directo

Absoluto a Registro

• El objeto del direccionamiento está contenido en un registro. La
instrucción contiene el registro que contiene el objeto del direccionamiento.
•ADD .R4,.R5

R4 R4+R5

Instrucción
D

Registros

Objeto

Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid

10

Direccionamiento Directo

Absoluto a Memoria

• El objeto del direccionamiento está contenido en una dirección de
memoria. La instrucción contiene la dirección completa de memoria que
contiene el objeto del direccionamiento.
•LD .R4,/1000

R4 M(1000)

Instrucción
D

Memoria

Objeto

Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid

11

Direccionamientos Relativos

• El objeto del direccionamiento está contenido en una dirección de
memoria. La instrucción contiene la dirección especificada en “partes”.

•Dependiendo de cómo se especifique la dirección:

•Relativo a registro base
•Relativo a PC
•Relativo a registro índice

Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid

12

Direccionamiento Relativo

a Registro Base

• La dirección de memoria viene especificada en dos partes:

•Registro Base: Registro de propósito específico o general que
contiene una dirección a memoria.
•Desplazamiento: Valor entero con signo.

•La dirección efectiva se calcula:

Dir_Efectiva = Registro_Base + Desplazamiento

Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid

13

Direccionamiento Relativo

• LD .R1,#4[.R7]

a Registro Base
R1 MEM(R7+4)

•El registro base se carga una dirección de memoria que contiene un
conjunto de datos a los que se accede conociendo su posición relativa
frente al comienzo de dicha zona: Estructuras de datos.

•El rango de direcciones al
que se puede acceder está
limitado por el tamaño del
desplazamiento.

DR

desp

Instrucción

Registros CPU

+

D
i
r
.


E
f
e
c
t
i
v
a

Memoria

Objeto

Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid

14

Direccionamiento Relativo

a PC

• Es un direccionamiento relativo a registro base en el que el registro base
es el PC.

•El objeto de este direccionamiento suele ser direccionar instrucciones.

•Permite alcanzar instrucciones “cercanas” a la que se está ejecutando.

•Ejecución de saltos
“cortos”
•BR $10

PC PC + 10

Instrucción

D
i
r
.


E
f
e
c
t
i
v
a

Memoria

Objeto

PC

+

Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid

15

Direccionamiento Relativo

a Registro Índice

• Es un direccionamiento relativo a registro base en el que el registro base
se modifica:

•Preincremento

•Predecremento

•Postincremento

R1 MEM(R7+8)
R1 MEM(R7+8)

•LD .R1,#8[++.R7]
•LD .R1,#8[--.R7]
•LD .R1,#8[.R7++]
•LD .R1,#8[.R7--]

R7 R7+4
R7 R7-4
R1 MEM(R7+8) R7 R7+4
R1 MEM(R7+8) R7 R7-4
•El tamaño del incremento/decremento es igual al tamaño del objeto
transferido
•Útil para recorrer vectores y matrices

•Postdecremento

Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid

16

Direccionamiento Indirecto

• La instrucción contiene la dirección donde está contenida la dirección
donde se almacena el objeto.

a Registro

•La instrucción contiene la especificación del registro que contiene la
dirección de memoria donde está almacenado el objeto
•LD .R1,[.R4]
R1 MEM(R4)

Instrucción
D

Registros

Memoria

Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid

Objeto

17

Direccionamiento Indirecto

a Memoria

• La instrucción contiene una dirección de memoria donde está contenida la
dirección donde se almacena el objeto.
•LD .R1,[/1000]
R1 MEM(MEM(1000))

Instrucción
D

Memoria

Objeto

Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid

18

Direccionamiento Implícito

• La instrucción no contiene ni la dirección ni el objeto que se usa en el
direccionamiento.

•En máquinas de acumulador
•ADDA .R1
A A + R1

Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid

19

Juego de instrucciones

• Conjunto de instrucciones del computador.

•“Herramientas” con las que construir programas

•Debe ser completo y eficaz.

•Tipos:

• Transferencia

•Bifurcaciones

•Aritméticas

•Lógicas

•Desplazamiento y rotación

•De bit

Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid

20

Transferencia de datos

• Mueven datos entre registros, registros y posiciones de memoria y entre
posiciones de memoria.

•No modifican los biestables de estado.

•LD, ST y MOVE

•LD .R2, #4[.R4]
•ST .R2, #4[.R4]
•MOVE .R2,.R4
•MOVE [.R2],[.R4]
•PUSH .R1
•POP .R1

•PUSH y POP

R2 MEM(R4+4)
MEM(R4+4) R2
R4 R2
MEM(R4) MEM(R2)
SP SP-4;MEM(SP) R1
R1 MEM(SP); SP SP + 4

Dpto. Arquitectura y Tecnología de Sistemas Informáticos.
Universidad Politécnica de Madrid

21

Bifurcaciones

• Modifican la secuencia del programa. Lo habitual es que la siguiente
instrucción que se ejecuta sea la siguiente en secuencia. En este caso no
es así.
  • Links de descarga
http://lwp-l.com/pdf16378

Comentarios de: Programación en Ensamblador - Estructura de computadores (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad