o RCO ) segmento E. RC1 ) segmento D RC2 ) segmento C



Documentos relacionados
Las Instrucciones. A continuación vamos a presentar el conjunto de instrucciones básico de los Microcontroladores Picmicro.

Práctica 1. Introducción al laboratorio y al ensamblador del PIC. 1. Objetivos. 2. Introducción. 2.1 Ensamblar y simular

Microcontrolador PIC 16F84

Instrucciones para programar el PIC16F877

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

El Entorno Integrado de Desarrollo Dev-C++ (Ayuda básica para las primeras sesiones de prácticas)

ZILOG DEVELOPER STUDIO

PRÁCTICA 1: Entorno de desarrollo MPLAB-IDE. Primeros ejemplos de programación.

PROTEUS Depuración de programas para microprocesadores

Guadalinex Básico Impress

Control de Inventarios SisMod

Presentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos:

Hacer una página web con Kompozer

GVisualPDA Módulo de Almacén

CREACIÓN DEL PRIMER PROYECTO EN mikrobasic PRO for AVR

I. Seguridad y Privilegios de los usuarios del Sistema emaksimus.

Guía N 1: Fundamentos básicos(i)

Al descomprimir su archivo en una carpeta podrá observar los documentos:

INDICE. 1. Introducción El panel Entities view El panel grafico Barra de botones Botones de Behavior...

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.

Mejoras introducidas MARKETING GIO

Conociendo el ambiente de programación de Java. M. en C. Erika Vilches

GESTINLIB GESTIÓN PARA LIBRERÍAS, PAPELERÍAS Y KIOSCOS DESCRIPCIÓN DEL MÓDULO DE KIOSCOS

Capítulo 0. Introducción.

Portafolios en CREA 2. Manual

C/ Rayo, 12 (Edificio Santa María) GETAFE Madrid Tel: (6 Líneas) Fax:

Comisión Nacional de Bancos y Seguros

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora


V i s i t a V i r t u a l e n e l H o s p i t a l

MS2000 Tutorial de Mantenimiento Preventivo RQ Consultoría Técnica, S de RL de CV Revisión 27 Septiembre 2008

COMUNICACION DE PLC S MEDIANTE EL PUERTO RS- 485 Y MONITOREADO POR PANTALLA.

Diseño de páginas web

H O T E L W I N Configuración del motor de Reservas on line

Acronis License Server. Guía del usuario

Configuración Y Diseño Del Correo Electrónico Y Web Personal De IESA

Formas de Pago y Efectos en Facturas de Venta WhitePaper Febrero de 2007

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS COORDINACIÓN DE ELECTRÓNICA GUÍA DE LABORATORIO Nº 02

Carrera: Analista de Sistemas. Asignatura: Resolución de Problemas y Algoritmos

SOROLLA MODULO DE JUSTIFICANTES DEL GASTO

Entorno de programación de Dev-C

Instalación del Admin CFDI

Guía de instalación y manejo de la Ficha Docente CONEAU Incentivos

Creación de contenidos en WebBuilder. Herramienta Web Builder en Word de Microsoft Office

06-O GUIA DEL ORFE PARA LA INSTALACIÓN Y CONFIGURACIÓN DEL SOFTWARE DE FIRMA BIOMETRICA

USO DEL SOFTWARE PROVIEW 32

MINI MANUAL PARA CREAR FORMULARIOS CON PHP Marzo 2007

FDR Electrónicos. Su mejor opción en tecnología y servicios computacionales. Manual de uso para programa de facturación electrónica

EJERCICIOS DEL TEMA 1

Kaldeera Advanced Forms 2009 Guía del usuario

Trey-SAT Pag. 1. Manual de usuario

Combinar comentarios y cambios de varios documentos en un documento

Capítulo 9. Archivos de sintaxis

Opciones disponibles para arrancar MAX

Manual de Introducción a SIMULINK

Operación de Microsoft Word

MANUAL DE FACTURACIÓN TOUCH SCREEN

Puede faltar la operativa de algunas funciones en la aplicación.

CALCULAR NOTAS CON EXCEL

x

Creando páginas para mi

Comentario sobre el entorno de desarrollo Microsoft Visual Studio 2005 Juan Manuel Lucas

Programa de Ayuda HERES

Manual Impress Impress Impress Impress Impress Draw Impress Impress

Inventek Punto de Venta 7.0

El sistema está solicitandome ingresar nuevamente porque mi sesión ha expirado. Qué significa esto?

Correo Electrónico: Webmail: Horde 3.1.1

LiLa Portal Guía para profesores

FACULTAD DE INGENIERÍA, U.B.A. Seminario de Sistemas Embebidos TRABAJO PRÁCTICO 0

Manual de operación Tausend Monitor

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema

Internet Information Server

Cuestionario: Programación en C y máscaras (II)

GUÍA PARA LA INSTALACIÓN DE MOODLE EN UN COMPUTADOR PERSONAL QUE USA EL SISTEMA OPERATIVO MS. WINDOWS

Race Manager by Master Timing Guía del usuario GUIA RACE MANAGER. Eventronic, SL

MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA

2. ALCANCE Esta guía aplica a todos los responsables de crear o modificar documentos del SGC basado en la norma INTE/ISO 9001:2008.

TEMA 9 CREACIÓN DE PÁGINAS WEB

INSTITUTO TECNOLÓGICO DE SALTILLO

MANUAL PARA LA CREACION DE CALENDARIOS SOFTWARE: Phuc Control

Introducción a Protégé

TUTORIAL PARA REDIMENSIONAR FOTOS

MANUAL JOOMLA. Antes de empezar a modificar la información debemos introducir una serie de datos para dejar la cuenta preconfigurada.

API. Administración Portuaria Integral, Veracruz. Manual de Usuario del software para generar la programación de conceptos de Obras...

CURSOS PRÁCTICOS SEDEN. Maquetación de un trabajo en Word SEDEN

El programa Minitab: breve introducción a su funcionamiento. Para mostrar la facilidad con la que se pueden realizar los gráficos y cálculos

Tema IX Mi PC. 9.1 Qué hay en su PC?

NORMA 34.14(SEPA) 05/11/2013

Guía para la Automatización de Documentos en. Microsoft Word

TUTORIAL. Edición de contenido y creación de entradas y páginas Wordpress

SISTEMAS NUMERICOS. Ing. Rudy Alberto Bravo

DOCENTES FORMADORES UGEL 03 PRIMARIA

Es necesario realizar una actualización del software del medidor FreeStyle InsuLinx. Lea completamente este documento antes de empezar.

Dando nuestros primeros pasos con 3DS Max. 1. Objetivos

COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER

MySQL Administrator. Instructivo básico para el respaldo de base de datos gncys.com

GUIA PARA LA DISTRIBUCION DE APLICACIONES DE VISUAL BASIC 6.0

Transcripción:

gxanren de lnformática C.l.T de examen: Libre Reglgrngllqle! Ejercicio 1. Explique cómo se tiene que usar el software MPLAB para poder escribir en et áo ior el programa en lenquaie assembler' Ejercicio 2. En el software MpLAB, cómo se puede verificar que el programa funciona bien? Dé un ejemplo con el siguiente programa: LIST P1 6F69 0 ]N]CIO rqu ORG MOVLTü ADDLI/ü MO\/WF 0x020 0x0000 INICfO ox8 1 0x8 3 Ejercicio 3. Desarrolle la subrutina que convierte el número cargado en el registro de trabajo (W) su letra correspondiente a la palabra "febrero, considerando: o RCO ) segmento E. RC1 ) segmento D RC2 ) segmento C o RC3 ) segmento B o RC4 ) segmento A o RC5 ) segmento F o RCG ) segmento G o RC7 permanece como 0. Ejercicio 4. si se supone que inicialmente valen cero los registros w y los que ocupan las direcciones 0x23 y Ot24 de la memoria de datos, Qué valor contendrán después de ejecutar el siguiente programa? COMF IORlIE XORWF 0x2 3, 0 0x24,L 0x2 3, 1 0x23,0 0x24,7 Página 1 de 1

, Período C.I.T Tipo de examen: Librel-l Reglamentadol-l CETP - ITS Resolución del Examen - Teórico. Ejercicio 1. Explique cómo se tiene que usar el software MPLAB para poder escribir en el editor el programa en lenouaie assembler. Primero hay que crear un proyecto nuevo siguiendo los pasos correspondientes (Proiect>New o el botón New Project de la barra de herramientas Project Manager) o abrir un proyecto existente (Praiect>Open). Luego, hay que crear un archivo nuevo (File>New o el botón New File de la barra de heramientas Standard). Aparecerá una ventana titulada Untitled donde se podrá empezar a escribir el programa en código assembler. Antes, durante o después de escribir el código, se puede guardar el archivo del código con extensión. asm, la extensión de los archivos código fuente assembler (es la extensión dada por defecto en la ventana Save As). Cuando el archivo se guarda, el nombre de la ventana cambia al camino del archivo y los diferentes campos del código (números hexadecimales, etiquetas, comentarios, etc.) toman el formato programado en la configuración del editor (Edit>Properties..., pestaña Text). Ejercicio 2. -+- En el software MPLAB, cómo se puede verificar que el programa funciona bien? Dé un ejemplo con el siguiente programa: TNICIO LI ST EQU ORG MOVLT{ ADDLI^7 MO\/[fF P=16F690 0x02 0 0x0000 INICIO 0x81 0xB3 Primero se debe elegir el depurador. Elegimos "MPLAB SIM" como depurador del programa (Debuqaer>Select Tools>MPLAB SIW y luego depuramos el programa (Proiect>Build All, <Ctrl> + <F10> o el botón Build All de la barra de herramientas Project Manager). Elegimos la ventana Watch (View>Watch), donde elegiremos las variables a observar (En este caso serán RESULTADo, status y wreg (registro de Página 1 de 8

, Período i 4oaño c.l.t Examen de Informática Cedula de ldentidad No: Tipo de examen: Librel--l Reglamentadon CETP.ITS trabajo)). Debido a la velocidad y duración del programa del ejemplo, corremos el programa como animación paso a paso (Debuoger>Animate o el botón Animate de la barra de herramientas Debug) o por pasos individuales (Debuqqer>Step lnto, <FT> o el botón Step lnto de la barra de herramientas Debug). Cuando se depura se tiene que observar la siguiente secuencia de hechos: PROGRAMA ü]reg STATUS ]NICIO B'00000000' B'00000000' B'00011000' IN]C]O MOVLW OXB1 B'00000000' B'00000000' B'00011000' ADDLVü OXB3 B'00000000' B'1.000000i' B'00011000' MOWF B'00000000' B'4i0000i0ü' B'0001100-L' B,00000i00, B'00000100' B'00011001' En rojo, están marcados los bits Al sumarse el numero 0xB 1 (ya almacenado en wreg) y el número oxa3 (proveniente del literal) en wreg, el bit c (bit de acarreo, localizado en sratus,l (el 1o de derecha a izquierda)) se pone a'1'debido a que el resultado de la suma en vüreg (0x104) sobre pasa los 8 bits, por lo que el 90 bit se pasa al acarreo. Sin el 90 bit, el resultado almacenado en wreg (0x04) se pasa al. Ejercicio 3. -+- Desarrolle la subrutina que convierte el número cargado en el registro de trabajo (W) su letra correspondiente a la palabra "febrero", considerando:. RCO ) segmento E. RC1 ) segmento D o RC2 ) segmento C o RC3 ) segmento B. RC4 ) segmento A. RC5 ) segmento F. RC6 ) segmento G. RC7 permanece como 0. ;4-- ^->. illl /'l/"j Ya -o-x [l-lj ittt IJ (J 'l --D X Tenga en cuenta cómo se va a implementar el mecanismo: a la subrutina entrará el valor "x" de la posición de la letra en la palabra mediante wreg. Este valor "x" se sumará al valor de pcr, (contador de programa), lo que provocará que el programa saltee "x" instrucciones dentro de la subrutina. Luego, la subrutina devolverá el valor la configuración del display de 7 segmentos. Aclarado esto, empecemos con la subrutina. Página 2 de 8

Período Electrotecnia c.r.t Tipo de examen: LibreE CETP - ITS Reglamentadon Primero, el cabezal de la subrutina. Llamaremos TABLA a la subrutina, por lo que la primera línea empezará con esta etiqueta. Luego se debe insertar la operación de suma entre pcl, y wreg. La instrucción es ADDWE f, d, donde f es el valor del registro fuente (rcl) y d indica a dónde se cargará el resultado (r, para que se cargue en pcr, y realice el salto). Entonces quedaría así: TABLA PCL, F ADDWF Ahora, empezamos con la tabla. Considere primero cómo se verán las letras de la palabra en el display, y luego haga la tabla correspondiente. Para nuestro ejemplo, las letras que usaremos ('F', 'E', 'B', 'R' y'o') se verán de la siguiente forma: Letra'F' Letra'E' Letra'B' Letra'R' Letra'O' ffi Luego que tenga el esquema de empiece a diseñar la tabla con los segmentos según el orden que poseen. Luego se cambian de lugar para ajustarse a la configuración que se da en el problema (Sigan el resaltado de las letras para ver los cambios y el fondo para ver a qué configuración pertenecen): Segr,nentos F E B R o Una vez arreglado ese asunto, debe pensar como cargar el valor de la tabla en wreg y al mismo tiempo volver al procedimiento anterior. Hay una instrucción de retorno diseñada para estos casos. Es Rntr,w r, donde t representa un literal que se cargará en wreg antes de que se salga de la subrutina. En nuestro caso el literal será el valor que se deba cargar en portc y que acabamos de calcular. Según la Ietra, RC7 permanecerá como'0'. Si se van a mostrar en hexadecimal, esto significa que los literales no van a ser mayores que 0x7r. Luego de arreglado este asunto se pueden armar las tablas. Así se verá la tabla en ambas versiones (binaria y hexadecimal): Página 3 de 8

." Período c.t.t Gedula de ldentidad N": Tipo de examen: Libre[--l Reglamentadon CETP.ITS LETRA RUTINA (BIN) RUTINA (HEX) F RETLW B'O111OOO1' RETLW OX71 E RETLW 8'01110011' RETLW OX73 B RETLW 8'01100111' RETLW OX67 R RETLVü B' O1OOOOO1' RETLVü OX41 E RETLW 8'0111001-1' RETLW OX73 R RETLW B'O1OOOOO1' RETLW OX41 O RETLW B' O1OOO111' RETLW OX47 Al final, se pondrá un simple RETURN por si accidentalmente el número'7' pasa a la tabla. Si esto ocurre, el número'7' se conservará en wnrc y se cargara en portc \- como la configuración del display, por lo que se mostrará una "u" minúscula en el display cuando se salga de la subrutina que indicará que el filtrado está fallando. Dado esto, se ahora si podemos dar la subiutina completa en sus dos versiones, con tabla binaria (BlN) y hexadecimal (HEX). Según la opción que quiera, así es como deberá verse la subrutina terminada: (BtN) TABLA ADDWF PCL, F RETLVü B'O111OOO1' RETLVü B' 01110011' RETLW B'01100111' RETLVü B' O].OOOOO1' RETLW B' 01110011' RETLW B'O1OOOOO1' RETLW B'01000111' (HEx) RETURN TABLA ADDWF PCL, E RETLW OX71 RETLVü OX7 3 RETLW OX67 RETLW OX41 RETLW OX73 RETLVü OX41 RETLVü OX41 RETURN Página 4 de 8

. Período 4oaño c.t.t Tipo de examen: LibreE Reglamentadof--l CETP. lts Ejercicio 4. Si se supone que inicialmente valen cero los registros W y los que ocupan las direcciones 0x20 y Ox21 de la memoria de datos, Qué valor contendrán después de ejecutar el siguiente programa? INCE come f ORVüF xori{f 0X02 0, i I 0X020, E 0x021, E 0X021,I/ü 0X020f F Bien, lo primero revisar las líneas de programa una por una para ver qué sucede.. Se incrementa oxo2 0 (0x00 ) 0x01) y se carga en WREG, sin afectar a 0x2 0.. Se incrementa 0x021 (0x00 ) 0x01) y se carga en el propio registro sin afectar a wreg.. Se invierte el valor de oxozl (0x00 ) oxrr) y se carga en el propio registro.. Se suman lógicamente (ron) wreg y oxo21 (0x01 + oxff ) oxrr) y se carga el valor en htreg, sin afectar a 0x021. Se hace un xon entre wreg y ox02 o (oxee o 0x01 ) oxfe) y se carga en 0x21 sin afectar a wreg. Ahora revisemos esto en frio: PROGRAMA rnce comf rorütf XORITTF 0X2 0,I I 0X20, F 0x21, F 0x21, tr\7 0X2 0, F I^IREG 0x2 0 0x2\ B]N HEX BIN HEX BTN HEX B' 00000000' 0x0 0 B,00000000, 0x0 0 B'00000000, 0x00 B,0000000i, 0x0 i B',00000000, 0x0 0 B,00000000, 0x0 0 B'00000001, 0x0l_ B'0000000i.. 0x01 B'00000000, 0x0 0 B 00000001, 0x01 B',00000001, 0x01 B'.i.1i i:lil-"1_, 0xL,'P' B'r1, l.ji 111' NY;'Ii B' 00000001, 0x01 B'11111111' OXFE B'11111111/ OXFF B i-i-"lr1i1ü' OXF]E B',11111111'.OXFF La última fila contiene los resultados finales de los registros 0x020, 0x021 y wreg, los cuales solo se ven cuando se llega alfinal del programa. Página 5 de 8

, Período Febrero 2O1O c.r.t Tipo de examen: Libre E Reqlamentado fi CETP. ITS PROBLEMA 1: parte del PROGRAMA PRINCIPAL: NEWCONT BUCLE VER DESB UNI INC_DEC VER-X_I.INI VER Y DEC CLRF CLRF CALL MOVLW SUBWF BTFSS CLRF GOT'O MOVLW SUBWF BTFSS MOVLW SUBWF BTFSS CALL UNIDAD DECENA DESPLE IINIDAD,I D'10' UNIDAD,O STATUS,2 VER_X-LINI UNIDAD DECENAsl BLiCi,E D'X' LINIDAD,O STATUS,2 BUCLE D'Y' DECENA5o STATUS,2 BUCLE DESPLE NEWCONT \ NOTA: La línea en roio impide que se revise el límite si el número es múltiplo de 10, por lo que debe borrarse.