Ensamblador. Introducción. Dpto. Física y Arquitectura de Computadores. Universidad Miguel Hernandez

Documentos relacionados
8.4. El software en los μprocesadores

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Arquitectura intel Preámbulo de OSO para alumnos formados en el procesador MIPS. Asignatura Sistemas Operativos Murcia abril de 2005

Análisis general de un Microprocesador

Ejercicios del tema 4. El procesador

Instrucciones de Control de Flujo y Usos de la Pila

El Diseño de un Lenguaje Máquina

Conceptos de Arquitectura de Computadoras Curso 2015

Práctica 4 - Arquitectura CPU

Resumen de las instrucciones del 8086/8088

El nivel ISA (II)! Conjunto de Instrucciones

Tema 5: La pila, las macros y los procedimientos

Fecha de Introducción. Velocidad de reloj. Anchura del bus. Número de transistores. (microns) Memoria direccionable.

Relación de Problemas I

Funcionamiento de la Pila (o stack)

LECCIÓN 14: DISEÑO DE COMPUTADORES MEDIANTE MICROPROGRAMACION

Clasificación del procesador según el número de referencias a memoria.

Programación de Sistemas. Unidad 1. Programación de Sistemas y Arquitectura de una Computadora

Ciclos de máquina. Otro ejemplo: decremento de un registro par (donde rp = HL, DE, BC, SP) DCX rp

Contenido. Conjunto de Instrucciones. Formato de la Instrucción. Instrucciones de 1 byte. Formato de la Instrucción 28/09/2011

3 - Arquitectura interna de un up

Tema 4. Lenguaje máquina y lenguaje ensamblador

Arquitectura de Computadores. Apellidos, Nombre:

Tema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel.

SISTEMAS OPERATIVOS Arquitectura de computadores

Intel Arquitectura. Programación en Ensamblador Ing. Marcelo Tosini

Departamento de Sistemas e Informática

Tema 2: Lenguaje máquina. La interfaz entre el hardware y el software

Estructura y Tecnología de Computadores. Módulo C. Arquitectura del procesador. Tema 4. Modos de direccionamiento y tipos de datos

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Tema 4. Lenguaje máquina y lenguaje ensamblador

FUNCIONAMIENTO DEL ORDENADOR

Tema 2. Diseño del repertorio de instrucciones

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones

Estructura del Computador

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

Tema 2. El lenguaje JAVA

UISRAEL FACULTAD DE ELECTRÓNICA 1. Traducción del manual al español GNUSIM8085. Charles Escobar

Introducción a la Programación en Lenguaje Ensamblador.

Comparaciones en lenguaje ensamblador

Tema 5. Presentación de datos por pantalla

Objetivo. Introducción. Tema: GENERACION DE CODIGO. Compiladores, Guía 11 1

Trabajo Práctico Nro 3: Assembler

Arquitectura de Computadores II Clase #3

Tema 3: ASCII y operaciones de desplazamiento y lógicas

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.

Introducción a la arquitectura de computadores

1.2.- EL MICROPROCESADOR.

Práctica 4. Organización del Computador 1 12 de septiembre de Algunas consideraciones preliminares:

Construyendo Programas más Complejos

Arquitectura (Procesador familia 80 x 86 )

Paso de parámetros y gestión del marco de pila

EJERCICIOS con ORDENADOR

Oliverio J. Santana Jaria. Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Los objetivos de este tema son:

Tema 5. Estructura de datos Pila

Intel 8086 modelo básico (primera parte) Registros:

Tema 4: Lenguaje máquina - Lenguaje ensamblador

Tema 5.1: Presentación de datos en pantalla

1 La figura 1 muestra la estructura de la CPU de un computador con palabras y direcciones de 32 bits, cuya

Práctica 1. Introducción a la programación en ensamblador

Aprendiendo Sistemas Operativos: Programación de Procesadores de Arquitectura IA-32

Arquitectura de Computadores

Estructura de Computadores

Aritmética de Enteros

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Tema 4. Operadores y Expresiones

Pregunta correcta= 0,3 Pregunta no contestada= 0 Pregunta incorrecta (tipo test)= -0,15

MODULO II: ARQUITECTURA DEL PROCESADOR

Procesador. Memoria. Ejemplo de un Procesador: MU0. Instrucciones. Direcciones. Registros. Datos. Instrucciones y datos SETI Tr.

TAREA 1 ARITMETICA PARA BCD Y ASCII.

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Entorno de Ejecución del Procesador Intel Pentium

Instrucción De Salto Incondicional

TEMA 4. ARQUITECTURA IA-64

Operadores. Javier Fernández Rivera -

La arquitectura CISCA

Tema 2. Presentación de datos por pantalla. La ROM-BIOS

Guía de programación ATMega328pa

TEMA III: OPERACIONES CON LOS DATOS

Entrada/Salida. Polling e Interrupciones. Verano de Mariano Moscato. Organización del Computador 1

El microprocesador de 8 bits Z80

La arquitectura del 8086/8088

Definición de Memoria

Organización del Computador I 1er. Parcial 17-Mayo Turno:

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

Tema: Microprocesadores

Alonso Ramírez Manzanares Computación y Algoritmos 10.03

2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIFICADORES COMO LOCALIDADES DE MEMORIA

CAPÍ TULO III. La Pantalla... y más

SISTEMAS BASADOS EN MICROPROCESADOR 2º Grado Ingeniería Informática (EPS UAM) EXAMEN FINAL EXTRAORDINARIO JULIO 2013 ENUNCIADO DEL PROBLEMA

La Pila en los Procesadores IA-32 e Intel c 64

ENSAMBLADOR DE ARCHIVO TASM MASM NASM GAS. Características de un Ensamblador de Archivo

Departamento de Ingeniería de Sistemas y Automática. STEP 7. Juego de instrucciones

Ejercicios de Arquitectura de Computadoras

Convenciones. Introducción. Unidades principales en la implementación. El procesador: camino de datos y control. Tipos de elementos:

EL MICROPROCESADOR INTRODUCCION

Apellidos Nombre DNI

7. Modos de direccionamiento

Transcripción:

Dpto. Física y Arquitectura de Computadores Universidad Miguel Hernandez

Es el lenguaje de más bajo nivel que admite una máquina. El ensamblador hace que el código binario(máquina sea transparente al usuario) 2

Repertorio 3

Nomenclatura r1 y r2: Hacen referencia a uno de los registros A,B,C,D,E Dir: Expresa una dirección de memoria comprendida entre 0000 16 y FFFF 16 (64Kb) #n: es un número de interrupción o de puerto según la instrucción Dato: representa un valor de 8 bits, excepto para la instrucción MVI dato que son 16 bits 4

Longitud instrucción En MaNoTas podemos encontrar instrucciones de 1,2 ó 3 bytes. Para saber cuantos bytes ocupa una instrucción: Instrucción sin operandos -> 1 byte Instrucción tipo nominstruccion r1,r2 -> 1 byte Instrucción tipo nominstruccion dato,r1 -> 2 bytes (Mvi-> 3 bytes) Instrucción tipo nominstruccion #n -> 2 bytes Instrucción tipo nominstruccion dir -> 3 bytes 5

INSTRUCCIONES DE TRANSFERENCIA 6

Movimiento, carga, almacenamiento de datos: Tenemos 5 registros en MaNoTas de 8 bits sólo el registro A (Acumulador) es inmediato a operaciones de y transferencia de datos. No usaremos los registros para almacenar datos definitivos de un programa, sólo para almacenar datos temporales. 7

MOV r1, r2 (Mover) Nos permite mover contenido del registro r1 al registro r2 donde r1 y r2 pueden ser cualquiera de los 5 registros del MaNoTas. MVI dato, r1 (Mover Inmediato) Mueve un dato directamente a un registro. Aquí r1 también puede ser el registro especial de pila (SP (16 bits)) Ojo, con los tamaños de los datos y los registros. it 8

LDA dir (Cargar en A) Mueve el dato contenido en la dirección de memoria dir, al registro A STA dir (Almacenar desde A) Salva en la dirección de memoria especificada por dir, el dato contenido en A. 9

LDAX (Cargar en A desde posición exclusiva D-E) Ensamblador Mueve el contenido de memoria de la dirección especificada por la combinación de los registros D-E a A. La combinación consiste en: El byte de mayor peso de la dirección será el de D, y el byte de menor peso el de E STAX (Almacenar exclusiva) Almacena el contenido de A, en la dirección especificada por D-E 10

Empleo de la PILA Los conjuntos de datos se almacenan siempre en Memoria Estos datos se organizan de diferentes formas dependiendo de su disposición y modo de acceso. FIFO: First in First out LIFO: Last in First out (Pilas) Añadir un elemento (apilar o Push) Quitar un elemento (desapilar o Pop) Registro SP es un puntero a una Pila Cuando apilamos, se incrementa el contador de SP Cuando desapilamos se decrementa 11

PUSH r1 (Apilar) Salva en la dirección especificada por el registro SP el contenido de r1; posteriormente se incrementa SP POP r1 (Extraer) Primero decrementa SP, y copia el contenido de la memoria en r1 12

PUSHF (Apilar registro ) Similar a PUSH, pero apilamos el registro de FLAGS POPF (Desapilar FLAGS) Similar a POP, pero el dato lo metemos en el registro de FLAGS 13

del registro de Estado Ensamblador El RE es un registro especial de 8 bits, en el que se encuentran los estados de flag Z (cero), C (acarreo), O (desbordamiento) e I (interrupción) Su contenido es modificado automáticamente por la al realizar operaciones Para trabajar con este registro necesitamos instrucciones especiales. 14

LFA (Cargar el registro en A) CopiaelcontenidodeREenel de en registro A (Acumulador) SFA (Almacenar desde A) Copia el contenido de A en el registro de (RE) 15

INSTRUCCIONES 16

de la Las instrucciones aritméticas están enfocadas al cálculo aritmetico entre números. Cada vez que la realiza una operación, devuelve el resutado al Acumulador y modifica el Registro de Estado La soporta operaciones como Suma, Resta, incremento, decremento 17

ADD r1 (suma) Suma el contenido del registro A y el contenido del registro r1, llevando el resultado al registro A ADI dato (Suma con inmediato) Suma el contenido del registro A y el valor especificado en dato. El dato debe estar comprendido entre 0 y 255, ya que se trata de 8 bits 18

SUB r1 (Resta) Resta al contenido del registro A y el contenido del registro r1, llevando el resultado al registro A SUI dato (Resta con inmediato) Resta al contenido del registro A y el valor especificado en dato. El dato debe estar comprendido entre 0 y 255, ya que se trata de 8 bits 19

INR r1 (Incrementar) Incrementa el contenido el registro r1 en una unidad. DEC r1 (Decrementar) Decrementa el contenido de r1 en una unidad. 20

CMP r1 (Comparar) Realiza la resta entre A y r1, sin almacenar el resultado, de manera que si la diferencia es 0 significa que ambos registros son iguales, actualizando el Flag Z= 1 Si no son iguales, si la diferencia produjo acarreo significará que el dato de A era menor que el de r1, poniendo el Flag C=1 21

CPI dato (Comparar inmediato) Igual que COMP, pero ahora comparamos con el dato directamente. ANA r1 (And) : Operaciones lógicas Realiza el producto lógico entre A y r1, llevando el resultado a A ANI dato (And inmediato) : Operaciones logicas Realiza el producto lógico entre A y el dato especificado, llevando el resultado a A 22

ORA r1 (Operación Or) Realiza la suma exclusiva entre el contenido de A y el dato especificado, llevando el resultado al registro A. ORI dato (Or inmediato) : Operaciones lógicas Igual que ORA, pero la suma lógica se hace entre A y el dato especificado. XRA r1 (Xor) : Operaciones lógicas Realiza la suma exclusiva entre A y el contenido de r1, modificando A con el resultado. 23

XRI dato (Xor inmediato) Igual que XRA, pero ahora comparamos con el dato directamente. CMA (Complementario) : Operaciones lógicas Realiza el Complementario del contenido del registro A, guardando el resultado en A (NOT A) 24

ESTUDIAR: Ensamblador : Repasar tema 2 libro Desde 2.1 hasta 2.4 incluido Memorias Repasar Tema 5 libro Desde 5.1 hasta 5.5 incluido 25

Problema: Realizar un programa que compruebe si los números contenidos en las posiciones de memoria de la 500 16 a la 504 16 suman 100 26

Solución: ;Cargar datos LDA 500h MOV A,B LDA 501h MOV A,C LDA 502h MOV A,D LDA 503h MOV A,E LDA 504h ADD B ADD C ADD D ADD E CPI 100 JZ [1000h]; si es 100 salta a otro lugar JMP [FFFFh]; salta fin 27