Programación avanzada en Ensamblador. Tareas que realiza el programa ensamblador
|
|
- Juan Francisco Maldonado Lozano
- hace 7 años
- Vistas:
Transcripción
1 Programación avanzada en Ensamblador Cesáreo Fernández Martínez Álvaro Sánchez Miralles Tareas que realiza el programa ensamblador Traduce el fuente.a66 a código máquina.obj mov Rx, Ry mov reg, #dato Código de instrucción Código de instrucción F0 x y Número de GPR E6 reg dato Número de SFR Número de 16 bits Resuelve los valores de las etiquetas Lleva un contador direcciones en memoria de las instrucciones. La etiqueta toma el valor de la dirección de memoria de la instrucción asociada Escribir programa en el editor Fichero *.a66 Ensamblador Código máquina Fichero *.obj Enlazar Librerías.obj Código máquina Fichero *. Ejecutar Título Presentación - 2 1
2 Ejemplo de ensamblador Las etiquetas facilitan la programación en ASS Etiquetas (op) R0,#0 0xfa00,R0 R0,#1 ; r0 (i) R1,#1 ; auxiliar bucle: CMP R0,#5 ; if i>n JMPR cc_sgt,fin ; then goto fin ADD 0xfa00,R1 ; j += 1 ADD R0,#1 ; i += 1 JMPS bucle ; = jmpr cc_uc, fin: Instrucción Operandos Comentarios (opcional) Título Presentación - 3 Números con y sin signo Un número negativo es el que sumado a el mismo positivo da como resultado 0. Cómo hacerlo? Ejemplo en 16 bits: 0xFFFF + 0x0001 = 0x0000 (ya que el resultado no cabe en 16 bits) Número + 0x0001 (1) 0x0002 (2) 0x0003 (3) Número - 0xFFFF (-1) 0xFFFE (-2) 0xFFFD (-3) Ejemplo en 8 bits: 0xFF + 0x01 = 0x00 (ya que el resultado no cabe en 8 bits) Título Presentación - 4 2
3 Números con y sin signo Aritmética en Coma fija complemento a 2 Números positivos: bit más significativo (bit 15) a 0. Números negativos: bit más significativo (bit 15) a 1. número _ negativo = 2 0xFFFE = 2 número_ de _ bits 16 0x0002 número _ positivo Overflow (Flag V del registro PSW) Cuando operando dos números positivos se obtiene un número negativo 0x7FFF + 0x0001 = 0x8000 ( Overflow ; V = 1) 0x7FFE + 0x0001 = 0x7FFF (V = 0) Carry (Flag C del registro PSW) Cuando operando dos números no cabe el resultado en 16 bits 0x x8000 = 0x0000 ( Carry ; C = 1) 0x x7FFF = 0xFFFF (C = 0) Título Presentación - 5 Números con y sin signo Cómo se calcula un número negativo? En decimal se aplica la formula cual es el negativo de 2 en 8 bits? número _ negativo = 2 número_ de _ bits número _ positivo 254 = En binario o hexadecimal ( B) Se hace el complemento a 1 del número ( B) Se le suma uno ( B) El número negativo de 2 en 8 bits es el 254 ó 0xFE ó B. Como el micro sólo entiende de 0's y 1's cuando hay un número en la memoria (por ejemplo ) Qué significa? Si se interpreta con signo es el número negativo de 2 ó -2 Si se interpreta sin signo es el número 254 Depende del programador y de las instrucciones que use el que le da una interpretación u otra. Título Presentación - 6 3
4 Instrucción. Directo a registro r0,r1 ; R0 <- R1 Inmediato r0,#3 ; R0 <- 3 (no olvidar #!) directo a memoria r0,0fa00h ; R0 <- Mem[fa00 H] Indirecto ( normal, post-incremento, pre-decremento) r0,[r1] ; R0 <- Mem[R1] (R1 Puntero) r0,[r1+] ; R0 <- Mem[R1], R1 <- R1 + 2 r0,[-r1] ; R1 <- R1-2, R0 <- Mem[R1] r0,[r1+#4] ; R0 <- Mem[R1+#4] A nivel de byte B rl0,#3 ; R0 <- 3 B rh0,[r1+] ; R0 <- Mem[R1], R1 <- R1 + 1 Título Presentación - 7 Mov con extensión de signo. Extensión de signo BZ Carga el byte en parte baja, extiende (a los 16 bits) con ceros BZ R0,#0xFF ; r0 <- 0x00FF BZ R0,#-1 ; r0 <- 255 no respeta el signo BS Carga el byte en parte baja, extiende (a los 16 bits) con bit de signo BS R0,#0xFF ; r0 <- 0xFFFF BS R0,#-1 ; r0 <- -1 respeta el signo 8 bits con signo 8 bits sin signo 16 sin extender signo 16 bits extendiendo signo 0xFF 0x (0x00FF) 128 (0x0080) -1 (0xFFFF) -128 (0xFF80) Título Presentación - 8 4
5 Programando con etiquetas (para datos) La pseudoinstrucción EQU permite dar nombres a los distintos datos de programa Variables (posiciones de memoria, ej 0fa00h) var1 equ 0fa00h var2 equ 0fa01h Constantes B B B B RL0,var1 RL1,var2 var2,rl0 var1,rl1 Cómo se sabe si el 1 es una constante o una variable? el_uno equ 1 B RL0,#el_uno Título Presentación - 9 Little/Big Endian En la operación (16 bits) mov r0,0fa00h ; R0 <- Mem[fa00 H] Little-Endian: el byte (8 bits) almacenado en la posición 0fa00H Va a la PARTE BAJA del REGISTRO (a RL0) El byte almacenado en 0xfa01 va a la PARTE ALTA (RH0) El C167 es un Little-Endian En los procesadores MOTOROLA Al revés En ambos casos NO se permite extraer un word (16 bits) de una dirección impar de memoria. Título Presentación
6 Instrucciones aritméticas Instrucción ADD Suma a nivel de word (16b) Ej: ADD Rx, op ; Rx <- Rx + op ADD ADD R0,#0x0001 0xFA00,R0 R0,#0x0009 0xFA00,R0 Instrucción ADDB Suma a nivel de byte ADDB R0,#0x0001 Rh0,#0x01 Título Presentación - 11 Instrucciones aritméticas Instrucción SUB Resta a nivel de word (16b) Ej: SUB Rx, op ; Rx <- Rx - op SUB ADD R0,#0x01FF 0xFA00,R0 R0,#0x0009 0xFA00,R0 Instrucción SUBB Resta a nivel de byte SUBB R0,#0x01FF Rh0,#0x01 Título Presentación
7 Instrucciones aritméticas Instrucción NEG Complemento a dos de un número Un cambio de signo NEG Rx ; Rx <- 0 - Rx R0,#0x01FF NEG R0 Instrucción NEGB Cambio de signo a nivel de byte NEGB R0,#0x01FF Rl0 Título Presentación - 13 Instrucciones aritméticas Instrucción MUL Multiplica dos números con signo Resultado en 32 bits en el registro MD MDL: Parte baja de MD (16 bits). MDH: Parte alta de MD (16 bits). MUL Rx, Ry ; [MDH, MDL] <- Rx * Ry Instrucción MULU Multiplica dos números sin signo MUL MULU R0,#0xFFFF R1,#0xFFFF R0,R1 R2,MDL R3,MDH R0,R1 Qué vale MDL, MDH, R2 y R3? Título Presentación
8 Instrucciones aritméticas Instrucción DIV Divide dos números (MDL y un GPR) con signo Resultado en dos registros de 16 bits MDL: Almacena el cociente de la división (16 bits). MDH: Almacena el resto de la división (16 bits). DIV Rx ; MDL <- MDL / Rx MDH <- MDL mod Rx Instrucción DIVU Divide dos números sin signo DIV DIVU R3,#0xFFFF MDL,R3 R0,#0x0001 R0 R1,MDL R2,MDH R3,#0xFFFF MDL,R3 R0 Qué vale MDL, MDH, R1 y R2? Título Presentación - 15 Instrucciones lógicas Instrucción AND Realiza un AND bit a bit de dos números Ej: AND Rx, op ; Rx <- Rx and op AND R0,#0x0001 R0,#0x0009 Sirve como máscara: una especie de filtro para seleccionar únicamente ciertos bits de un registro AND R0,#0xFFFD Se quiere poner el bit 1 del registro R0 a 0. O lo que es lo mismo, se seleccionan el resto de bits del registro R0 Título Presentación
9 Instrucciones lógicas Instrucción OR Realiza un OR bit a bit de dos números Ej: OR Rx, op ; Rx <- Rx or op OR R0,#0x0001 R0,#0x0009 Sirve como máscara: una especie de filtro para seleccionar únicamente ciertos bits de un registro Se quiere poner el bit 1 del registro R0 igual que el bit 1 del registro R1. OR R0,#0x0002 Se quiere poner el bit 1 del registro R0 a 1. O lo que es lo mismo, se seleccionan el resto de bits del registro R0 AND R0,#0xFFFD ; se pone a 0 el bit 1 de R0 R2,R1 ; para no modificar R1 AND R2,#0x0002 ; se selecciona el bit 1 de R2 OR R0,R2 ; R0.1 = R2.1 = R1.1 Título Presentación - 17 Instrucciones lógicas Instrucción XOR Realiza un XOR bit a bit de dos números Ej: XOR Rx, op ; Rx <- Rx xor op Si se usa con 0xFFFF se cambian todos los bits de un registro XOR R0,#0x0101 R0,#0xFFFF ; R0 <- 0xFEFE Instrucción CPL Realiza el complemento a 1 de un número CPL Rx ; Rx <- complemento a 1 de Rx R0,#0x0101 CPL R0 ; R0 <- 0xFEFE Título Presentación
10 Desplazamientos SHL (SHift Left) o SHR (SHift Right) SHL Rx, #num Desplaza num veces a la izquierda los bits de Rx SHL Rx, Ry Desplaza a la izquierda Rx, el número de posiciones indicadas en Ry Introduce ceros por la derecha 0 SHL Rx 16 bits R0,#0x0001 R0,#9 Se quiere poner el bit 1 del registro R0 igual que el bit 0 del registro R1. AND R0,#0xFFFD ; se pone a 0 el bit 1 de R0 R2,R1 ; para no modificar R1 AND R2,#0x0001 ; se selecciona el bit 0 de R2 SHL R2,#1 ; el bit 0 pasa a ser el bit 1 OR R0,R2 ; R0.1 = R2.1 = R1.1 C Título Presentación - 19 Rotaciones ROL (ROtate Left) o ROR (ROtate Right) ROL Rx, #num Desplaza num veces a la izquierda los bits de Rx Rota los bits usando el bit de carry C ROL Rx, Ry Desplaza a la izquierda Rx, el número de posiciones indicadas en Ry Rota los bits usando el bit de carry C Rx 16 bits C ROL R0,#0x8001 R0,#9 Título Presentación
11 Control de flujo de programa. Saltos. Comparación Ej: CMP Rx, Ry ; Actualiza PSW como una resta Rx - Ry Saltos JMPR va precedido de CMP (compara), de forma que después de comparar se realiza el salto según una condición. next: JMPR: Jmpr Jmpr Jmpr Jmpr Jmpr Jmpr... CMP R0,R1 JMPR cc_ugt,next ;si R0 > R1... cc_eq, dir (equal, salta si igual) cc_uc, dir (unconditional, salta siempre) cc_ne, dir (not equal, salta si no igual) cc_ugt, dir (unsigned greater than) cc_sgt, dir (signed greater than) cc_ule, dir (unsigned less or equal) Título Presentación - 21 Saltos a nivel de bit Salto si el bit está a 1 JB bit, dir Salto si el bit está a 0 JNB bit, dir Consideraciones Sólo en zonas bit a bit No necesitan CMP antes SFR s SFRs acceso bit a bit SFRs Acceso bit a bit GPRs FFFF FF00 FE00 FD00 RAM FC00 STACK F600 next: JB C,next ;si C = 1 salta next... Título Presentación
12 move a nivel de bit Poner un bit a 1 BSET bit ; bit = 1 ;activa bit 1 del P2 Poner un bit a 0 BSET P2.1 ; BCLR bit ; bit = 0 BCLR C ; Carry = 0 Mover un bit B V,C ; V=C B bit1, bit2 ; bit1 = bit2 Lógicas (a nivel de bit) BAND bit1, bit2 ; bit1 <- bit1 and bit2 BOR bit1, bit2 ; bit1 <- bit1 or bit2 BXOR bit1, bit2 ; bit1 <- bit1 xor bit2 Consideraciones Sólo en zonas bit a bit Título Presentación - 23 C y Ensamblador if ( ) Alto nivel if (a == b)...; else...; Ensamblador else: endif: R0,a CMP R0,b JMPR cc_ne,else ; condición if.. JMPR cc_uc,endif ; condición else.. Título Presentación
13 Bucles for ( ) Alto nivel for (i=start; i <= STOP; i++){ a = STOP - i; Ensamblador R0,#START ; r0 (i) R1,#STOP SUB R1,R0 ; r1 (STOP-START) JMPR cc_uc,test for: a,r1 SUB R1,#1 ADD R0,#1 ; i += 1 test: CMP R0,#STOP JMPR cc_slt,for ; i <= STOP next: Título Presentación - 25 Otro ejemplo while ( ) Alto nivel Ensamblador i = 0; while (i<10) { a[i] = i; i += 1; } R0,#0 ; R0 es i R1,#1 ; es el incremento de i R2,#0xfa00 ;R2 almacena la dirección de memoria de a otro: CMP R0,#10 JMPR cc_sge,next [R2],R0 ADD R0,R1 ADD R2,#2 JMPR cc_uc,otro next: Título Presentación
14 Directivas. Pseudoinstrucciones Las directivas a usar en el while anterior : Sección de datos D100 en dirección 0x200 $nonsegmented maxdata equ 0x10 ; constante D100 section data at 200H j dsw 10 ; array de datos D100 ends Procedimiento ej1 Sección de código ej en dirección 0x300 ej section code at 300H ej1 proc NEAR R0,#0 R1,#1 R2,#j otro: CMP R0,#maxdata JMPR cc_sge,next [R2],R0 ADD R0,R1 ADD R2,#2 JMPR cc_uc,otro next: NOP ej1 endp ej ends end Final de programa Título Presentación - 27 Directivas. Pseudoinstrucciones El ensamblador de Keil (Siemens) no tiene ORG! Section: Comienzo de una sección De código (programa) ó datos, a partir de una POS de memoria Ends: Cierra la sección Proc : Comienzo de un procedimiento (subrutina/función) Endp: Cierra el procedimiento dsw: Reserva espacio para un word (dsb: para un byte) equ: Fuera de las secciones Define una constante/variable (para esto último se prefiere dsw) Título Presentación
15 Subrutinas (funciones) f(x), ejemplo pow2(x) Alto nivel pot = pow2(n); Ensamblador R1,#n ; main call pow2 ; llamada (pow2).. Pow2: R0,#1 ; 2^n SHL R0,R1 RET ; Vuelta a main Título Presentación - 29 Subrutinas: stack Cómo se encuentra la dirección de vuelta de una subrutina? Está almacenada en el STACK CALL <- - 2 ; (Stack Pointer) FC00 FBFE () <- IP ; almacena la dir de vuelta en el stack FC00 FBFE IP IP <- pow2 ; IP apunta a la dirección de pow2 (primera instrucción) RET IP <- () FC00 FBFE IP <- + 2 ;Todo queda como estaba antes de llamar a pow2 FC00 FBFE Título Presentación
16 Push y Pop PUSH R0 <- - 2 FC00 FBFE () <- R0 ; guarda R0 en el stack FC00 FBFE R0 POP R0 R0 <- () FC00 FBFE R0 <- + 2 ; recupera R0 (vacía stack) FC00 FBFE Push y Pop sirven para poder reutilizar los GPR s en las funciones llamadas (dentro de la función se comportan como las variables locales de C) Título Presentación
SISTEMAS ELECTRÓNICOS DIGITALES
SISTEMAS ELECTRÓNICOS DIGITALES Autores: Fernández Martínez Cesáreo Sánchez Miralles Álvaro Capítulo 1 Filosofía del libro 5 Capítulo 2 Arquitectura de un micro 6 1 Introducción 6 2 Objetivos y conceptos
Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones
Introducción a la Computación Capítulo 10 Repertorio de instrucciones: Características y Funciones Que es un set de instrucciones? La colección completa de instrucciones que interpreta una CPU Código máquina
Conceptos de Arquitectura de Computadoras Curso 2015
PRACTICA 1 Assembly, Instrucciones, Programas, Subrutinas y Simulador MSX88 Objetivos: que el alumno Domine las instrucciones básicas del lenguaje assembly del MSX88. Utilice los diferentes modos de direccionamiento.
El Diseño de un Lenguaje Máquina
Arquitectura de Ordenadores Juego de Instrucciones del Procesador Intel Pentium Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática El Diseño de un Lenguaje
ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES
Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Repertorio de instrucciones y modos de direccionamiento: conceptos básicos Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa
62/8&,21(6$/(;$0(1'( /$%25$725,2'((6758&785$6'(/26&20387$'25(6 &8562)(%5(52
62/8&,21(6$/(;$0(1'( /$%25$725,2'((6758&785$6'(/26&20387$'25(6 &8562)(%5(52 3DUWHGH(QVDPEODGRU 4º) Escribir un programa en ensamblador que pida un número de una cifra por teclado y saque como resultado
8.4. El software en los μprocesadores
8.4. El software en los μprocesadores Ejemplo de comandos de la CPU: Tarea: Sumar dos números A y B. Suponer los datos A y B almacenados en las posiciones 1000 2 y 1010 2 respectivamente. El resultado
ENSAMBLADOR DE ARCHIVO TASM MASM NASM GAS. Características de un Ensamblador de Archivo
ENSAMBLADOR DE ARCHIVO TASM MASM NASM GAS Características de un Ensamblador de Archivo Traduce de Leng Ensamblador a Lenguaje máquina Permite definición de etiquetas Reserva memoria para variables octales
ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones
ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones Instruction Set Architecture (ISA) Arquitectura del conjunto de instrucciones software Conjunto de instrucciones hardware Universidad
Construyendo Programas más Complejos
Arquitectura de Ordenadores Construcciones de Alto Nivel en Ensamblador Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Construyendo Programas más
Lección 2 Introducción al lenguaje C
Lección Introducción al lenguaje C Decimal Binario Hexadecimal A B C D E F Octal Equivalencia entre decimal, binario, hexadecimal y octal. Código ASCII (American Standard Code for Information Interchange)
Ejemplo del uso de las subrutinas
Ejemplo del uso de las subrutinas Enunciado del problema: Diseñar un contador BCD que cuente de 0 a 59 para simular un timer de 60 segundos y que el conteo de dos dígitos BCD, sea desplegado en los displays
Programación de Sistemas. Unidad 1. Programación de Sistemas y Arquitectura de una Computadora
Programación de Sistemas Unidad 1. Programación de Sistemas y Arquitectura de una Computadora Programación de Sistemas Arquitectura de una Computadora Componentes de un Sistema de Cómputo Un sistema está
PLC CONTROLADOR LOGICO PROGRAMABLE
PLC CONTROLADOR LOGICO PROGRAMABLE PLC Los Controladores Lógicos Programables o PLC (Programmable Logic Controller por sus siglas en inglés) son dispositivos ampliamente usados en la Automatización Industrial.
Práctica 4 - Arquitectura CPU
Práctica 4 - Arquitectura CPU Organización del Computador 1 1er. Cuatrimestre 2006 Programación en Assembler Ejercicio 1 Dados los siguientes valores de la memoria y del registro R0 de la arquitectura
Ciclos de máquina. Otro ejemplo: decremento de un registro par (donde rp = HL, DE, BC, SP) DCX rp
Ciclos de máquina Otro ejemplo: decremento de un registro par (donde rp = HL, DE, BC, SP) DCX rp Acceso a periféricos: función del pin IO/M Este μp cuenta con dos instrucciones específicas para I/O, llamadas
INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA
APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto
Departamento de Sistemas e Informática
Departamento de Sistemas e Informática Programación en Assembler - Clase 1 Digital II Presentación de Docentes y Material Docentes: Ing. Andrés Capalbo Ing. Diego Alegrechi Ing. Esteban Almirón Material
Contenido. Conjunto de Instrucciones. Formato de la Instrucción. Instrucciones de 1 byte. Formato de la Instrucción 28/09/2011
1 ontenido 2 UNIDAD 5 EL LENGUAJE DE ENSAMBLADOR DEL Z80 onjunto de instrucciones Tipos de instrucciones Modos de direccionamiento El ensamblador del Z80 El simulador AVOET Implementación de un sistema
Intel 8086 modelo básico (primera parte) Registros:
Intel 8086 modelo básico (primera parte) Registros: Uso general: AX, BX, CX, DX, SI, DI, BP. Uso con direccionamento especial: SP, IP. Registros de segmento: CS, SS, DS, ES. Modelo de los registros: 20
PARTE II: Programación en ensamblador
Cuaderno de Prácticas Laboratorio de Fundamentos de Computadores PARTE II: Programación en ensamblador Autor: Rafael Moreno Vozmediano Facultad de Informática La Máquina Rudimentaria: Arquitectura del
Sebastián García Galán Sgalan@ujaen.es
Universidad de Jaén E.U.P. Linares Dpto. Telecomunicaciones Área de Ingeniería Telemática Sebastián García Galán Sgalan@ujaen.es TEMA 2: 2.1 CODIFICACIÓN 2.2 SISTEMAS DE NUMERACIÓN BASES DE NUMERACIÓN
Arquitectura intel 8086. Preámbulo de OSO para alumnos formados en el procesador MIPS. Asignatura Sistemas Operativos Murcia abril de 2005
Arquitectura intel 8086 Preámbulo de OSO para alumnos formados en el procesador MIPS Asignatura Sistemas Operativos Murcia abril de 2005 página 1. Introducción 2 2.- Direccionamiento y Registros de Segmento
Tema 4. Lenguaje máquina y lenguaje ensamblador
Tema 4. Lenguaje máquina y lenguaje ensamblador Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Transparencia: 2 / 47 Índice Introducción Juego de instrucciones Estructura
Relación de Problemas I
Relación de Problemas I 352) $1'5e6 52/'È1 $5$1'$ 1. Realizar el cálculo del tiempo que transcurre durante la ejecución del bloque de instrucciones sombreado, en función del contenido de los registros
3 - Arquitectura interna de un up
cei@upm.es 3 - Arquitectura interna un up Componentes básicos Lenguaje ensamblador y código máquina Ciclo básico ejecución una instrucción Algunos ejemplos Universidad Politécnica Madrid Componentes básicos
Nibble Sirve para representar números hexadecimales. ( 0-9 A F) Sirve para representar números BCD (0...9)
Formatos Binarios (80x86 ) 8 bits x 7 x 6 x 5 x 4 x 3 x 2 x 1 x 0 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 Alta orden ó más significativo significativo baja orden ó menos 16 bits x 15 x 14 x 13 x 12 x 11 x 10 x
Resumen de las instrucciones del 8086/8088
Resumen de las instrucciones del 8086/8088 En este capítulo se hace un resumen de las instrucciones del 8086/8088. Estas instrucciones se encuentran explicadas más detalladamente en otro capítulo. Se puede
Algoritmos de multiplicación y división.
Capítulo 11. 1 Algoritmos de multiplicación y división. A continuación se estudiarán algoritmos para efectuar las operaciones de multiplicación y división entera. Usualmente estas operaciones están soportadas
Práctica 1. Introducción al SIEMENS 80C167
Práctica 1 Introducción al SIEMENS 80C167 1 Objetivos Toma de contacto con los recursos de la tarjeta PHY80C167 basada en el microcontrolador SIEMENS 80C167 Familiarizarse con la herramienta de desarrollo
Tema 2. Diseño del repertorio de instrucciones
Soluciones a los problemas impares Tema 2. Diseño del repertorio de instrucciones Arquitectura de Computadores Curso 2009-2010 Tema 2: Hoja: 2 / 16 Tema 2: Hoja: 3 / 16 Base teórica Al diseñar un computador,
Ensamblador. Introducción. Dpto. Física y Arquitectura de Computadores. Universidad Miguel Hernandez
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.4. Modos de direccionamiento Distintas formas que tiene la arquitectura para especificar la ubicación de los operandos.
2.4. Modos de direccionamiento Distintas formas que tiene la arquitectura para especificar la ubicación de los operandos. Objetivos: - Reducir el número de bits para especificar un operando en memoria.
La arquitectura CISCA
La arquitectura CISCA Miquel Albert Orenga Gerard Enrique Manonellas PID_00181526 CC-BY-SA PID_00181526 La arquitectura CISCA Los textos e imágenes publicados en esta obra están sujetos excepto que se
Tema 4: Lenguaje máquina - Lenguaje ensamblador
Tema 4: Lenguaje máquina - Lenguaje ensamblador S Introducción S Modos de direccionamiento: S Juego de instrucciones: S Direccionamiento inmediato S Instrucciones de transferencia S Direccionamiento directo
Tema 5: La pila, las macros y los procedimientos
Tema 5: La pila, las macros y los procedimientos S La pila S Las macros S Definición de procedimientos S Tipos de procedimientos: NEAR y FAR S Paso de parámetros a un procedimiento S Mediante registros
Práctica ENS:Ensamblar y depurar
Práctica ENS:Ensamblar y depurar 1. Objetivos Familiarizarse con el manejo básico de la herramienta µvision3 con programas escritos en lenguaje ensamblador. Depurar los programas escritos en lenguaje ensamblador
Arquitectura de Computadores II 8086 Parte II
8086 Parte II Facultad de Ingeniería Universidad de la República Instituto de Computación Contenido Funciones recursivas Manejadores de dispositivos Rutinas recursivas(1/10) Introducción Salvar contexto.
Lógica Binaria. Arquitectura de Ordenadores. Codificación de la Información. Abelardo Pardo abel@it.uc3m.es. Universidad Carlos III de Madrid
Arquitectura de Ordenadores Codificación de la Información Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Lógica Binaria COD-1 Internamente el ordenador
TEMA III: OPERACIONES CON LOS DATOS
CUESTIONES A TRATAR: Cual es la función de la unidad operativa? Es necesaria? Qué tipos de circuitos implementan la unidad operativa? Unidad operativa frente a ALU Qué es una operación de múltiple precisión?
MODULO II: ARQUITECTURA DEL PROCESADOR
MODULO II: ARQUITECTURA L PROCESAR Tema 2: Formato de instrucciones y modos de direccionamiento Objetivos: Entender la arquitectura del repertorio de instrucciones (ISA) de un computador, los formatos
Plataformas de soporte computacional: arquitecturas avanzadas,
Plataformas de soporte computacional: arquitecturas avanzadas, sesión Diego R. Llanos, Belén Palop Departamento de Informática Universidad de Valladolid {diego,b.palop}@infor.uva.es Índice. Arquitectura
Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.
LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan
La arquitectura del 8086/8088
Repasamos aquí la arquitectura de un PC. Para más información sobre lo aquí expuesto se puede consultar [PA01] y los capítulos iniciales de [Tej01], [Rod00] y [Nor01]. Anatomía del PC A grandes rasgos,
Capitulo 12. Tira de bits
Capitulo 12. Tira de bits 12.1 Representación de números naturales (enteros positivos) base 10 base 2 base 16 decimal binario hexadecimal 0 0 0 1 1 1 2 10 2 3 11 3 4 100 4 5 101 5 6 110 6 7 111 7 8 1000
Tema 4. Lenguaje máquina y lenguaje ensamblador
Enunciados de problemas Tema 4. Lenguaje máquina y lenguaje ensamblador Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Tema 4: Hoja: 2 / 28 Tema 4: Hoja: 3 / 28 Base
Intel 8086. Arquitectura. Programación en Ensamblador Ing. Marcelo Tosini - 2001
Intel 8086 Arquitectura Características generales Procesador de 16 bits Bus de direcciones de 20 bits : 1 Mbyte Bus de datos interno de 16 bits Bus de datos externo de 16 bits en el 8086 8 bits en el 8088
UNIDAD 2 Configuración y operación de un sistema de cómputo Representación de datos Conceptos El concepto de bit (abreviatura de binary digit) es fundamental para el almacenamiento de datos Puede representarse
Circuitos combinacionales aritméticos (Parte II)
Circuitos combinacionales aritméticos (Parte II) Luis Entrena, Celia López, Mario García, Enrique San Millán Universidad Carlos III de Madrid Contenidos. Circuitos sumadores y restadores Ø Sumadores con
ASPECTOS HARDWARE Y SOFTWARE DEL MICROPROCESADOR 68000
ASPECTOS HARDWARE Y SOFTWARE DEL MICROPROCESADOR 68000 Raúl Alcaraz Martínez INDICE CAPITULO 1. INTRODUCCIÓN AL 68000 8 1. Introducción al 68000 8 1.1. Características generales 8 2. Generalidades para
Apellidos Nombre DNI
A continuación se muestra el listado de un programa cuyo objetivo es encontrar una palabra dentro de una cadena de caracteres de la sección de datos y copiar dicha palabra en otra zona de la sección de
Arquitectura de Computadores II Clase #3
Clase #3 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Registros Repertorio de instrucciones Modos de direccionamiento El stack Formatos de datos Control
6-REGISTROS DEL 8086 Y DEL 80286
ESTRUCTURA DE COMPUTADORES I (Capítulo 6: Los registros del microprocesador 8086) 1/7 6-REGISTROS DEL 8086 Y DEL 80286 6.1 INTRODUCCIÓN: Dentro del procesador existen unos contenedores especiales de 16
Funcionamiento de la Pila (o stack)
Funcionamiento de la Pila (o stack) Todo μp cuenta con una memoria de almacenamiento temporal denominada Pila Es una estructura de datos de tipo secuencial (LIFO) Existen dos operaciones básicas posibles:
Trabajo Práctico Nro 3: Assembler
Año 28 Banderas Nombre Estado = Estado = 1 Desbordamiento: Indica cuando el resultado de una operación con NV-No hubo OV-Desborde signo a excedido la capacidad del up. desborde Dirección: Controla la selección
Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria
1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo
Arquitectura de Computadores y laboratorio Clase 15: Arquitectura MIPS Pt.3. Departamento de Ingeniería de Sistemas Universidad de Antioquia 2011 2
Arquitectura de Computadores y laboratorio Clase 15: Arquitectura MIPS Pt.3 Departamento de Ingeniería de Sistemas Universidad de Antioquia 2011 2 Instrucciones de control de flujo Arquitectura de Computadores
Arquitectura (Procesador familia 80 x 86 )
Arquitectura (Procesador familia 80 x 86 ) Diseño de operación Basada en la arquitectura Von Newman Memoria CPU asignadas direcciones I / O BUS: Es un canal de comunicaciones Bus de direcciones: Contiene
El nivel ISA (II)! Conjunto de Instrucciones
El nivel ISA (II) Conjunto de Instrucciones EC-2721 Arquitectura del Computador I Que es un Conjunto de Instrucciones? Colección completa de instrucciones comprendida por un procesador Lenguaje de máquina
Tema 2. El lenguaje JAVA
Tema 2. El lenguaje JAVA Nomenclatura habitual Variables Tipos de variables Tipos primitivos Referencias Arrays Operadores Operadores de Java Precedencia de operadores Sentencias de control Sentencias
PRONTUARIO I. INFORMACIÓN GENERAL
UNIVERSIDAD INTERAMERICANA DE PUERTO RICO RECINTO METROPOLITANO FACULTAD DE CIENCIAS Y TECNOLOGÍA DEPARTAMENTO DE CIENCIAS DE COMPUTADORAS Y MATEMÁTICAS PRONTUARIO I. INFORMACIÓN GENERAL Título del Curso:
Examen de Arquitectura de Computadores 2 22 de febrero del 2011
Examen de Arquitectura de Computadores 2 22 de febrero del 2011 Indique su nombre completo y número de cédula en cada hoja. Numere todas las hojas e indique el total de hojas en la primera. Escriba las
Estructura y Tecnología de Computadores. Módulo C. Arquitectura del procesador. Tema 4. Modos de direccionamiento y tipos de datos
1 Estructura y Tecnología de Computadores Módulo C. Arquitectura del procesador Tema. Modos de direccionamiento y tipos de datos José Manuel Mendías Cuadros Dpto.. Arquitectura de Computadores y Automática
Organización del Computador I 1er. Parcial 17-Mayo-2005. Turno:
Nota: En el parcial se puede tener la cartilla de Assembler y la de seguimiento (formatos de instrucción) pero no se pueden compartir. Para aprobar el parcial, son necesarios 6(seis) puntos. Para promocionar,
Representación de datos y aritmética básica en sistemas digitales
Representación de datos y aritmética básica en sistemas digitales DIGITAL II - ECA Departamento de Sistemas e Informática Escuela de Ingeniería Electrónica Rosa Corti 1 Sistemas de Numeración: Alfabeto:
Organización n del Computador. CPU (ISA) Conjunto de Instrucciones de la Arquitectura
Organización n del Computador CPU (ISA) Conjunto de Instrucciones de la Arquitectura Estructura (computadora) periféricos Computador Computador Unidad Central de Proceso CPU Sistema de interconexión Memoria
PARTE II: Programación en ensamblador
Cuaderno de Prácticas Laboratorio de Fundamentos de Computadores PARTE II: Programación en ensamblador Facultad de Informática 1 EL PROGRAMA ENSAMBLADOR 1. Descripción El programa ensamblador es el programa
Las Instrucciones. A continuación vamos a presentar el conjunto de instrucciones básico de los Microcontroladores Picmicro.
Las Instrucciones A continuación vamos a presentar el conjunto de instrucciones básico de los Microcontroladores Picmicro. En general la instrucciones de los microcontroladores pueden clasificarse como:
FUNDAMENTOS DE INFORMÁTICA
FUNDAMENTOS DE INFORMÁTICA Tema 2 Expresiones, operadores y estructuras de control Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo Fundamentos de Informática. Departamento de Ingeniería
Objetivo. Introducción. Tema: GENERACION DE CODIGO. Compiladores, Guía 11 1
Compiladores, Guía 11 1 Tema: GENERACION DE CODIGO. Facultad : Ingeniería Escuela :Computación Asignatura:Compiladores Objetivo Reconocer las diferentes instrucciones para la generación de código.ensamblador
Arquitectura de Computadores
Arquitectura de Computadores Ricardo.Sanz@upm.es Curso 2004-2005 Arquitectura de Computadores Arquitectura de computadores es la disciplina que estudia la organización y funcionamiento de los computadores
Práctica 2. Registros y posiciones de memoria
Enunciados de prácticas Práctica 2. Registros y posiciones de memoria Estructura y Organización de Computadores Grados en Ingeniería Informática e Ingeniería de Computadores Curso 2012-2013 Práctica 2:
ESTRUCTURA DE COMPUTADORES I (Capítulo 14: DIRECTIVAS) 1/32 14-DIRECTIVAS
ESTRUCTURA DE COMPUTADORES I (Capítulo 14: DIRECTIVAS) 1/32 14-DIRECTIVAS 14.1 INTRODUCCIÓN: Las directivas o pseudooperaciones se pueden dividir en cuatro grupos funcionales:! Directivas de datos.! Directivas
Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C
Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales
21/02/2012. Agenda. Unidad Central de Procesamiento (CPU)
Agenda 0 Tipos de datos 0 Sistemas numéricos 0 Conversión de bases 0 Números racionales o Decimales 0 Representación en signo-magnitud 0 Representación en complemento Unidad Central de Procesamiento (CPU)
$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos
PROGRAMACIÓN DE SHELL SCRIPTS EN LINUX El shell es un intérprete de órdenes, pero el shell no es solamente eso; los intérpretes de órdenes de Linux son auténticos lenguajes de programación. Como tales,
F C F STO F C C C o C m o pa p ct F C C S ta t nd n a d rd H 0 C x
Compact Standard HC0x INTRODUCCION AL TEMARIO DESCRIPCIÓN FÍSICA. CARACTERISTICAS TÉCNICAS. CONEXIONES HERRAMIENTAS DE SOFTWARE. ESTRUCTURA DE PROGRAMACIÓN POR LISTADO DE INSTRUCCIONES. COMANDOS Y OPERADORES.
Operaciones Aritméticas en Números con Signo
Operaciones Aritméticas en Números con Signo M. en C. Erika Vilches Parte 3 Multiplicación sin Signo Reglas básicas para multiplicar bits: 0x0 = 0 0x1 = 0 1x0 = 0 1x1 = 1 Ejemplos en números sin signo:
Introducción a la programación en Lenguaje Assembler.
Introducción a la programación en Lenguaje Assembler. Que son las instrucciones El set de instrucciones de un microprocesador es el set de entradas binarias que producen acciones definidas durante un ciclo
PRACTICA #1. Aprender a programar una interrupción software empleando C y/o Ensamblador.
PRACTICA #1 Aprender a programar una interrupción software empleando C y/o Ensamblador. Aprender a manipular dispositivos externos (8253, 8255) desde C y/o ensamblador. PROCEDIMIENTO: Vamos a programar
Tema 3: ASCII y operaciones de desplazamiento y lógicas
Tema 3: ASCII y operaciones de desplazamiento y lógicas S Representación de cadenas de caracteres (alfanuméricas) S Operaciones de desplazamiento S Desplazamientos lógicos S Desplazamientos aritméticos
Organización procesador MIPS
Organización procesador MIPS Organización MIPS Memoria CPU Registros FPU Registros Alu Mul Div Hi Lo U. Aritmética Traps Manejo de Memoria Organización MIPS Unidad Aritmética y Lógica (ALU). Unidad Aritmética
Curso de Programación Avanzada en C
Curso de Programación Avanzada en C Copyright, 1996 Universidad Sim on Bol ivar 1 Prof. Mariela J. Curiel Contenido del Curso Conceptos BásicosB Estructuras de Control Arreglos Otros tipos de datos derivados
PROGRAMACIÓN EN C. PRÁCTICA 2: Operaciones con bits. Práctica 2: Índice. 2.1 Introducción 2.2 Representación de información binaria en C
PROGRAMACIÓN EN C PRÁCTICA 2: Operaciones con bits Práctica 2: Índice 2.1 Introducción 2.2 Representación de información binaria en C 2.3 Operando con bits en C 2.4 Máscaras 2.5 Desplazamientos 2.6 Ejercicios
Fundamentos de Programación. Sabino Miranda-Jiménez
Fundamentos de Programación Sabino Miranda-Jiménez MÓDULO 1. Introducción a la computación Temas: La computación en el profesional de ingeniería Desarrollo computacional en la sociedad Aplicaciones Software
Pregunta correcta= 0,3 Pregunta no contestada= 0 Pregunta incorrecta (tipo test)= -0,15
Pregunta correcta= 0,3 Pregunta no contestada= 0 Pregunta incorrecta (tipo test)= -0,15 Sistemas operativos, arquitectura von Neumann, configuración del PC (3 puntos) 1) Señale la opción correcta: [_]
3.2 Operaciones aritmético-lógicas en Pascal
3.2 Operaciones aritmético-lógicas en Pascal Operadores Los operadores sirven para combinar los términos de las expresiones. En Pascal, se manejan tres grupos de operadores : 1. ARITMÉTICOS 2. RELACIONALES
Estructura de Datos. Unidad I Tipos de Datos
Estructura de Datos Unidad I Tipos de Datos Conceptos Básicos Algoritmo: es una secuencia finita de pasos o instrucciones ordenadas crono-lógicamente que describen un método para resolver un problema específico.
Análisis general de un Microprocesador
Análisis general de un Microprocesador Arquitectura del chip Repertorio de instrucciones Sistema mínimo Señales de control Función de cada pin del µp Herramientas de desarrollo Performance. ARQUITECTURA
Introducción a la Programación 11 O. Humberto Cervantes Maceda
Introducción a la Programación 11 O Humberto Cervantes Maceda Recordando En la sesión anterior vimos que la información almacenada en la memoria, y por lo tanto aquella que procesa la unidad central de
Estructura de Computadores. Capítulo 3b: Programación en
Estructura de Computadores Capítulo 3b: Programación en ensamblador del MIPS. José Daniel Muñoz Frías Universidad Pontificia Comillas. ETSI ICAI. Departamento de Electrónica y Automática Estructura de
7. Modos de direccionamiento
El MC68000 permite 12 modos de direccionamiento para localizar a los operandos. Podemos dividir los modos de direccionamiento en 5 grupos: Directo de registro : el operando es el dato contenido en un registro
SOLUCION Examen final IC parte B
SOLUCION Examen final IC parte B Duración de esta parte del examen: 2 horas. Presentarse a este examen significa renunciar a la nota de evaluación continua de los objetivos de nivel B. Cada ejercicio se
MODOS DE DIRECCIONAMIENTO DEL µc51
Los modos de direccionamiento son la manera que tienen los µc para accesar a los distintos recursos con los que cuenta. Para manipular los datos y códigos de operación en cada programa se tienen las siguientes
PROGRAMACIÓN BÁSICA DE LA COMPUTADORA. 1 Introducción. Tabla 1: Instrucciones MIPS
PROGRAMACIÓN BÁSICA DE LA COMPUTADORA 1 Introducción Un sistema de computadora total incluye tanto circuitería (hardware) como programación (software). El hardware consta de los componentes físicos y todo
Tema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel.
Tema 2: Arquitectura del repertorio de instrucciones Visión del computador que tiene el programador en bajo nivel. Lo que el programador en lenguaje ensamblador debe conocer para escribir programas: (1)
Registros SFR vistos hasta ahora: Microcontroladores PIC
Registros SFR vistos hasta ahora: Microcontroladores PIC Microcontroladores PIC: Timer Características del Timer TMR0: Cumple básicamente la función de contador de eventos (o divisor de frecuencia). El
Lo que definimos como CPU (Central Process Unit) o Unidad Central de Proceso, está estructurado por tres unidades operativamente diferentes:
Facultad de Ciencias Exactas y Naturales y Agrimensura Departamento de Ingeniería Cátedra : Proyecto Final Apuntes : Microprocesadores Tema 6-1 : Esquema de un µp. La CPU Lo que definimos como CPU (Central
REPERTORIO DE INSTRUCCIONES MIPS
Departamento de Informática Escuela Politécnica Universidad de Extremadura REPERTORIO DE INSTRUCCIONES MIPS Prácticas de la Asignatura ESTRUCTURA DE COMPUTADORES 2º Ingeniería Informática 2º Ingeniería