CONALEP TEHUACÁN 150. INSTALACIÓN DE SISTEMAS MICROPROCESADOS. GRUPO 309 SOMA UNIDAD 2. INTRODUCCIÓN A LA PROGRAMACIÓN EN LENGUAJE ENSAMBLADOR Programas a explicar: 1. Hello World.asm 01 02 03 org 100h 04 05 jmp start ; jump over data declaration 06 07 msg: db "Hello, World!", 0Dh,0Ah, 24h 08 09 start: mov dx, msg ; load offset of msg into dx. 10 mov ah, 09h ; print function is 9. 11 int 21h ; do it! 12 13 mov ah, 0 14 int 16h ; wait for any key... 15 16 ret ; return to operating system. B. Qué hace? Simplemente despliega el mensaje Hola Mundo en inglés directo a la pantalla. C. Qué se puede modificar? Al ser el programa más simple a realizar en cualquier lenguaje de programación, todo lo que podemos modificar, como ya lo hicimos en la práctica anterior, es el mensaje de la línea número 07. D. Para qué sirve? Su principal función es dar una introducción práctica y sobretodo simple al ambiente de la programación en lenguaje ensamblador, sin embargo, podemos utilizar su estructura para desplegar mensajes en la pantalla cuando se necesiten. E. Qué haremos en el laboratorio? Deberemos modificar nuevamente la frase de Hello World por cualquier otra y comprobar que se ejecute, inmediatamente después deberemos probar los siguientes cambios: a) Verificar que reconozca caracteres especiales como los números, signos, acentos y la letra ñ. b) Modificar para que aparezca un párrafo completo de al menos tres renglones. c) Guarde el archivo modificado con el nombre Código-01.asm, compile el código y copie los archivos (seis en total) a una carpeta llamada Programa-01. d) Realice las capturas de pantalla correspondientes a cada paso.
2. Traffic lights.asm B. Qué hace? Es un programa mucho más complejo de control digital como los que realizamos en OPCI, es el lado opuesto de lo que se puede realizar con un lenguaje ensamblador. Permite controlar el funcionamiento de un sistema de luces de tráfico (semáforos) para dos calles cada una de ellas con doble sentido pero sin la posibilidad de que los autos cambien de calle. Genera un archivo EXE con su respectiva interfaz gráfica diseñada por separado. C. Qué se puede modificar? Pese a ser más compleja su estructura aún se puede catalogar como un ejercicio de programación simple, por ello sólo podemos modificar el tiempo en que dura cada proceso. D. Para qué sirve? Genera un archivo ejecutable que puede ser llevado a algún dispositivo físico que sea capaz de leerlo y entonces se convierta en el software que le permita el funcionamiento a un elemento como los semáforos. A nosotros nos resulta un ejemplo práctico de cómo la programación de un microprocesador puede resultar en el control electrónico digital de todo un equipo físico. E. Qué haremos en el laboratorio? Deberemos modificar el tiempo, que en lugar de 5 segundos reconozca los siguientes periodos: a) 10 segundos, 20 segundos y 1:30 minuto b) Guarde el archivo modificado con el nombre Código-02.asm, compile el código y copie los archivos (seis en total) a una carpeta llamada Programa-02. c) Realice las capturas de pantalla correspondientes a cada paso.
3. Palindrome.asm B. Qué hace? Es un programa que trabaja con cadenas (strings) lo que permite la introducción de valores tales como un enunciado completo. Compara la información en forma de string que ha sido introducida y la compara con algunas condiciones propuestas previamente. En ese momento verifica que se cumplan o no las condiciones y ante tal situación nos arroja un mensaje en pantalla que bien podría ser alguna otra acción mucho más compleja.
C. Qué se puede modificar? Es un programa altamente modificable, a partir de la línea de código número 013. Podríamos hacer que el programa verifique que cumpla hasta reglas ortográficas. En nuestro caso verificaremos algo verdaderamente complejo, que el enunciado introducido en esa línea sea un palíndromo, es decir que se escriba exactamente igual en cualquier sentido, una situación más propia de los módulos de español pero perfectamente aplicable a la resolución de problemas mediante programación. D. Para qué sirve? En este caso verifica el orden y la composición de un enunciado, sin embargo, si lo modificamos podría cumplir con la verificación de cualquier regla ortográfica no solo del idioma español sino de cualquier otro idioma. Sin embargo su utilidad va más allá: este es el principio de los correctores ortográficos de los procesadores de texto como Word, pero también nos deja las bases para la verificación de texto que se introduce en una casilla dinámica en contenido web, por ejemplo una contraseña (password), la dirección de un correo electrónico o el nombre de usuario, que si los vinculamos a una base de datos obtenemos el verdadero uso de la función string en la programación. E. Qué haremos en el laboratorio? a) Modificaremos al menos 20 enunciados, 10 en idioma español y 10 en idioma inglés, de los cuales 5 deberán ser palíndromos y 5 no lo serán, verificaremos que el programa los detecte como tales. Use internet para ubicar los palíndromos de una manera más sencilla. b) Guarde el archivo modificado con el nombre Código-03.asm, compile el código y copie los archivos (seis en total) a una carpeta llamada Programa-03. c) Realice las capturas de pantalla correspondientes a cada paso.
4. Stepper motor.asm
B. Qué hace? Similar al de las luces de tráfico, es un control digital pero para un motor de pasos o bien un servomotor. Esto significa que seremos capaces de controlar el desplazamiento angular de un motor de acuerdo a nuestras propias necesidades, incluyendo hacia dónde girará nuestro motor. El programa genera un archivo EXE que puede ser instalado en algún dispositivo para que exista una interfaz con entradas y con salidas. C. Qué se puede modificar? A partir de la línea de código 020 existen varios datos binarios (recuerde la información revisada en el módulo OPCI) y de acuerdo a las combinaciones binarias tendremos la cantidad de vueltas que da el motor antes de cambiar súbitamente la dirección del giro. La programación resulta sencilla si comprendemos los concepto de álgebra booleana, en caso contrario se complica pues todo funciona en base a las combinaciones de 0 y 1. D. Para qué sirve? Nuevamente permite generar un archivo ejecutable que puede ser llevado a algún dispositivo físico que sea capaz de leerlo y entonces se convierta en el software que le permita el funcionamiento a un motor con las características. Este ejemplo en particular nos servirá para poder implementarlo en nuestro proyecto final de semestre. E. Qué haremos en el laboratorio? a) Emularemos el proceso, y una vez que tengamos la ventana de proceso (se distingue porque en la barra superior aparece la leyenda emulator: stepper.bin_ en lugar de correr todo el proceso (con el botón run ) seleccionaremos single step, esta función permite ir viendo en la ventana de simulación paso por paso lo que el programa va haciendo, esto se logra en la ventana titulada original source code porque la función ejecutada se ilumina en color amarillo. Analice con total detalle el funcionamiento. b) Una vez analizado el programa con su emulación, esto llevará varios minutos, será momento de cerrar las ventanas adicionales y regresar a las líneas de código. En función de lo que observó en la actividad de correr una instrucción a la vez, modifique algo que considere dentro del programa. c) Compile y vuelva a ejecutar la emulación para comprobar sus cambios. d) Guarde el archivo modificado con el nombre Código-01.asm, compile el código y copie los archivos (seis en total) a una carpeta llamada Programa-01. e) Realice las capturas de pantalla correspondientes a cada paso.