Tema 5. Formato de instrucciones. Directivas, instrucciones de cadena y programas de varios módulos

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Tema 5. Formato de instrucciones. Directivas, instrucciones de cadena y programas de varios módulos"

Transcripción

1 Tema 5. Formato de instrucciones. Directivas, instrucciones de cadena y programas de varios módulos Laboratorio de Estructura y Organización de Computadores Grados en Ingeniería Informática e Ingeniería de Computadores Curso Índice Formato de instrucciones. Ejemplos. Instrucciones para operar con cadenas Directivas o pseudoinstrucciones Programas medios en ensamblador Ensamblado de varios módulos 2 / 33 1

2 Formato de instrucciones i80x86/8088 (I) Cuenta con múltiples formatos cuyo código máquina va desde un byte hasta seis bytes Formato de las instrucciones registro-registro y registro-memoria: Byte 1 Byte 2 Byte 3 Byte 4 Código DW Mod Reg R/M Desplazamiento o dato inmediato Especifica un operando como registro Código de operación Especifica el otro operando como registro o memoria Determina el tamaño de los operandos 0 para media palabra, 1 para palabra Determina el operando fuente y destino 0 operando reg origen, 1 operando reg destino Estructura de Computadores I. T. I. de Gestión / Sistemas 3 / 33 Formato de instrucciones i80x86/8088 (II) El primer byte contiene: Código de operación El bit de dirección de registro (D): Si D = 1 tengo que REG = operando destino Si D = 0 tengo que REG = operando fuente El bit de tamaño del dato (W): especifica si la operación será realizada sobre datos de media palabra o de una palabra: Si W = 0 los datos son de 8 bits (ó 16 bits) Si W = 1 los datos son de 16 bits (ó 32 bits) Estructura de Computadores I. T. I. de Gestión / Sistemas 4 / 33 2

3 Formato de instrucciones i80x86/8088 (III) El segundo byte contiene los operandos (uno de ellos es un registro): REG se usa para identificar un registro MOD indica el modo de direccionamiento MOD Función: Modo memoria sin desplazamiento Modo memoria con desplazamiento de media palabra Modo memoria con desplazamiento de una palabra Modo registro REG W=0 W=1 000 AL AX 001 CL CX 010 DL DX 011 BL BX 100 AH SP 101 CH BP 110 DH SI 111 BH DI Estructura de Computadores I. T. I. de Gestión / Sistemas 5 / 33 Formato de instrucciones i80x86/8088 (y IV) El segundo byte contiene los operandos (continuación): R/M se usa para identificar un registro o una posición de memoria y depende del valor del campo MOD D8 es un desplazamiento de tamaño media palabra (8 ó 16 bits) y D16 es un desplazamiento de tamaño palabra (16 bits ó 32 bits) MOD = 11 CALCULO DE LA DIRECCION EFECTIVA R/M W=0 W=1 R/M MOD = 00 MOD = 01 MOD = AL CL DL BL AH CH DH BH AX CX DX BX SP BP SI DI [BX]+[SI] [BX]+[DI] [BP]+[SI] [BP]+[DI] [SI] [DI] direccion directa [BX] [BX]+[SI]+D8 [BX]+[DI]+D8 [BP]+[SI]+D8 [BP]+[DI]+D8 [SI]+D8 [DI]+D8 [BP]+D8 [BX]+D8 [BX]+[SI]+D16 [BX]+[DI]+D16 [BP]+[SI]+D16 [BP]+[DI]+D16 [SI]+D16 [DI]+D16 [BP]+D16 [BX]+D16 Estructura de Computadores I. T. I. de Gestión / Sistemas 6 / 33 3

4 Instrucciones de manejo de cadenas (I) Nombre: MOVS / MOVSB / MOVSW (MOV BYTE / WORD STRING) Formato: MOVS destino, fuente MOVSB / MOSW Descripción: Transfiere el byte o la palabra apuntada por DS:SI al byte o palabra apuntada por ES:DI. Después de la transferencia, SI y DI se incrementan o decrementan, según el valor del indicador DF (DF=0 incremento; DF=1 decremento), el número de bytes transferidos. Para la repetición puede ir precedida por REP. Operandos: destino, fuente se emplean como referencia, pues por defecto MOVS emplea ES:DI como destino y DS:SI como fuente. Ejemplos: movsb movs tabla1, tabla2 7 / 33 Instrucciones de manejo de cadenas (II) Nombre: LODS / LODSB / LODSW (Load BYTE / WORD to AL / AX) Formato: LODS fuente LODSB/LODSW Descripción: carga de un byte o de una palabra de una cadena. Transfiere un byte o una palabra de una cadena apuntada por DS:SI al acumulador AL o AX. Después incrementa o disminuye SI, según el estado del indicador DF, en 1 (byte) o en 2 (palabra). Operandos: fuente se emplean como referencia, pues por defecto LODS emplea DS:SI como fuente. Ejemplos: lods cadena lodsb 8 / 33 4

5 Instrucciones de manejo de cadenas (III) Nombre: STOS / STOSB / STOSW (Store BYTE / WORD from AL / AX) Formato: STOS destino STOSB/STOSW Descripción: almacenamiento de un byte o de una palabra en una cadena. Transfiere un byte (AL) o una palabra (AX) a una cadena apuntada por ES:DI. Después de la ejecución se incrementa o disminuye DI, según el estado del indicador DF, en 1 (byte) o en 2 (palabra). Para la repetición puede ir precedida por REP. Operandos: destino se emplean como referencia, pues por defecto STOS emplea ES:DI como destino. Ejemplos: stos cadena stosw 9 / 33 Instrucciones de manejo de cadenas (IV) Nombre: CMPS / CMPSB / CMPSW (Compare BYTE / WORD) Formato: CMPS destino, fuente CMPSB/CMPSW Descripción: Comparación de bytes o palabras de cadenas. Actúan como CMP pero con cadenas apuntadas por DS:SI para la fuente y ES:DI para el destino (atención fuente-destino). Después de la comparación, SI y DI son incrementados (DF=0) o decrementados (DF=1). Puede ir precedida por REP. Operandos: destino, fuente se emplean como referencia, pues por defecto CMPS emplea ES:DI como destino y DS:SI como fuente. Ejemplos: cmps cadena1, cadena2 cmpsb cmpsw 10 / 33 5

6 Instrucciones de manejo de cadenas (V) Nombre: SCAS / SCASB / SCASW (Scan BYTE / WORD) Formato: SCAS destino SCASB/SCASW Descripción: análisis de un byte o de una palabra de una cadena. Ejecuta la substracción AL-destino para un byte, o AX-destino para una palabra. No almacena el resultado, pero posiciona los flags. Esto permite comparar los bytes o palabras sucesivas de una cadena. Puede ir precedida de REP para la repetición. ES:DI apunta a la cadena destino. Operandos: destino se emplean como referencia, pues por defecto SCAS emplea ES:DI como destino. Ejemplos: scas cadena sacsb 11 / 33 Instrucciones de manejo de cadenas (y VI) Nombre: REP / REPZ / REPE / REPNZ / REPNE (Repeat) Formato: REP / REPZ / REPE / REPNZ / REPNE instrucción de cadena Descripción: Prefijo que impone la repetición de una instrucción de cadena mientras que el contenido del contador CX, disminuido en cada pasada, no llegue a cero o el flag de cero cambie de estado. Esta repetición puede ser incondicional (REP) o condicional (REPZ / REPE hasta ZF=1 o REPNZ / REPNE hasta ZF=0). Operandos: no tiene Restricciones: solo aplicable a instrucciones de cadena REP se usa con MOVS y STOS; REPE, REPZ, REPNE y REPNZ se usan con CMPS y SCAS Ejemplo: rep movsb ; rep como prefijo 12 / 33 6

7 Las directivas (I) También llamadas pseudo-instrucciones o pseudo-operaciones No son como las sentencias ejecutables de los lenguajes de alto nivel, sino que sirven para reservar espacio de almacenamiento, asignar nombres a constantes, formar estructuras de datos, etc. No son órdenes destinadas al microprocesador, sino al programa ensamblador. Se pueden dividir en cuatro grupos funcionales: Directivas de datos Directivas condicionales Directivas de listado Directivas de macros 13 / 33 Las directivas (II) Directivas de datos (I) Definir símbolos (I) Nombre: EQU (EQUIVALENT) Formato: nombre EQU expresión Descripción: asigna un nombre simbólico al valor de una expresión. El nombre no puede redefinirse a lo largo del programa. Ejemplo: columnas EQU / 33 7

8 Las directivas (III) Directivas de datos (II) Definir símbolos (y II) Nombre: = Formato: nombre = expresión Descripción: asigna un nombre simbólico al valor de una expresión. El nombre puede redefinirse a lo largo del módulo fuente. Útil en macros. Ejemplos: valor = 10 valor = valor / 33 Las directivas (IV) Directivas de datos (III) Definir datos (I) Nombre: DB (DEFINE BYTE) Formato: [nombre_variable] DB expresión Descripción: reserva memoria para una variable de tipo byte (8 bits) y los posteriores. nombre_variable es opcional y es el nombre asignado al primer byte. Operandos: expresión es el valor inicial de la variable y puede ser: Una constante positiva o negativa o expresión de ellas (-128 expresión 127 con signo). Un signo? que indica indefinición de valor. Una cadena de caracteres delimitada por comillas simples o dobles. n1 DUP (n2) que indica repetición n1 veces de la expresión n2. Ejemplos: valores DB 30, -15, 20 - Datos DB 10 DUP(0) DB 12*3 - cadena DB Hola mundo 16 / 33 8

9 Las directivas (V) Directivas de datos (IV) Definir datos (II) Nombre: DD (DEFINE DOUBLE) Formato: [nombre_variable] DD expresión Descripción: reserva memoria para una variable de tipo doble palabra (32 bits) y los posteriores. nombre_variable es opcional y es el nombre asignado a la primera doble palabra. Operandos: expresión es el valor inicial de la variable y puede ser: Una constante positiva o negativa o expresión de ellas. Un signo? que indica indefinición de valor. Una dirección completa de memoria (segmento y desplazamiento). n1 DUP (n2) que indica repetición n1 veces de la expresión n2. Ejemplos: valores DD 300, -150, 2000 DD 120*3 Direc DD tabla ; donde tabla equivale a su dirección ;completa (segmento:desplazamiento) 17 / 33 Las directivas (VI) Directivas de datos (V) Definir datos (III) Nombre: DQ (DEFINE QUADWORD) Formato: [nombre_variable] DQ expresión Descripción: reserva memoria para una variable de tipo cuádruple palabra (64 bits) y los posteriores. nombre_variable es opcional y es el nombre asignado a la primera cuádruple palabra. Operandos: expresión es el valor inicial de la variable y puede ser: Una constante positiva o negativa o expresión de ellas. Un signo? que indica indefinición de valor. n1 DUP (n2) que indica repetición n1 veces de la expresión n2. Ejemplos: valores DQ 300, -150, 2000 DQ 120*3 datos DQ 4 DUP (0) ; Equivale a DQ 0, 0, 0, 0 18 / 33 9

10 Las directivas (VII) Directivas de datos (VI) Definir datos (IV) Nombre: DT (DEFINE TENBYTE) Formato: [nombre_variable] DT expresión Descripción: reserva diez bytes de memoria para almacenar dígitos decimales empaquetados (dos dígitos por byte). El primer byte se reserva para el signo y los otros 9 para almacenar 18 dígitos decimales. El signo se almacena como 00h (si positivo) o 80h (si negativo). nombre_variable es opcional y es el nombre asignado al primer byte. Operandos: expresión es el valor inicial de la variable y puede ser: Una constante positiva o negativa o expresión de ellas. Un signo? que indica indefinición de valor. n1 DUP (n2) que indica repetición n1 veces de la expresión n2. Ejemplos: valores DT negat DT / 33 Las directivas (VIII) Directivas de datos (VII) Definir datos (y V) Nombre: DW (DEFINE WORD) Formato: [nombre_variable] DW expresión Descripción: reserva memoria para una variable de tipo palabra (16 bits) inicializando o no esa palabra y las posteriores. nombre_variable es opcional y es el nombre asignado a la primera palabra. Operandos: expresión es el valor inicial de la variable y puede ser: Una constante positiva o negativa o expresión de ellas. Un signo? que indica indefinición de valor. El desplazamiento de una variable n1 DUP (n2) que indica repetición n1 veces de la expresión n2. Ejemplos: valores DW 300, -150, 2000 DW 120*3 20 / 33 10

11 Las directivas (IX) Directivas de datos (VIII). Referencias externas (I) Nombre: PUBLIC Formato: PUBLIC símbolo Descripción: permite que los símbolos especificados sean accesibles por otros módulos durante un enlazado conjunto (LINK). El módulo que quiere invocar al símbolo debe contener la sentencia EXTRN. Ejemplo: PUBLIC dato dato DB 23h 21 / 33 Las directivas (X) Directivas de datos (IX). Referencias externas (y II) Nombre: EXTRN Formato: EXTRN símbolo: tipo Descripción: identifica a los símbolos que fueron definidos (y declarados PUBLIC) en otro módulo. Ejemplo: EXTRN dato:byte 22 / 33 11

12 Las directivas (XI) Directivas de datos (X). Definir segmentos (I) Nombre: SEGMENT Formato: nombre SEGMENT [alineamiento] [combinación ] Descripción: indica el comienzo del segmento nombre. El final del segmento se indica mediante la directiva ENDS. El nombre de ambas directivas debe ser el mismo. Alineamiento (opcional): BYTE WORD PARA PAGE Ejemplo: datos SEGMENT datos ENDS Combinación (opcional): PUBLIC COMMON AT STACK MEMORY 23 / 33 Las directivas (XII) Directivas de datos (XI). Definir segmentos (II) Nombre: ENDS (END SEGMENT) Formato: nombre_segmento ENDS Descripción: indica el final del segmento nombre_segmento o bien indica el final de la estructura nombre_estructura. Operandos: nombre_segmento es obligatorio 24 / 33 12

13 Las directivas (XIII) Directivas de datos (XII). Definir segmentos (y III) Nombre: ASSUME Formato: ASSUME registro_segmento:nombre_segmento Descripción: indica al ensamblador el registro de segmento que va a utilizar para direccionar cada segmento dentro del módulo. Operandos: registro_segmento : DS, CS, SS o ES nombre_segmento : generalmente el nombre asignado mediante la directiva SEGMENT. Ejemplo: ASSUME CS:codigo ASSUME ES:@DATA 25 / 33 Las directivas (XIV) Directivas de datos (XIII) Definir procedimientos(i) Nombre: PROC (PROCEDURE) Formato: nombre_procedimiento PROC [atributo] Descripción: indica el comienzo del procedimiento nombre_procedimiento. Los procedimientos deben finalizar con la directiva ENDP Operandos: atributo = NEAR o FAR (si no se pone nada se supone NEAR) Ejemplo: rutina PROC rutina ENDP 26 / 33 13

14 Las directivas (XV) Directivas de datos (XIV) Definir procedimientos(ii) Nombre: ENDP (END PROCEDURE) Formato: nombre_procedimiento ENDP Descripción: indica el final de un procedimiento Operandos: nombre_procedimiento es obligatorio 27 / 33 Las directivas (XVI) Directivas de datos (XV). Definir macros (I) Nombre: MACRO Formato: nombre_macro MACRO lista de parámetros Descripción: especifica el nombre y los parámetros de la macro. Los parámetros se separan por comas. El final de la macro se especifica mediante la directiva ENDM. Ejemplo: sumar MACRO operando1, operando2, resultado cuerpo de la macro ENDM 28 / 33 14

15 Las directivas (XVII) Directivas de datos (XVI). Definir macros (II) Nombre: ENDM (END MACRO) Formato: ENDM Descripción: indica el final de una macro 29 / 33 Las directivas (XVIII) Directivas de datos (XVII). Definir macros (y III) Nombre: LOCAL Formato: LOCAL etiqueta Descripción: indica al ensamblador las etiquetas que debe cambiar cada vez que se expande la macro. Con ello se evita las definiciones múltiples de estas etiquetas. LOCAL sólo puede usarse dentro de la definición de una macro. Ejemplo: retardo MACRO numero LOCAL seguir mov cx, numero seguir: loop seguir ENDM 30 / 33 15

16 Las directivas (XIX) Directivas de datos (XVIII). Definir bloques Nombre: STRUC (STRUCTURE) Formato: nombre_estructura STRUC Descripción: define una plantilla de campos a nivel de bytes. Es una forma de definir nuevos tipos de datos. La definición de una estructura comienza con la directiva STRUC y acaba con ENDS. En la definición de la estructura no se reserva memoria. La forma de acceder a cada campo de la estrutura es: nombre_estructura.campo. Operandos: las directivas estándar de definición de datos son: DB, DW, DD, DQ y DT. Ejemplo: parametros STRUC p1 dw? p2 db? parametros ENDS 31 / 33 Las directivas (XX) Directivas de datos (XIX) Control MASM (I) Nombre: END Formato: END [expresión] Descripción: indica el final del programa fuente. El operando expresión indica la dirección de comienzo del programa fuente. En el caso de varios módulos fuentes que se enlazan juntos para formar un solo programa ejecutable, sólo el módulo principal puede especificar expresión. Ejemplo: END inicio 32 / 33 16

17 Las directivas (XXI) Directivas de datos (y XX). Control MASM (y II) Nombre:.RADIX Formato:.RADIX expresión Descripción: sirve para cambiar la base de numeración por defecto. Por defecto, los números sin sufijo se considera que están en base 10. Expresión está siempre en base 10. Ejemplo:.RADIX 16 ; base 16 (hexadecimal) por defecto 33 / 33 Las directivas (XXII) Directivas condicionales Sirven para que el ensamblador incluya o ignore porciones de programa fuente según una condición en tiempo de ensamblaje. IFxxx [condición]... ELSE... ENDIF Puede incluirse o no la sentencia ELSE Ejemplo: PRUEBA = 0 IF PRUEBA EQ 0... ; Instrucciones que sólo se utilizan en pruebas... ENDIF 34 / 33 17

18 Las directivas (y XXIII) Directivas de listado Indican al ensamblador la información a obtener en el listado de salida y el formato de esa información. Se clasifican a su vez en: De formato del listado: PAGE, TITLE, SUBTTL De listado de macros:.lall: lista macros y expansiones.sall: suprime listado de macros y expansiones Comentarios: COMMENT Mensajes: %OUT: emite un mensaje por pantalla durante el ensamblado 35 / 33 Ensamblado de varios módulos (I) Para enlazar programas formados por varios módulos fuente, se usan las directivas EXTRN y PUBLIC para las etiquetas compartidas Una vez creados los módulos objetos la sintaxis del link será: LINK [opciones] módulos_objeto, [ejecutable]; Todo.exe 36 / 33 18

19 Ensamblado de varios módulos (y II) Programa 1 Programa 1 Extrn texto2: byte (continuación) Extrn leer: far int 21h Public variable call leer Dosseg lea dx, texto2,.model small mov ah, 9.stack 100h int 21h.data Mov dl, variable texto db Pulsa tecla$ Mov ah, 2 variable db? Int 21h.code mov ah,4ch inicio: mov int 21h mov ds, ax End inicio lea dx, texto mov ah, 9 Programa 2 Extrn variable: byte Public texto2 Public Leer Dosseg.model small.stack 100h.data texto2db Has pulsado$.code Leer proc far mov mov ds, ax mov ah, 1 int 21h Programa 2 (continuación) mov variable, al ret Leer endp End Para ensamblar el programa Masm prg1; Masm prg2 Link prg1 prg2, todo 37 / 33 19

[etiqueta:] REP MOVSn

[etiqueta:] REP MOVSn INSTRUCCIONES DE CADENA Instrucción MOVSn MOVS mueve un byte, palabra o palabra doble desde una localidad en memoria a otra. Se carga la dirección de los operandos en los registros DI (Apuntador a la cadena

Más detalles

ESTRUCTURA DE COMPUTADORES I (Capítulo 14: DIRECTIVAS) 1/32 14-DIRECTIVAS

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

Más detalles

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 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

Más detalles

Tema 4. Lenguaje máquina y lenguaje ensamblador

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

Más detalles

Tema 4. Lenguaje máquina y lenguaje ensamblador

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

Más detalles

Tema 4: Lenguaje máquina - Lenguaje ensamblador

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

Más detalles

DIRECTIVAS DEL ASM86

DIRECTIVAS DEL ASM86 DIRECTIVAS DEL ASM86 Directiva SEGMENT / ENDS nombre SEGMENT [alineación] [combinación] [nombre_clase] PARA PUBLIC BYTE COMMON WORD STACK PAGE MEMORY INPAGE AT nombre ENDS Se usa para definir un segmento

Más detalles

6-REGISTROS DEL 8086 Y DEL 80286

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

Más detalles

Intel 8086. Arquitectura. Programación en Ensamblador Ing. Marcelo Tosini - 2001

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

Más detalles

Práctica 4. Lenguaje máquina y lenguaje ensamblador

Práctica 4. Lenguaje máquina y lenguaje ensamblador Enunciados de prácticas Práctica 4. Lenguaje máquina y lenguaje ensamblador Estructura y Organización de Computadores Grados en Ingeniería Informática e Ingeniería de Computadores Curso 2012-2013 Práctica

Más detalles

Sobre cómo dividir un programa ensamblador x86 (modo Real) en módulos compilables por separado.

Sobre cómo dividir un programa ensamblador x86 (modo Real) en módulos compilables por separado. Sobre cómo dividir un programa ensamblador x86 (modo Real) en módulos compilables por separado. Fuente de la información de partida para este documento: http://homepage.mac.com/eravila/asmix86.html PRIMERO

Más detalles

REPERTORIO DE INSTRUCCIONES DEL MICROPROCESADOR 8086

REPERTORIO DE INSTRUCCIONES DEL MICROPROCESADOR 8086 REPERTORIO DE INSTRUCCIONES DEL MICROPROCESADOR 8086 INSTRUCCIONES DE TRANSFERENCIA: NINGUNA INSTRUCCIÓN DE TRANSFERENCIA AFECTA AL REGISTRO DE ESTADO (SALVO LAS EXPLÍCITAS CON EL REGISTRO DE ESTADO) A)

Más detalles

Conceptos de Arquitectura de Computadoras Curso 2015

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.

Más detalles

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

Aprendiendo Sistemas Operativos: Programación de Procesadores de Arquitectura IA-32 Aprendiendo Sistemas Operativos: Programación de Procesadores de Arquitectura IA-32 Este documento forma parte de la serie Aprendiendo Sistemas Operativos y sirve como una introducción a los aspectos básicos

Más detalles

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

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

Más detalles

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 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

Más detalles

Alternativas de programación

Alternativas de programación Alternativas de programación Enteramente en bajo nivel programa completo librería rutina particular Embebido en alto nivel rutinas librería 1 Alternativas de programación Enteramente en bajo nivel programa

Más detalles

Buses y Periféricos. ITIS. Ensamblador y Turbo debugger

Buses y Periféricos. ITIS. Ensamblador y Turbo debugger BUSES Y PERIFÉRICOS (Práctica de introducción a ensamblador. Va acompañada del documento Ensamblador del 8086.doc. Su realización no cuenta para la nota de prácticas) Programación en ensamblador utilizando

Más detalles

8.4. El software en los μprocesadores

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

Más detalles

El microprocesador de 16 bits 8086

El microprocesador de 16 bits 8086 INTRODUCCIÓN El microprocesador de 16 bits 8086 En 1978 Intel sacó al mercado el 8086, con un bus de datos de 16 bits y capaz de direccionar hasta 1 Mb de memoria. La importancia del 8086 se debe a que

Más detalles

2 de septiembre de 2010 Hoja: 1 / 10. Solamente existe una opción válida en las preguntas de respuesta múltiple.

2 de septiembre de 2010 Hoja: 1 / 10. Solamente existe una opción válida en las preguntas de respuesta múltiple. 2 de septiembre de 2 Hoja: / Normas del examen: Solamente existe una opción válida en las preguntas de respuesta múltiple. No se podrá emplear documentación adicional a la del examen. No se podrá emplear

Más detalles

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

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

Más detalles

MÓDULO III PROGRAMACIÓN DEL MICROPROCESADOR

MÓDULO III PROGRAMACIÓN DEL MICROPROCESADOR 85 MÓDULO III PROGRAMACIÓN DEL MICROPROCESADOR El módulo III está conformado por las unidades 7 y 8. El estudio de estas unidades, permite desarrollar en el estudiante las competencias necesarias en la

Más detalles

Tema 5.1: Presentación de datos en pantalla

Tema 5.1: Presentación de datos en pantalla Tema 5.1: Presentación de datos en pantalla El registro de flags del i8086 Instrucciones de transferencia Instrucciones de transferencia de control Instrucciones aritméticas: comparación Representación

Más detalles

1.2.- EL MICROPROCESADOR.

1.2.- EL MICROPROCESADOR. 1.2.- EL MICROPROCESADOR. El microprocesador es un circuito integrado que contiene algunos o todos los elementos necesarios para conformar una (o más) unidad central de procesamiento UCP, también conocido

Más detalles

MANUAL DE PROGRAMACIÓN EN ENSAMBLADOR 8086

MANUAL DE PROGRAMACIÓN EN ENSAMBLADOR 8086 MANUAL DE PROGRAMACIÓN EN ENSAMBLADOR 8086 ALUMNO: SANTIAGO SÁNCHEZ GONZÁLEZ TITULACIÓN: I.T.I. SISTEMAS ARQUITECTURA DE COMPUTADORES I ÍNDICE: PÁGINA Introducción al ensamblador...2 Procesos para la creación

Más detalles

Tema 5. Presentación de datos por pantalla

Tema 5. Presentación de datos por pantalla Tema 5. Presentación de datos por pantalla Laboratorio de Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Transparencia: 2 / 24 Índice El registro de flags del i8086

Más detalles

UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL SAN NICOLÁS INGENIERIA EN ELECTRÓNICA

UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL SAN NICOLÁS INGENIERIA EN ELECTRÓNICA UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL SAN NICOLÁS INGENIERIA EN ELECTRÓNICA TÉCNICAS DIGITALES III TRABAJO PRÁCTICO N 3 ENLACE DE RUTINAS DE ASSEMBLER EN UN LEGUAJE DE ALTO NIVEL COMO C AÑO

Más detalles

Práctica 2. Registros y posiciones de memoria

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:

Más detalles

Resumen de las instrucciones del 8086/8088

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

Más detalles

SISTEMAS BASADOS EN MICROPROCESADORES

SISTEMAS BASADOS EN MICROPROCESADORES SISTEMAS BASADOS EN MICROPROCESADORES Grado en Ingeniería Informática Escuela Politécnica Superior UAM COLECCIÓN DE PROBLEMAS DE LOS TEMAS 5.5 A 7.2 P1. Escribir una rutina de ensamblador que se quede

Más detalles

Arquitectura de Computadores II 8086 Parte II

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.

Más detalles

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 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

Más detalles

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

Tema 2. Presentación de datos por pantalla. La ROM-BIOS Tema 2. Presentación de datos por pantalla. La ROM-BIOS Laboratorio de Estructura y Organización de Computadores Grados en Ingeniería Informática e Ingeniería de Computadores Curso 2012-2013 Tema 2: Presentación

Más detalles

EL EMU8086 Y EL MICROPROCESADOR 8086.

EL EMU8086 Y EL MICROPROCESADOR 8086. 1 Facultad: Ingeniería. Escuela: Electrónica. Asignatura: Microprocesadores. Lugar de ejecución: Microprocesadores (Edificio 3, 2da planta). EL EMU8086 Y EL MICROPROCESADOR 8086. Objetivos específicos

Más detalles

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 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: [_]

Más detalles

LENGUAJE ENSAMBLADOR 80386 PRÁCTICA 11 PRÁCTICA 11 CUATRO OPERACIONES FUNDAMENTALES EN NÚMEROS DE 8 BYTES

LENGUAJE ENSAMBLADOR 80386 PRÁCTICA 11 PRÁCTICA 11 CUATRO OPERACIONES FUNDAMENTALES EN NÚMEROS DE 8 BYTES PRÁCTICA 11 SUMA, RESTA, MULTIPLICACIÓN Y DIVISIÓN DE DOS NÚMEROS ENTEROS POSITIVOS DE HASTA 20 DÍGITOS DECIMALES 1. INTRODUCCIÓN Mediante esta práctica, trabajaremos con números binarios de hasta veinte

Más detalles

Todos los comandos de DEBUG se invocan usando una sola letra y son los siguientes:

Todos los comandos de DEBUG se invocan usando una sola letra y son los siguientes: USO DE DEBUG Con el sistema operativo DOS (MS-DOS = Microsoft Disk Operating System) se incluye un programa para observar el comportamiento de los registros del CPU 80386. Recuérdese que los registros

Más detalles

Parámetro de entrada. Un parámetro pasado del procedimiento que hace la llamada al procedimiento invocado.

Parámetro de entrada. Un parámetro pasado del procedimiento que hace la llamada al procedimiento invocado. CAPITULO 12 PROCEDIMIENTOS En el capítulo 6, aprendiste como utilizar un programa con procedimientos, en este capítulo aprenderás a usar las directivas e instrucciones que definen y llamas procedimientos.

Más detalles

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. 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

Más detalles

P1.- Para facilitar la tarea, suponemos definido en el segmento de datos lo siguiente:

P1.- Para facilitar la tarea, suponemos definido en el segmento de datos lo siguiente: Problemas P1.- Para facilitar la tarea, suponemos definido en el segmento de datos lo siguiente: ascii DB 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 7_segm DB 3fh,06h,,71h el núcleo del código sería: mov dl, al lea

Más detalles

SISTEMAS BASADOS EN MICROPROCESADORES

SISTEMAS BASADOS EN MICROPROCESADORES SISTEMAS BASADOS EN MICROPROCESADORES Grado en Ingeniería Informática Escuela Politécnica Superior UAM COLECCIÓN DE PROBLEMAS DE LOS TEMAS 2.7 A 5.4 P1. Si SP=0006h y FLAGS=0210h al inicio de la ejecución

Más detalles

El nivel ISA (II)! Conjunto de Instrucciones

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

Más detalles

Elementos de un programa en C

Elementos de un programa en C Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución

Más detalles

Departamento de Sistemas e Informática

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

Más detalles

Introducción al NASM. Convenciones de colores

Introducción al NASM. Convenciones de colores Introducción al NASM The Netwide Assembler MIA J. Rafael Rojano C. 1 Convenciones de colores Rojo= Directivas propias del nasm sin traducción directa a ensamblador Morado= Directivas del ensamblador En

Más detalles

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 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

Más detalles

Programación Avanzada en Lenguaje Ensamblador

Programación Avanzada en Lenguaje Ensamblador Programación Avanzada en Lenguaje Ensamblador Ramón Medina Reservados todos los derechos. Ni la totalidad ni parte de este libro puede reproducirse o transmitirse por ningún procedimiento electrónico o

Más detalles

SISTEMAS BASADOS EN MICROPROCESADORES

SISTEMAS BASADOS EN MICROPROCESADORES SISTEMAS BASADOS EN MICROPROCESADORES Grado en Ingeniería Informática ENUNCIADO PROBLEMA 1 A continuación se incluye el código de una aplicación formada por un programa principal escrito en lenguaje C,

Más detalles

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

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

Más detalles

El Diseño de un Lenguaje Máquina

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

Más detalles

Ingeniería en Sistemas. Sistemas Operativos. Trabajo Práctico: Repaso de Interrupciones, direccionamiento de memoria y registros del procesador.

Ingeniería en Sistemas. Sistemas Operativos. Trabajo Práctico: Repaso de Interrupciones, direccionamiento de memoria y registros del procesador. Sistemas Operativos Trabajo Práctico: Repaso de Interrupciones, direccionamiento de memoria y registros del procesador. Modalidad: Obligatorio. Objetivos: Abordar la materia Sistemas Operativos desde el

Más detalles

Instrucciones de Control de Flujo y Usos de la Pila

Instrucciones de Control de Flujo y Usos de la Pila 1 Instrucciones de Control de Flujo y Usos de la Pila Objetivos Generales Facultad: Estudios Tecnologicos. Escuela: Electrónica Asignatura: Microprocesadores Analizar la forma en que se ejecutan algunas

Más detalles

ARQUITECTURA DEL MICROPROCESADOR 8086

ARQUITECTURA DEL MICROPROCESADOR 8086 Segundo Cuatrimestre ASIGNATURA: ESTRUCTURA DE COMPUTADORES I.TELECOMUNICACION PROFESORA: JUANA Mª LOPEZ DEPARTAMENTO DE AUTOMATICA CAPITULO PRIMERO ARQUITECTURA DEL MICROPROCESADOR 8086 Estructura de

Más detalles

Fig. 1: Tipos de datos que puede manejar el procesador

Fig. 1: Tipos de datos que puede manejar el procesador 1. Introducción 2. Registros internos 3. Almacenamiento de datos 4. Modos de direccionamiento 5. Juego de Instrucciones 6. Etiquetas, cometarios y directivas 7. Problemas 1. Introducción El lenguaje ensamblador

Más detalles

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 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

Más detalles

Relación de Problemas I

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

Más detalles

La arquitectura del 8086/8088

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,

Más detalles

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

SISTEMAS BASADOS EN MICROPROCESADOR 2º Grado Ingeniería Informática (EPS UAM) EXAMEN FINAL EXTRAORDINARIO JULIO 2013 ENUNCIADO DEL PROBLEMA SISTEMAS BASADOS EN MICROPROCESADOR 2º Grado Ingeniería Informática (EPS UAM) EXAMEN FINAL EXTRAORDINARIO JULIO 2013 ENUNCIADO DEL PROBLEMA IMPLEMENTACIÓN DE UN DRIVER DOS INTERFAZ CON UN SISTEMA DE RADIO

Más detalles

TAREA 1 ARITMETICA PARA BCD Y ASCII.

TAREA 1 ARITMETICA PARA BCD Y ASCII. 1 Facultad: Ingeniería. Escuela: Electrónica. Asignatura: Microprocesadores. TAREA 1 ARITMETICA PARA BCD Y ASCII. Objetivos específicos Conocer el manejo de los caracteres ASCII para la presentación en

Más detalles

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

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

Más detalles

Lenguaje de programación C. Introducción

Lenguaje de programación C. Introducción Lenguaje de programación C Introducción 1 Elementos del lenguaje C Colección de funciones Estas funciones contienen declaraciones, sentencias, expresiones y otros elementos que en conjunto indican a la

Más detalles

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN PRÁCTICA DE LABORATORIO No I NOMBRE DE LA PRÁCTICA: COMANDOS BÁSICOS DE DEBUG( PARTE I) OBJETIVO: APRENDER LOS COMANDOS

Más detalles

APUNTES DE LENGUAJE ENSAMBLADOR. Lenguaje ensamblador

APUNTES DE LENGUAJE ENSAMBLADOR. Lenguaje ensamblador Lenguaje ensamblador Compiladores y Ensambladores Tanto los compiladores como los Ensambladores caen en la categoría de programas que llamamos traductores. Un traductor es un programa que acepta archivos

Más detalles

EJEMPLOS EN ENSAMBLADOR

EJEMPLOS EN ENSAMBLADOR EJEMPLOS EN ENSAMBLADOR Introducción El lenguaje ensamblador como cualquier lenguaje de programación es un conjunto de palabras que le indican al ordenador lo que tiene que hacer. Sin embargo la diferencia

Más detalles

Arquitectura de Computadores II Introducción al 8086

Arquitectura de Computadores II Introducción al 8086 Introducción al 8086 Facultad de Ingeniería Universidad de la República Instituto de Computación Contenido Generalidades 80x86 Modos de direccionamiento Set de instrucciones Assembler Compilando algunos

Más detalles

Curso de Programación Avanzada en C

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

Más detalles

MANEJO DEL MOUSE EN LENGUAJE C++

MANEJO DEL MOUSE EN LENGUAJE C++ MANEJO DEL MOUSE EN LENGUAJE C++ Bruno López Takeyas Instituto Tecnológico de Nuevo Laredo Reforma Sur 2007, C.P. 88250, Nuevo Laredo, Tamps. México http://www.itnuevolaredo.edu.mx/takeyas E-mail: takeyas@itnuevolaredo.edu.mx

Más detalles

INEL 4206 Microprocesadores Texto: Barry B Brey, The Intel Microprocessors:

INEL 4206 Microprocesadores Texto: Barry B Brey, The Intel Microprocessors: Introducción al Curso Microprocesadores INEL 4206 Microprocesadores Texto: Barry B Brey, The Intel Microprocessors: Architecture, Programming and Interfacing. 8va. Ed., Prentice Hall, 2009 Prof. José Navarro

Más detalles

CONSTITUCIONES MISIONEROS CLARETIANOS

CONSTITUCIONES MISIONEROS CLARETIANOS CONSTITUCIONES MISIONEROS CLARETIANOS PARTE PRIMERA Capítulo I Capítulo II Capítulo III Capítulo IV Capítulo V Capítulo VI Capítulo VII Capítulo VIII PARTE SEGUNDA Capítulo IX Capítulo

Más detalles

Informática Ingeniería en Electrónica y Automática Industrial

Informática Ingeniería en Electrónica y Automática Industrial Informática Ingeniería en Electrónica y Automática Industrial Entrada y salida estándar V1.3 Autores Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato:

Más detalles

Mod. I, Unid. 1, Obj. 1 CRITERIO DE DOMINIO 1/1

Mod. I, Unid. 1, Obj. 1 CRITERIO DE DOMINIO 1/1 MR. 316 Versión 1 Prueba Integral 1/5 UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERIA MODELO DE RESPUESTA ASIGNATURA: MICROPROCESADORES CÓDIGO: 316 MOMENTO: INTEGRAL VERSIÓN: 01 FECHA

Más detalles

Es importante tener esto en cuanta a la hora de acceder a los datos para operar con ellos.

Es importante tener esto en cuanta a la hora de acceder a los datos para operar con ellos. 1. Introducción 2. Registros internos 3. Modos de direccionamiento 4. Juego de Instrucciones 5. Etiquetas, cometarios y directivas 6. Problemas 1. Introducción El lenguaje ensamblador como cualquier lenguaje

Más detalles

Comparaciones en lenguaje ensamblador

Comparaciones en lenguaje ensamblador Comparaciones en lenguaje ensamblador Objetivo: Entender cómo se realizan las comparaciones de datos en lenguaje ensamblador En lenguaje ensamblador no existe la instrucción IF como se trabaja en otros

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Operadores y Expresiones rcoppo@uns.edu.ar Primer programa en Java 2 Comentarios en Java Comentario tradicional (multi-línea) Comentario de línea Comentario

Más detalles

Laboratorio de Arquitectura de Redes. Entrada y salida estándar

Laboratorio de Arquitectura de Redes. Entrada y salida estándar Laboratorio de Arquitectura de Redes Entrada y salida estándar Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato: scanf() El buffer de teclado Entrada

Más detalles

Examen de Arquitectura de Computadores 2 22 de febrero del 2011

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

Más detalles

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

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

Más detalles

Práctica 3: El teclado del PC

Práctica 3: El teclado del PC Práctica 3: El teclado del PC Gustavo Romero López Arquitectura y Tecnología de Computadores 7 de junio de 2016 Gustavo Romero López Práctica 3: El teclado del PC 1 / 11 Objetivos Objetivos: Fuentes: Recordar

Más detalles

Unidad I: Introducción al lenguaje ensamblador 1.1 Importancia de la programación en lenguaje ensamblador Para comenzar el curso empezaremos conociendo que es el lenguaje ensamblador que utilizaremos y

Más detalles

INSTRUCCIONES ARITMÉTICAS.

INSTRUCCIONES ARITMÉTICAS. Microprocesadores. Guía 4 1 Facultad: Ingeniería. Escuela: Electrónica. Asignatura: Microprocesadores. Lugar de ejecución: Microprocesadores (Edificio 3, 2da planta). INSTRUCCIONES ARITMÉTICAS. Objetivos

Más detalles

Digital II. Conceptos básicos sobre la programación en Assembler. Departamento de Sistemas e Informática. Silvina Ferradal. Escuela de Electrónica

Digital II. Conceptos básicos sobre la programación en Assembler. Departamento de Sistemas e Informática. Silvina Ferradal. Escuela de Electrónica Digital II Conceptos básicos sobre la programación en Assembler Departamento de Sistemas e Informática Escuela de Electrónica Facultad de Ciencias Exactas Ingeniería y Agrimensura Universidad Nacional

Más detalles

Iniciación del mouse El servicio utilizado es el 00, este servicio inicializa el controlador del mouse como sigue:

Iniciación del mouse El servicio utilizado es el 00, este servicio inicializa el controlador del mouse como sigue: Esta es una interrupción de DOS y ayuda a controlar el uso del mouse. Se puede establecer el uso del ratón en modo texto y en modo gráfico. Para hacer uso del mouse se debe establecer el modo de video,

Más detalles

UNIVERSIDAD NACIONAL DE INGENIERIA. Programación en Lenguaje Ensamblador

UNIVERSIDAD NACIONAL DE INGENIERIA. Programación en Lenguaje Ensamblador UNIVERSIDAD NACIONAL DE INGENIERIA RECINTO UNIVERSITARIO SIMON BOLIVAR Facultad de Electrotecnia y Computación Departamento de Arquitectura y Sistemas Folleto Complementario de Arquitectura de Máquinas

Más detalles

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal.

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal. LENGUAJE DE PROGRAMACIÓN TURBO PASCAL El lenguaje de programación de alto nivel Pascal fue diseñado el 1968 por Niklaus Wirth con una finalidad eminentemente pedagógica El 1983, el Pascal fue estandarizado

Más detalles

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

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)

Más detalles

DOCUMENTACIÓN PARA EL TRABAJO CON LA PLATAFORMA GUADALBOT

DOCUMENTACIÓN PARA EL TRABAJO CON LA PLATAFORMA GUADALBOT DOCUMENTACIÓN PARA EL TRABAJO CON LA PLATAFORMA GUADALBOT I.E.S VIRGEN DE LAS NIEVES Programación C para microcontroladores La función printf Índice de contenidos Introducción...2 La función printf...2

Más detalles

UNIVERSIDAD NACIONAL DE INGENIERIA

UNIVERSIDAD NACIONAL DE INGENIERIA UNIVERSIDAD NACIONAL DE INGENIERIA RECINTO UNIVERSITARIO SIMON BOLIVAR Facultad de Electrotecnia y Computación Departamento de Arquitectura y Sistemas Folleto de Arquitectura de Máquinas Computadoras II

Más detalles

Apellidos Nombre DNI

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

Más detalles

LENGUAJE ENSAMBLADOR DEL MICROPROCESADOR

LENGUAJE ENSAMBLADOR DEL MICROPROCESADOR LENGUAJE ENSAMBLADOR DEL MICROPROCESADOR. Registros Internos del Microprocesador 2. Conjunto de Instrucciones (Microprocesadores 886/888) 2. Instrucciones de Transferencia de Datos 2.2 Instrucciones de

Más detalles

Representación de datos y aritmética básica en sistemas digitales

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:

Más detalles

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

2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIFICADORES COMO LOCALIDADES DE MEMORIA CONTENIDOS: 1. TIPOS DE DATOS 2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIICADORES COMO LOCALIDADES DE MEMORIA OBJETIO EDUCACIONAL: El alumno conocerá las reglas para cambiar fórmulas matemáticas

Más detalles

Apuntadores en C y C++

Apuntadores en C y C++ Apuntadores en C y C++ Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Prof. Marcos A. Gil T. 8 de diciembre de 2004 1. Introducción Los apuntadores en C y C++ son una herramienta

Más detalles

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC. Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC. Variables Conceptos de Memoria Una variable es un espacio en la memoria del PC Cada variable tiene un nombre, un tipo, un tamaño y un valor

Más detalles

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC. Programación n Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño o Vargas MsC. Variables y expresiones aritméticas Variables Conceptos de Memoria Una variable es un espacio en la memoria

Más detalles

Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos:

Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos: Tipos de datos. Dato: Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos: I Numéricos: Almacenan números y con

Más detalles

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

Práctica 1. Introducción a la programación en ensamblador Práctica 1 Introducción a la programación en ensamblador 1. Generalidades 2. Introducción 3. Cuestiones 1. Generalidades El desarrollo de las prácticas consistirá en una breve introducción del tema por

Más detalles

Construyendo Programas más Complejos

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

Más detalles

CAPÍTULO 3 PROGRAMACIÓN EN AMBIENTE DE PC

CAPÍTULO 3 PROGRAMACIÓN EN AMBIENTE DE PC 66 CAPÍTULO 3 PROGRAMACIÓN EN AMBIENTE DE PC 3.1 EL SISTEMA OPERATIVO El sistema operativo (SO) provee el ambiente para que otros programas se ejecuten. En las computadoras que tienen múltiples usuarios,

Más detalles

Lección 2 Introducción al lenguaje C

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)

Más detalles