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



Documentos relacionados
Tema 5.2: Segmentación y modos de direccionamiento

Tema 6. Segmentación y modos de direccionamiento

Tema 5.1: Presentación de datos en pantalla

Tema 5. Presentación de datos por pantalla

Tema 5: La pila, las macros y los procedimientos

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

Tema 4. La pila, los procedimientos y las macros

ESTRUCTURA Y ORGANIZACIÓN DE COMPUTADORES

Tema 2: Segmentación y modos de direccionamiento

Tema 4. Lenguaje máquina y lenguaje ensamblador

Tema 4. Fundamentos del ensamblador

Tema 2: Sistemas de numeración

Tema 4. Lenguaje máquina y lenguaje ensamblador

Estructura de Computadores: Tema 1. Introducción. Índice. Arquitectura del i8086

Expresión, Operador, Operando, Asignación, Prioridad

Tema 1. Fundamentos del lenguaje ensamblador

El Diseño de un Lenguaje Máquina

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

ITT-327-T Microprocesadores

Examen de teoría (4 puntos)

Resumen de las instrucciones del 8086/8088

EJEMPLOS EN ENSAMBLADOR

Instrucciones Lógicas y Registro de Banderas

Tema 4. Lenguaje máquina y lenguaje ensamblador

INSTRUCCIONES LÓGICAS Y EL REGISTRO DE BANDERAS.

Nombre del módulo: Instalación de Sistemas Microprocesados. Guía sobre Programación en Ensamblador usando Emulador (emu8086)

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

Examen de teoría (5 puntos)

MICROPOCESADOR NOTAS DE CURSO (Versión 2.1)

Tema 4: Lenguaje máquina - Lenguaje ensamblador

Representación de números enteros: el convenio complemento a uno

Tema 2: Sistemas de numeración

Este grupo es una continuación del anterior, incluye las siguientes instrucciones:

Universidad Nacional de Ingeniería Arquitectura de Maquinas I. Unidad II: Arquitectura y Programacion de un Microprocesador (80X86)

(2) Unidad 2. Modelo de Programación del 80x86 de Intel SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

PRONTUARIO I. INFORMACIÓN GENERAL

Universidad Nacional de Ingeniería Arquitectura de Maquinas I. Unidad I: Arquitectura y Programación de un Microprocesador (8086)

INSTRUCCIONES. LA ENERGIA DE LA MAQUINA Fundamentos de Computadores Capítulo segundo

Tema 4: Las interrupciones y la ROM-BIOS

Registros Arquitectura x86. M. en C. Erika Vilches

Programación en lenguaje ensamblador. Instrucciones básicas. Formatos. Direccionamientos

Conceptos de Arquitectura de Computadoras Curso 2015

Representación de números enteros: el convenio complemento a dos

Represent. Información. Caracteres Alfanuméricos

Examen de Laboratorio de Estructura de Computadores Septiembre 2005 I.T. Informática de Sistemas / Gestión Departamento de Automática ATC -

Tema 3. Operaciones aritméticas y lógicas

Práctica 2. Registros y posiciones de memoria

CONJUNTO DE INSTRUCCIONES Microprocesador 8086

REPERTORIO DE INSTRUCCIONES DEL MICROPROCESADOR 8086

1.2.- EL MICROPROCESADOR.

IDENTIDAD EN PRECISIÓN VARIABLE

Tema 2. Sistemas de representación de la información

Examen de teoría (4 puntos)

Arquitectura Interna del 8088

Asignatura de Organización de Computadoras. Alberto Hernández Cerezo. Cristian Tejedor García. Rodrigo Alonso Iglesias. Universidad de Valladolid

CONJUNTO DE INSTRUCCIONES µp8086

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

Trabajo Práctico Nro 3: Assembler

Examen de teoría (5 puntos)

Examen de teoría (5 puntos)

Unidad II: Programación básica

INSTITUTO TECNOLÓGICO DE CHIHUAHUA II ARQUITECTURA DE COMPUTADORAS MAESTRO: ERNESTO LEAL ALUMNOS: LUIS CARLOS BARRERA ORTIZ STHEPANIE FLORES GUILLEN

Cuadro Comparativo Registros de Microprocesadores

PROBLEMAS DE ESTRUCTURA DE LOS COMPUTADORES LENGUAJE MÁQUINA Y ENSAMBLADOR

Práctica 1. Sistemas de Numeración y Representación de la Información

6-REGISTROS DEL 8086 Y DEL 80286

1.2 Análisis de los Componentes. Arquitectura de Computadoras Rafael Vazquez Perez

Comparativas del número de ciclos de ejecución de un programa en ensamblador

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

Capacidad : Número de valores diferentes que puede representar un código. Depende del número de dígitos usados.

Programación en Lenguaje Ensamblador para el Procesador MC68000

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

k k N b Sistemas Númericos Sistemas con Notación Posicional (1) Sistemas con Notación Posicional (2) Sistemas Decimal

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

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

Examen de teoría (5 puntos)

Arquitectura (Procesador familia 80 x 86 )

Departamento de Sistemas e Informática

Pregunta correcta=0,4 Pregunta no contestada=0 Pregunta incorrecta (tipo test)=-0,2

Puertas lógicas NAND, NOR y OR exclusiva Práctica # 10

Arquitectura de Computadores II 8086 Parte II

SISTEMAS BASADOS EN MICROPROCESADORES

ENSAMBLADOR. M.C. Laura Cuayahuitl Romero MODO DE DIRECCIONAMIENTO DIRECTO

Tema 8. Saltos. (parte I)

Tema 3: Operaciones aritméticas y lógicas

Tema 4. Estructura de un ordenador elemental

Tema 1 Sistemas de numeración

PROCESAMIENTO DE LOS DATOS. Procesamiento de datos ascii a binario y de binario a ascii

FUNDAMENTOS TEORICOS

Práctica 3: El teclado del PC

Bloques del programa de la asignatura

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

Repertorio de Instrucciones del 8086/8088

Arquitectura de Sistemas

Práctica 3: El teclado del PC

EJERCICIOS RESUELTOS DEL TEMA 5

Unidad Aritmético Lógica. Escuela Superior de Informática Universidad de Castilla-La Mancha

Arquitectura de Sistemas

Transcripción:

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 S Rotaciones S Desplazamientos concatenados S Instrucciones lógicas S AND S OR S XOR S NOT S Instrucciones de manejo de bits Bibliografía básica S 8088-8086/8087 programación ensamblador en entorno MS-DOS Miguel Angel Roselló. Ed. Anaya Multimedia S Microprocesadores: el 8088 / 86 Fernando Remiro Domínguez Agustín Martín García Ed. Akal-Bibiloteca tecnológica S Lenguajes ensambladores R. Martínez Tomás. Ed. Paraninfo S Lenguaje ensamblador de los 80x86 Jon Beltrán de Heredia Editorial Anaya-Multimedia. 996

Representación de cadenas de caracteres (I) S Representaciones alfanuméricas: S Codifican mediante un grupo de bits (6, 7, 8, 6) cada uno de los caracteres a representar S Ejemplos de códigos alfanuméricos: S 6 bits (64 caracteres posibles) Fieldata y BCDIC S 7 bits (8 caracteres posibles) ASCII S 8 bits (56 caracteres posibles) ASCII extendido y EBCDIC S 6 bits (65536 caracteres posibles) UNICODE 3 Representación de cadenas de caracteres (II) 4

Representación de cadenas de caracteres (III) 5 Instrucciones de desplazamiento (I) S Todas las instrucciones de desplazamiento, ya sean de desplazamiento aritmético, lógico, rotaciones o desplazamientos concatenadas presentan el mismo formato y presentan las mismas características: Nemónico Destino, veces Donde S Némomnicoeselnombredelainstrucción S Destino es el operando que actúa como fuente y destino de la instrucción S Veces es el número de desplazamientos (a nivel de bit) que se realiza la instrucción. Puede ser, o varios, en este último caso, el número de veces solicitado debe indicarse en el registro CL previamente S Todas ellas modifican el flag de acarreo 6 3

Instrucciones de desplazamiento (II) SAL SAL destino, contador Desplazará a la izquierda el operando destino tantos bits como indique el valor del contador, rellenando con ceros los bits que quedan libres por la derecha Si el valor de contador es mayor que uno, obligatoriamente deberemos especificarlo en el registro CL Si especifico un desplazamiento sobre un registro de ocho bits, la parte alta o la parte baja de los registros AX, BX, CX o DX, el desplazamiento será local a esos ocho bits. Copia el contenido del bit más significativo en el flag de acarreo MOV AX, ; AX = SAL AX, ;AX=4 CF 8o6bits 0 MOV CL, ; CL = SAL AX, CL ; AX = 6 7 Instrucciones de desplazamiento (III) SAR SAR destino, contador El formato de la instrucción es SAR destino, contador Desplazará a la derecha el operando destino tantos bits como indique el valor del contador, rellenando con el bit de signo los bits que quedan libres por la izquierda Si el valor de contador es mayor que uno, obligatoriamente deberemos especificarlo en el registro CL Si especifico un desplazamiento sobre un registro de ocho bits, la parte alta o la parte baja de los registros AX, BX, CX o DX, el desplazamiento será local a esos ocho bits. Copia el contenido del bit menos significativo en el flag de acarreo MOV AX, 6 ; AX = 6 SARAX, ;AX=8 MOV CL, ; CL = Sig no 8o6bits CF SAR AX, CL ; AX = 8 4

Instrucciones de desplazamiento (IV) SHL SHL destino, contador Desplazará a la izquierda el operando destino tantos bits como indique el valor del contador, rellenando con ceros los bits que quedan libres por la derecha. Es un desplazamiento lógico. El comportamiento es igual que el de la instrucción SAL Si el valor de contador es mayor que uno, obligatoriamente deberemos especificarlo en el registro CL Si especifico un desplazamiento sobre un registro de ocho bits, la parte alta o la parte baja de los registros AX, BX, CX o DX, el desplazamiento será local a esos ocho bits. Copia el contenido del bit más significativo en el flag de acarreo MOV AX, 0FFFFh ; AX = FFFFh (-) SHL AX, ; AX = FFFEh (-) CF 8o6bits 0 MOV CL, ; CL = SHL AX, CL ; AX = FFF8h (-8) 9 Instrucciones de desplazamiento (V) SHR SHR destino, contador Desplazará a la derecha el operando destino tantos bits como indique el valor del contador, rellenando con ceros los bits que quedan libres por la izquierda. Es un desplazamiento lógico Si el valor de contador es mayor que uno, obligatoriamente deberemos especificarlo en el registro CL Si especifico un desplazamiento sobre un registro de ocho bits, la parte alta o la parte baja de los registros AX, BX, CX o DX, el desplazamiento será local a esos ocho bits. Copia el contenido del bit menos significativo en el flag de acarreo MOV AX, ; AX = FFF8h (-8) 0 8o6bits SHR AX, ; AX = 7FFCh (3764) MOV CL, ; CL = SHR AX, CL ; AX = FFFh (89) CF 0 5

Instrucciones de desplazamiento (VI) ROL ROL destino, contador Rota los bits del operando destino hacia la izquierda tantos bits como indique el valor del contador, rellenando con los bits que saldrían por la izquierda los bits que quedan libres por la derecha Si especifico una rotación sobre un registro de ocho bits, la parte alta o la parte baja de los registros AX, BX, CX o DX, la rotación será local a esos ocho bits. Copia el contenido del bit más significativo en el flag de acarreo MOV AX, 8000h ; AX = 8000h ROL AX, ; AX = 000h CF 8o6bits MOV CL, ; CL = ROL AX, CL ; AX = 0004h Instrucciones de desplazamiento (VII) ROR ROR destino, contador Rota los bits del operando destino hacia la derecha tantos bits como indique el valor del contador, rellenando con los bits que saldrían por la derecha los bits que quedan libres por la izquierda Si deseamos rotar el operando una única vez a la derecha, se puede especificar directamente. Si el valor de contador es mayor que uno, obligatoriamente deberemos especificarlo en el registro CL Si especifico una rotación sobre un registro de ocho bits, la parte alta o la parte baja de los registros AX, BX, CX o DX, la rotación será local a esos ocho bits. Copia el contenido del bit menos significativo en el flag de acarreo MOV AX, 800h ; AX = 800h ROR AX, ; AX = C000h 8o6bits CF MOV CL, ; CL = ROR AX, CL ; AX = 300 6

Instrucciones de desplazamiento (VIII) RCL RCL destino, contador Rota los bits del operando destino hacia la izquierda a través del flag de acarreo tantos bits como indique el valor del contador Si deseamos rotar el operando una única vez a la izquierda, se puede especificar directamente. Si el valor de contador es mayor que uno, obligatoriamente deberemos especificarlo en el registro CL Si especifico una rotación sobre un registro de ocho bits, la parte alta o la parte baja de los registros AX, BX, CX o DX, la rotación será local a esos ocho bits CF 8o6bits MOV AX, 8000h ; AX = 8000h y además suponemos el flag de acarreo a RCL AX, ; AX = 000h MOV CL, ; CL = RCL AX, CL ; AX = 0006h y el flag de acarreo estará a 0 3 Instrucciones de desplazamiento (IX) RCR RCR destino, contador Rota los bits del operando destino hacia la derecha tantos bits como indique el valor del contador a través del flag de acarreo Si deseamos rotar el operando una única vez a la derecha, se puede especificar directamente. Si el valor de contador es mayor que uno, obligatoriamente deberemos especificarlo en el registro CL Si especifico una rotación sobre un registro de ocho bits, la parte alta o la parte baja de los registros AX, BX, CX o DX, la rotación será local a esos ocho bits 8o6bits CF MOV AX, 800h ; AX = 800h y suponemos el flag de acarreo a ROR AX, ; AX = C000h MOV CL, ; CL = ROR AX, CL ; AX = 7000h y el flag de acarreo estará a 0 4 7

Instrucciones lógicas (I) AND AND destino, origen Realiza a nivel de bits la operación lógica AND entre el origen y el destino Tanto el origen como el destino pueden ser operandos de 8 o de 6 bits, pero ambos del mismo tamaño AND AX, BX ; Si AX = 7777h y BX = h entonces AX AND BX = h AND AX, ; AX = 4 entonces AX AND = 0 AND AX, 0FFFFh ; Sea cual sea el valor de AX, AX AND 0FFFFh = AX a b a AND b 0 0 0 0 0 0 0 5 Instrucciones lógicas (II) OR OR destino, origen Realiza a nivel de bits la operación lógica OR entre el origen y el destino Tanto el origen como el destino pueden ser operandos de 8 o de 6 bits, pero ambos del mismo tamaño OR AX, BX ; Si AX = 7777h y BX = h entonces AX OR BX = 7777h ORAX, ;SiAX=4entoncesAXOR=5 OR AX, 0h ; Sea cual sea el valor de AX, AX OR 0FFFFh = AX a b a ORb 0 0 0 0 0 6 8

Instrucciones lógicas (III) XOR XOR destino, origen Realiza a nivel de bits la operación lógica XOR entre el origen y el destino Tanto el origen como el destino pueden ser operandos de 8 o de 6 bits, pero ambos del mismo tamaño XOR AX, BX ; Si AX = 7777h y BX = h entonces AX XOR BX = 5555h XOR AX, ; Si AX = 4 entonces AX XOR = 5 XOR AX, 0FFFFh ; Si AX = 7777h AX XOR 0FFFFh = 8888h a b a XORb 0 0 0 0 0 0 7 Instrucciones lógicas (IV) NOT NOT destino Realiza a nivel de bits la operación lógica NOT del destino El destino pueden ser operandos de 8 o de 6 bits, pero ambos del mismo tamaño NOT AX ; Si AX = 7777h entonces NOT AX= 8888h a NOT a 0 0 8 9

Instrucciones de manejo de bits (I) TEST TEST destino, contador Es igual que la operación AND ( y lógico) pero no se guarda el resultado en destino Se realiza a nivel de bit y modifica los flag de estado ; AX = 34, BX = 0000 TEST AX, BX ; AX =34, BX = 0000, Resultado = 0000 JZ Es_Cero ; Salta si es cero a la posición Es_Cero 9 Instrucciones de manejo de bits (II) CLI CLI Desactiva las interrupciones Las interrupciones no enmascarables no se pueden inhibir CLI Permite las interrupciones STI STI STI 0 0

Instrucciones de manejo de bits (III) Desactiva el flag de acarreo CLC CLC CLC Activa el flag de acarreo STC STC STC Instrucciones de manejo de bits (IV) CLD CLD Pone a cero el flag de dirección (para trabajar con las instrucciones de cadenas) CLD STD STD Pone a uno el flag de dirección (para trabajar con las instrucciones de cadenas) STD