Este documento describe un programa de juego en Emu8086 que le pide al usuario que adivine un número aleatorio. El programa compara el número ingresado por el usuario con el número secreto y le indica si es mayor o menor. Si el usuario adivina correctamente, el programa lo felicita. Luego pregunta si desea continuar jugando. El documento explica el código fuente del programa, incluida la declaración de variables, mensajes y funciones para leer la entrada, hacer conversiones y comparaciones numéricas, e imprimir resultados.
El documento describe el analizador sintáctico, el cual se encarga de chequear el texto de entrada basado en una gramática dada y generar un árbol sintáctico si el programa es válido. Funciona obteniendo tokens del analizador léxico y verificando que la cadena pueda ser generada por la gramática del lenguaje. La gramática independiente de contexto permite generar automáticamente el analizador sintáctico y proporciona una estructura al lenguaje.
Este documento trata sobre autómatas finitos. Explica la clasificación de autómatas finitos determinísticos y no determinísticos, y cómo convertir un autómata finito no determinístico a uno determinístico usando el algoritmo de subconjuntos. También cubre la representación de expresiones regulares usando autómatas finitos no determinísticos y la minimización de estados en un autómata finito. Por último, presenta un caso de estudio sobre la construcción de un vehículo que evade obstáculos us
1. El diseño de entradas y salidas se refiere al procesamiento de datos que un programa recibe y envía. Las entradas pueden provenir del teclado o de archivos, y las salidas se envían a dispositivos de salida a través de flujos. 2. Los flujos son corrientes de datos que permiten la comunicación entre el programa y dispositivos de entrada/salida. 3. Los analistas deben diseñar las entradas y salidas considerando factores como la calidad, velocidad y simplicidad del proceso.
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...Hugo Alberto Rivera Diaz
Conceptos Unidad 1 Lenguajes Autómatas
1 Introducción a la
Teoría de Lenguajes
Formales.
1.1 Alfabeto.
1.2 Cadenas.
1.3 Lenguajes
1.4 Tipos de lenguajes
1.5 Herramientas computacionales ligadas
con lenguajes
1.6 Estructura de un traductor
1.7 Fases de un compilador
Las expresiones regulares son patrones que describen conjuntos de cadenas y se utilizan para buscar y manipular texto. Pueden representar lenguajes definidos sobre un alfabeto mediante lenguajes primitivos y operadores de composición. Un ejemplo es la expresión *.doc que representa todos los archivos con extensión doc. Las expresiones regulares siguen normas de construcción para cualquier patrón de caracteres y solo contienen letras, números y caracteres especiales como *, +, ?, etc.
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesHumano Terricola
Este documento presenta un portafolio de unidad sobre expresiones y lenguajes regulares. Explica expresiones regulares, lenguajes regulares y presenta ejemplos de ambos. También incluye ejercicios resueltos sobre expresiones y lenguajes regulares para reforzar la comprensión de estos conceptos.
El documento describe diferentes tipos de lenguajes formales aceptados por máquinas de Turing y provee ejemplos de máquinas de Turing que reconocen lenguajes específicos. Explica que las máquinas de Turing pueden reconocer lenguajes recursivamente enumerables generados por gramáticas de tipo 0 y describe brevemente lenguajes regulares y libres de contexto reconocidos por autómatas finitos y de pila respectivamente. Luego, provee tres ejemplos detallados de máquinas de Turing que reconocen lenguajes consistente de
El documento resume las reglas para transformar un modelo entidad-relación a un modelo relacional. Las principales reglas son: 1) cada entidad se transforma en una tabla, 2) las relaciones N:M se transforman en una nueva tabla con la clave compuesta de las entidades, y 3) las relaciones 1:N y 1:1 se transforman propagando atributos o creando nuevas tablas dependiendo de las cardinalidades.
El documento describe el analizador sintáctico, el cual se encarga de chequear el texto de entrada basado en una gramática dada y generar un árbol sintáctico si el programa es válido. Funciona obteniendo tokens del analizador léxico y verificando que la cadena pueda ser generada por la gramática del lenguaje. La gramática independiente de contexto permite generar automáticamente el analizador sintáctico y proporciona una estructura al lenguaje.
Este documento trata sobre autómatas finitos. Explica la clasificación de autómatas finitos determinísticos y no determinísticos, y cómo convertir un autómata finito no determinístico a uno determinístico usando el algoritmo de subconjuntos. También cubre la representación de expresiones regulares usando autómatas finitos no determinísticos y la minimización de estados en un autómata finito. Por último, presenta un caso de estudio sobre la construcción de un vehículo que evade obstáculos us
1. El diseño de entradas y salidas se refiere al procesamiento de datos que un programa recibe y envía. Las entradas pueden provenir del teclado o de archivos, y las salidas se envían a dispositivos de salida a través de flujos. 2. Los flujos son corrientes de datos que permiten la comunicación entre el programa y dispositivos de entrada/salida. 3. Los analistas deben diseñar las entradas y salidas considerando factores como la calidad, velocidad y simplicidad del proceso.
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...Hugo Alberto Rivera Diaz
Conceptos Unidad 1 Lenguajes Autómatas
1 Introducción a la
Teoría de Lenguajes
Formales.
1.1 Alfabeto.
1.2 Cadenas.
1.3 Lenguajes
1.4 Tipos de lenguajes
1.5 Herramientas computacionales ligadas
con lenguajes
1.6 Estructura de un traductor
1.7 Fases de un compilador
Las expresiones regulares son patrones que describen conjuntos de cadenas y se utilizan para buscar y manipular texto. Pueden representar lenguajes definidos sobre un alfabeto mediante lenguajes primitivos y operadores de composición. Un ejemplo es la expresión *.doc que representa todos los archivos con extensión doc. Las expresiones regulares siguen normas de construcción para cualquier patrón de caracteres y solo contienen letras, números y caracteres especiales como *, +, ?, etc.
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesHumano Terricola
Este documento presenta un portafolio de unidad sobre expresiones y lenguajes regulares. Explica expresiones regulares, lenguajes regulares y presenta ejemplos de ambos. También incluye ejercicios resueltos sobre expresiones y lenguajes regulares para reforzar la comprensión de estos conceptos.
El documento describe diferentes tipos de lenguajes formales aceptados por máquinas de Turing y provee ejemplos de máquinas de Turing que reconocen lenguajes específicos. Explica que las máquinas de Turing pueden reconocer lenguajes recursivamente enumerables generados por gramáticas de tipo 0 y describe brevemente lenguajes regulares y libres de contexto reconocidos por autómatas finitos y de pila respectivamente. Luego, provee tres ejemplos detallados de máquinas de Turing que reconocen lenguajes consistente de
El documento resume las reglas para transformar un modelo entidad-relación a un modelo relacional. Las principales reglas son: 1) cada entidad se transforma en una tabla, 2) las relaciones N:M se transforman en una nueva tabla con la clave compuesta de las entidades, y 3) las relaciones 1:N y 1:1 se transforman propagando atributos o creando nuevas tablas dependiendo de las cardinalidades.
Este documento resume la evolución del modelo relacional desde su creación en 1968 hasta la actualidad. Explica conceptos básicos como dominio, atributo, relación, tupla, clave primaria y clave ajena. También describe propiedades de las relaciones como que no pueden haber tuplas duplicadas y que los atributos y tuplas no tienen un orden predefinido. Por último, cubre temas de integridad referencial y restricciones en el modelo relacional.
La estructura de un compilador está dividida en cuatro módulos principales: el preprocesador, la compilación, el ensamblado y el enlazado. El preprocesador transforma el código fuente original en código puro. La compilación analiza el código sintáctica y semánticamente y genera código intermedio. El ensamblado convierte el código intermedio en código binario no enlazado. El enlazado produce el código binario final enlazado con librerías.
1. El documento presenta varios ejemplos y propiedades de expresiones regulares y autómatas finitos.
2. Incluye 17 propiedades de expresiones regulares, ejemplos de operaciones con lenguajes y expresiones regulares, y la descripción de un autómata finito.
3. Finalmente, propone un ejemplo de construcción del diagrama de Moore a partir de una tabla de transiciones de un autómata finito.
Este documento describe los errores léxicos que ocurren durante el análisis léxico de un programa. Explica que el análisis léxico identifica tokens o componentes léxicos y elimina información innecesaria del código fuente. También describe que los errores léxicos incluyen el uso de caracteres no permitidos o cadenas que no coinciden con ningún patrón de token válido.
El documento describe las etapas de compilación de un lenguaje de programación, enfocándose en la etapa de generador de código intermedio. Explica que esta etapa transforma la salida del análisis semántico en una representación cercana a un lenguaje intermedio, como el código de tres direcciones. El código de tres direcciones consiste en instrucciones con hasta tres operandos en la forma x = y op z, y sigue reglas como generar nombres temporales y que algunas instrucciones pueden tener menos de tres operandos.
El documento presenta una introducción al modelo entidad-relación (MER) para el diseño conceptual de bases de datos. Explica que el MER permite representar los datos relevantes de un sistema de una manera independiente de la tecnología subyacente. Describe los elementos clave del MER, incluyendo entidades, atributos, relaciones, cardinalidades y tipos de relaciones. También menciona conceptos como dominios, diccionario de datos, subtipos y restricciones.
Este documento describe diferentes modos de direccionamiento y formatos de instrucciones en arquitecturas de computadoras. Explica modos como direccionamiento implícito, inmediato, directo, absoluto, indirecto, indexado e indexado descendente. Cada modo especifica cómo calcular la dirección de memoria de un operando usando información en registros.
Este documento describe el diseño de un sumador completo de 4 bits utilizando circuitos integrados. Explica que los sumadores son importantes para procesar datos numéricos y enumera los componentes necesarios. Luego detalla el funcionamiento de los sumadores a nivel de bits y cómo conectar cuatro sumadores en paralelo para sumar números de 4 bits, mostrando el resultado en displays de 7 segmentos. Finalmente, muestra la simulación del circuito en Proteus.
Este documento describe diferentes tecnologías para conectar bases de datos, incluyendo ODBC, JDBC, ADO.NET y sistemas de bases de datos móviles. Explica cómo estas tecnologías permiten la conectividad entre aplicaciones y bases de datos independientemente del sistema gestor de bases de datos subyacente. También describe algunos sistemas de bases de datos móviles populares como PointBase, SQL Anywhere, DB2 EveryPlace y Oracle Lite.
1) Las expresiones regulares permiten describir lenguajes regulares de forma concisa mediante un conjunto limitado de operadores. 2) Se presentan conceptos básicos como símbolos, cadenas, alfabetos y lenguajes. 3) Se definen las reglas para construir expresiones regulares a partir de símbolos individuales y las operaciones de unión, concatenación y clausura.
Este documento describe el análisis léxico como la primera fase de un compilador. El analizador léxico lee el programa fuente y lo divide en tokens o componentes léxicos como palabras reservadas, identificadores, operadores y constantes. Esto se logra mediante el uso de expresiones regulares y autómatas finitos que reconocen patrones de caracteres. El analizador léxico opera bajo petición del analizador sintáctico devolviendo tokens.
• Objetivos del diseño de salida de un sistema
• Identificación de las necesidades de salida de un sistema
• Presentación de la información
• Diseño de la salida impresa
• Diseño de la salida de pantalla
Ejercicios resueltos diagramas de claseaula (1)William Lozano
Este documento presenta dos ejercicios de diagramas de clases. El primer ejercicio describe animales que viven en una casa y sus características. El segundo ejercicio describe un sistema de reserva de vuelos, incluyendo usuarios, consultas de vuelos, reservas y compras. Se provee una solución detallada para cada ejercicio que identifica clases, atributos, métodos y relaciones entre clases.
Normalización de la base de datos (3 formas normales)michell_quitian
Existen 3 niveles de normalización que deben respetarse para poder decir que nuestra Base de Datos, se encuentra NORMALIZADA, es decir, que cumple con los requisitos naturales para funcionar óptimamente.
Este documento proporciona una introducción a las bases de datos MySQL. Explica conceptos clave como tablas, campos, tipos de datos, relaciones entre tablas y el lenguaje SQL. Incluye ejemplos de cómo crear tablas, insertar datos, realizar consultas simples y entre múltiples tablas usando seleccionar, filtrar y ordenar.
El documento describe el concepto de control de flujo a través de una analogía de recoger manzanas y una explicación de cómo funciona a nivel técnico. El control de flujo gestiona la tasa de transmisión de datos entre dos nodos para evitar que el transmisor rápido sature al receptor lento mediante mecanismos como el acuse de recibo, ventanas deslizantes y caracteres de control de flujo.
Este documento proporciona una guía sobre el uso del temporizador 0 (TMR0) y las interrupciones en los microcontroladores. Explica los registros asociados a TMR0, cómo funciona el temporizador y el prescaler, y cómo calcular tiempos de conteo utilizando TMR0 y un registro auxiliar para lograr temporizaciones mayores a 65.536 milisegundos.
Este documento proporciona instrucciones y ejemplos sobre el uso de interrupciones, instrucciones y funciones básicas en ensamblador como imprimir cadenas y caracteres, manejo del cursor, lectura de teclado, color, scroll y bucles. También incluye ejemplos de programas en ensamblador y reglas para la presentación de proyectos.
Este documento presenta información sobre autómatas finitos determinísticos (AFD) y no determinísticos (AFND). Define un autómata finito como una 5-tupla que describe sus estados, alfabeto, estado inicial, función de transición y estados de aceptación. Explica las diferencias entre AFD y AFND y provee ejemplos de cada uno. También cubre la equivalencia y minimización de autómatas finitos.
Un lenguaje regular es un tipo de lenguaje formal que puede ser generado a partir de lenguajes básicos usando operaciones como unión, concatenación y clausura de Kleene un número finito de veces, y puede ser reconocido por autómatas finitos o máquinas de Turing de solo lectura. Los lenguajes regulares tienen propiedades de cierre y se pueden decidir mediante si el número de clases de equivalencia es finito.
Este documento describe el emulador 8086, un software que permite emular un microprocesador 8086 para aprender lenguaje ensamblador de forma intuitiva. Explica que posee una interfaz amigable y herramientas para crear y depurar programas fácilmente. Si bien no puede acceder a puertos físicos reales, emula dispositivos virtuales. Detalla las pantallas principales para editar código, compilar, y ejecutar programas dentro del emulador.
El documento describe los conceptos fundamentales de los lenguajes de bajo nivel como el ensamblador. Explica que el ensamblador traduce un programa escrito con instrucciones mnemotécnicas a código de máquina que puede ser ejecutado directamente por el hardware. También describe los principales registros internos del procesador como los registros de segmento, registros de propósito general, registros apuntadores e índice, y el registro de banderas.
Este documento resume la evolución del modelo relacional desde su creación en 1968 hasta la actualidad. Explica conceptos básicos como dominio, atributo, relación, tupla, clave primaria y clave ajena. También describe propiedades de las relaciones como que no pueden haber tuplas duplicadas y que los atributos y tuplas no tienen un orden predefinido. Por último, cubre temas de integridad referencial y restricciones en el modelo relacional.
La estructura de un compilador está dividida en cuatro módulos principales: el preprocesador, la compilación, el ensamblado y el enlazado. El preprocesador transforma el código fuente original en código puro. La compilación analiza el código sintáctica y semánticamente y genera código intermedio. El ensamblado convierte el código intermedio en código binario no enlazado. El enlazado produce el código binario final enlazado con librerías.
1. El documento presenta varios ejemplos y propiedades de expresiones regulares y autómatas finitos.
2. Incluye 17 propiedades de expresiones regulares, ejemplos de operaciones con lenguajes y expresiones regulares, y la descripción de un autómata finito.
3. Finalmente, propone un ejemplo de construcción del diagrama de Moore a partir de una tabla de transiciones de un autómata finito.
Este documento describe los errores léxicos que ocurren durante el análisis léxico de un programa. Explica que el análisis léxico identifica tokens o componentes léxicos y elimina información innecesaria del código fuente. También describe que los errores léxicos incluyen el uso de caracteres no permitidos o cadenas que no coinciden con ningún patrón de token válido.
El documento describe las etapas de compilación de un lenguaje de programación, enfocándose en la etapa de generador de código intermedio. Explica que esta etapa transforma la salida del análisis semántico en una representación cercana a un lenguaje intermedio, como el código de tres direcciones. El código de tres direcciones consiste en instrucciones con hasta tres operandos en la forma x = y op z, y sigue reglas como generar nombres temporales y que algunas instrucciones pueden tener menos de tres operandos.
El documento presenta una introducción al modelo entidad-relación (MER) para el diseño conceptual de bases de datos. Explica que el MER permite representar los datos relevantes de un sistema de una manera independiente de la tecnología subyacente. Describe los elementos clave del MER, incluyendo entidades, atributos, relaciones, cardinalidades y tipos de relaciones. También menciona conceptos como dominios, diccionario de datos, subtipos y restricciones.
Este documento describe diferentes modos de direccionamiento y formatos de instrucciones en arquitecturas de computadoras. Explica modos como direccionamiento implícito, inmediato, directo, absoluto, indirecto, indexado e indexado descendente. Cada modo especifica cómo calcular la dirección de memoria de un operando usando información en registros.
Este documento describe el diseño de un sumador completo de 4 bits utilizando circuitos integrados. Explica que los sumadores son importantes para procesar datos numéricos y enumera los componentes necesarios. Luego detalla el funcionamiento de los sumadores a nivel de bits y cómo conectar cuatro sumadores en paralelo para sumar números de 4 bits, mostrando el resultado en displays de 7 segmentos. Finalmente, muestra la simulación del circuito en Proteus.
Este documento describe diferentes tecnologías para conectar bases de datos, incluyendo ODBC, JDBC, ADO.NET y sistemas de bases de datos móviles. Explica cómo estas tecnologías permiten la conectividad entre aplicaciones y bases de datos independientemente del sistema gestor de bases de datos subyacente. También describe algunos sistemas de bases de datos móviles populares como PointBase, SQL Anywhere, DB2 EveryPlace y Oracle Lite.
1) Las expresiones regulares permiten describir lenguajes regulares de forma concisa mediante un conjunto limitado de operadores. 2) Se presentan conceptos básicos como símbolos, cadenas, alfabetos y lenguajes. 3) Se definen las reglas para construir expresiones regulares a partir de símbolos individuales y las operaciones de unión, concatenación y clausura.
Este documento describe el análisis léxico como la primera fase de un compilador. El analizador léxico lee el programa fuente y lo divide en tokens o componentes léxicos como palabras reservadas, identificadores, operadores y constantes. Esto se logra mediante el uso de expresiones regulares y autómatas finitos que reconocen patrones de caracteres. El analizador léxico opera bajo petición del analizador sintáctico devolviendo tokens.
• Objetivos del diseño de salida de un sistema
• Identificación de las necesidades de salida de un sistema
• Presentación de la información
• Diseño de la salida impresa
• Diseño de la salida de pantalla
Ejercicios resueltos diagramas de claseaula (1)William Lozano
Este documento presenta dos ejercicios de diagramas de clases. El primer ejercicio describe animales que viven en una casa y sus características. El segundo ejercicio describe un sistema de reserva de vuelos, incluyendo usuarios, consultas de vuelos, reservas y compras. Se provee una solución detallada para cada ejercicio que identifica clases, atributos, métodos y relaciones entre clases.
Normalización de la base de datos (3 formas normales)michell_quitian
Existen 3 niveles de normalización que deben respetarse para poder decir que nuestra Base de Datos, se encuentra NORMALIZADA, es decir, que cumple con los requisitos naturales para funcionar óptimamente.
Este documento proporciona una introducción a las bases de datos MySQL. Explica conceptos clave como tablas, campos, tipos de datos, relaciones entre tablas y el lenguaje SQL. Incluye ejemplos de cómo crear tablas, insertar datos, realizar consultas simples y entre múltiples tablas usando seleccionar, filtrar y ordenar.
El documento describe el concepto de control de flujo a través de una analogía de recoger manzanas y una explicación de cómo funciona a nivel técnico. El control de flujo gestiona la tasa de transmisión de datos entre dos nodos para evitar que el transmisor rápido sature al receptor lento mediante mecanismos como el acuse de recibo, ventanas deslizantes y caracteres de control de flujo.
Este documento proporciona una guía sobre el uso del temporizador 0 (TMR0) y las interrupciones en los microcontroladores. Explica los registros asociados a TMR0, cómo funciona el temporizador y el prescaler, y cómo calcular tiempos de conteo utilizando TMR0 y un registro auxiliar para lograr temporizaciones mayores a 65.536 milisegundos.
Este documento proporciona instrucciones y ejemplos sobre el uso de interrupciones, instrucciones y funciones básicas en ensamblador como imprimir cadenas y caracteres, manejo del cursor, lectura de teclado, color, scroll y bucles. También incluye ejemplos de programas en ensamblador y reglas para la presentación de proyectos.
Este documento presenta información sobre autómatas finitos determinísticos (AFD) y no determinísticos (AFND). Define un autómata finito como una 5-tupla que describe sus estados, alfabeto, estado inicial, función de transición y estados de aceptación. Explica las diferencias entre AFD y AFND y provee ejemplos de cada uno. También cubre la equivalencia y minimización de autómatas finitos.
Un lenguaje regular es un tipo de lenguaje formal que puede ser generado a partir de lenguajes básicos usando operaciones como unión, concatenación y clausura de Kleene un número finito de veces, y puede ser reconocido por autómatas finitos o máquinas de Turing de solo lectura. Los lenguajes regulares tienen propiedades de cierre y se pueden decidir mediante si el número de clases de equivalencia es finito.
Este documento describe el emulador 8086, un software que permite emular un microprocesador 8086 para aprender lenguaje ensamblador de forma intuitiva. Explica que posee una interfaz amigable y herramientas para crear y depurar programas fácilmente. Si bien no puede acceder a puertos físicos reales, emula dispositivos virtuales. Detalla las pantallas principales para editar código, compilar, y ejecutar programas dentro del emulador.
El documento describe los conceptos fundamentales de los lenguajes de bajo nivel como el ensamblador. Explica que el ensamblador traduce un programa escrito con instrucciones mnemotécnicas a código de máquina que puede ser ejecutado directamente por el hardware. También describe los principales registros internos del procesador como los registros de segmento, registros de propósito general, registros apuntadores e índice, y el registro de banderas.
El documento instruye al estudiante Wilson Cacuango de la Pontificia Universidad Católica del Ecuador a instalar y probar el simulador EMU8086. Primero debe capturar los pasos de instalación y leer una breve introducción sobre el aplicativo. Luego, revisar los ejemplos de código y ejecutar el programa "Hola mundo" traduciendo el mensaje al español. Finalmente, se pide compilar programas para comparar números y sumar valores de un vector.
El documento describe el microprocesador 8086 introducido en 1978. Algunas de sus características clave incluyen que era de 16 bits, podía ejecutar instrucciones en 400 microsegundos, direccionaba 1 MB de memoria, y tenía mejoras como multiplicación y división. El 8086 también impulsó el desarrollo de las primeras computadoras personales en 1981 al ser utilizado en la PC de IBM.
Este documento presenta ejemplos de programas en lenguaje ensamblador para el emulador EMU8086. Incluye programas holamundo, suma de 10 números, comparación de números y un juego para comparar números ingresados con el número 5. Explica funciones básicas como impresión de texto, suma, resta, comparación y bucles con ejemplos concisos.
Este documento presenta información sobre programación en lenguaje ensamblador para procesadores Intel 80x86. Se explican conceptos básicos como lenguaje de máquina, ensambladores e interpretadores/compiladores. Luego se describe el lenguaje ensamblador, incluyendo instrucciones, macros y procedimientos. Finalmente, se detallan los pasos para crear y depurar programas en ensamblador y diferentes técnicas de programación como entrada/salida, interrupciones y programación modular. El documento provee una guía completa sobre programación en ens
El documento presenta un resumen de 7 capítulos sobre el lenguaje de ensamblador. El capítulo 1 introduce conceptos básicos, el capítulo 2 se enfoca en la programación en ensamblador, y los capítulos 3-5 describen diferentes instrucciones del lenguaje. Los capítulos 6 y 7 cubren interrupciones, manejo de archivos e introducción al manejo de archivos.
Este documento presenta el plan de estudios para una clase de Lenguaje Ensamblador. La clase se llevará a cabo en el Centro Escolar "Felipe Carrillo Puerto" durante el semestre de Febrero a Julio del 2008. El objetivo de la clase es que los estudiantes aprendan los conceptos básicos de la programación a bajo nivel y sean capaces de escribir y depurar programas en lenguaje ensamblador. La clase cubrirá temas como la arquitectura de computadoras, sistemas numéricos, entrada/
El procesador Intel 8086 introdujo la arquitectura x86 de 16 bits. Tenía instrucciones para cadenas de caracteres, registros con funciones específicas, y una frecuencia de reloj de 4.77 MHz. Estaba dividido en una unidad de ejecución y una unidad de interfaz de bus.
El lenguaje ensamblador es un lenguaje de bajo nivel directamente traducible a lenguaje máquina. Permite control total de la computadora pero requiere traducción a lenguaje máquina antes de ser ejecutado. Un programa en ensamblador consiste de instrucciones, directivas y etiquetas para referirse a valores de memoria.
El documento describe los conceptos fundamentales de lenguaje máquina, lenguaje ensamblador y el proceso de ensamblado. Explica que el lenguaje máquina depende directamente del procesador y está formado por instrucciones máquina codificadas en bits. El lenguaje ensamblador es una abstracción del lenguaje máquina que sustituye los códigos de operación por palabras clave para facilitar su uso. El proceso de ensamblado traduce el código fuente en lenguaje ensamblador a código objeto equivalente al
Este documento presenta tres programas desarrollados en clase de Estructura de Datos. El primer programa permite al usuario ingresar números en una matriz y luego imprimir diagonales. El segundo programa ingresa nombres y edades de alumnos y determina quién es el mayor y suma las edades. El tercer programa toma dos números como entrada y permite al usuario seleccionar entre sumar, restar o dividirlos. En conclusión, el documento enfatiza la importancia de usar los tipos de datos adecuados y crear datos abstractos para manipular datos de forma flexible en los programas
Este programa suma dos números introducidos por el usuario. Si la suma está entre -32768 y 32767, muestra el resultado. De lo contrario, muestra un mensaje de desbordamiento. El programa actualiza las banderas de registro según las operaciones aritméticas y condiciones del programa.
Este documento lista los comandos y funciones de Raptor y Java. Entre los comandos de Raptor se encuentran asignación, llamada, entrada, salida, selección y ciclo. Los comandos de Java incluyen @author, @deprecated, @param y @return. También describe las funciones de la clase Scanner en Java para la entrada de datos.
El documento presenta una introducción al lenguaje de programación C++. Explica que comenzará con ejemplos simples de impresión en pantalla y luego programas más complejos que obtienen datos de usuario y realizan cálculos. También describe los fundamentos de la programación en C++ como la función main, tipos de datos, operadores, condicionales y bucles.
El documento presenta varios ejercicios y problemas relacionados con programación en Fortran. Incluye programas para calcular cuadrados de números pares, evaluar ecuaciones, calcular la corriente a través de un diodo para diferentes voltajes y temperaturas, y determinar la distancia óptima para conectar un cable a fin de minimizar la tensión en el cable.
Este documento presenta un manual de programación en C que incluye diferentes temas como operadores, tipos de variables, estructuras de control como if, switch, for, while, do while, ciclos anidados, apuntadores, y ejemplos de código. También incluye tres unidades de ejercicios de programación resueltos utilizando estas herramientas de C.
Este documento proporciona una guía sobre algoritmos y programación en SL. Explica conceptos clave como identificadores, palabras reservadas, tipos de datos, constantes, variables, operadores, condicionales y ciclos. También incluye ejemplos de algoritmos para calcular operaciones matemáticas y el área y perímetro de un triángulo rectángulo. Finalmente, propone ejercicios para practicar los conceptos explicados.
El documento proporciona información sobre el lenguaje de programación Pascal, incluyendo su definición, pasos para ingresar a Pascal, tipos de datos como enteros, decimales y caracteres, estructuras como repeat y while, y ejemplos de programas sencillos.
El documento describe los conceptos básicos de pseudocódigo, incluyendo el ciclo for, símbolos y operadores, variables, tipos de datos y cómo crear un pseudocódigo. Explica que el pseudocódigo es una descripción informal de alto nivel de un algoritmo y proporciona ejemplos del ciclo for, operadores y tipos de datos como enteros, reales y caracteres.
La CPU tiene 14 registros internos de 16 bits cada uno. Los primeros cuatro registros (AX, BX, CX, DX) son registros de uso general y también pueden usarse como registros de 8 bits (AH, AL, BH, BL, etc.). Existe una variedad de registros especializados como DS, CS, SP, IP y F. Es posible visualizar los valores de los registros usando el programa Debug y comandos como -r.
1: funciones matematicas y cadena de caracteres 2:operacion de asignacion: ar...Anderson Urbina Coronado
1: funciones matematicas y cadena de caracteres
2:operacion de asignacion: aritmetrica logica, cadena de caracteres multiples
3:conversiones de tipos
4:comentarios en la linea de codigo fuente
Este documento presenta 9 problemas de programación con sus respectivas soluciones. Los problemas van desde determinar si un número es positivo, negativo o neutro; hasta convertir una cantidad de segundos a horas, minutos y segundos. Cada problema incluye un enunciado, análisis, diseño de interfaz, algoritmo y codificación en C.
1) El documento describe un trabajo de investigación sobre funciones y operaciones de pseudocódigo realizado por Elizabeth López para la Escuela Superior Politécnica de Chimborazo.
2) Explica cuatro funciones principales de pseudocódigo: printf(), scanf(), getchar(), y putchar(). printf() y scanf() permiten la entrada y salida de datos, mientras que getchar() y putchar() se enfocan en caracteres individuales.
3) El objetivo general es conocer las diferentes funciones y operaciones del pseudocódigo para resolver ejercicios de manera
Este documento describe las funciones y operaciones del pseudocódigo. Explica las funciones print, scanf, getchar, putchar y getch, y cómo se usan para mostrar, ingresar y manipular datos. También discute las ventajas del pseudocódigo sobre los diagramas de flujo y concluye recomendando experimentar con los programas.
Este documento presenta cuatro problemas de programación para probar una nueva computadora llamada "PC". El primer problema pide programar el área de memoria de la PC. El segundo problema pide programar un algoritmo de barajeo de datos. El tercer problema involucra emparejar bombas con sus detonadores. El cuarto problema presenta un programa para dibujar fractales usando líneas rectas.
1: funciones matematicas y cadena de caracteres 2:operacion de asignacion: ar...Anderson Urbina Coronado
1: funciones matematicas y cadena de caracteres
2:operacion de asignacion: aritmetrica logica, cadena de caracteres multiples
3:conversiones de tipos
4:comentarios en la linea de codigo fuente
Este documento describe los pasos para instalar el emulador EMU8086, incluyendo abrir el instalador, elegir la ruta de instalación, hacer clic en instalar y marcar las casillas correspondientes. También presenta códigos de programas en ensamblador para EMU8086, como uno que imprime el nombre completo del estudiante, fecha y materia, y otro que suma los valores de un vector.
Este documento proporciona una introducción al lenguaje de programación Pascal, incluyendo definiciones de sus tipos de datos, estructuras de control como repeat, while y for, y ejemplos de programas sencillos. También explica conceptos como constantes, variables, entrada y salida de datos, y operadores matemáticos.
El documento describe los comandos básicos del lenguaje de programación QuickBASIC, incluyendo REM para agregar comentarios, PRINT para imprimir texto, INPUT para obtener entrada del usuario, y más. Explica cómo declarar variables de diferentes tipos como cadenas y números, y cómo realizar operaciones matemáticas básicas. El documento sirve como una guía introductoria para aprender los conceptos fundamentales de QuickBASIC.
El documento explica cómo crear y ejecutar scripts y funciones en MATLAB. Brevemente describe cómo crear un script simple "Hola Mundo" y ejecutarlo escribiendo su nombre en la ventana de comandos. También cubre conceptos básicos como variables, operaciones matemáticas, sentencias condicionales if/else y switch, y algunos ejemplos de código.
El documento presenta una pregunta sobre un lenguaje L definido por cadenas sobre el alfabeto {a, b, c} que contengan al menos una a y una b. La pregunta ofrece tres afirmaciones sobre L y pide indicar cuál es verdadera. La respuesta explica que L es un lenguaje regular porque se puede reconocer mediante un autómata finito, por lo que la afirmación verdadera es que L es un lenguaje regular.
El documento instruye realizar tres prácticas relacionadas al análisis léxico. La primera es modificar un analizador léxico para reconocer palabras reservadas como for, if, else y retornar sus códigos de token. La segunda es diseñar un diagrama de estados para reconocer comentarios en formato C y codificarlo. La tercera es diseñar un diagrama de estados para reconocer literales de punto flotante y codificarlo.
La proporción de funciones en el sistema que son evidentes para el usuario se mide contando las funciones evidentes y comparándolas con la cantidad total de funciones. Cuanto más cercano esté el resultado a 1, más entendible será el sistema para el usuario.
Este documento describe una métrica para medir la capacidad de registrar cambios en un sistema. La métrica calcula la proporción de cambios realizados en funciones y módulos que incluyen comentarios explicativos, lo que permite evaluar la facilidad con que los cambios pueden ser rastreados y entendidos. Una proporción más alta indica una mejor capacidad de registrar cambios de manera comprensible. La información para esta métrica se obtiene de sistemas de control de versiones y bitácoras.
Este documento resume los conceptos clave de la interconexión entre el procesador y los periféricos. Explica que los módulos de entrada/salida permiten la comunicación entre el CPU, la memoria y los dispositivos periféricos a través de buses. También clasifica los dispositivos de entrada/salida según su comportamiento, destino y tasa de datos, y describe las funciones principales de los módulos de entrada/salida como el control, la comunicación y la detección de errores. Por último, explica los métodos para programar órden
Contrato de transaccion de bienes mueblesFredy Soncco
Este documento es un contrato de transacción de bienes muebles entre un transferente y una adquiriente. El transferente transfiere varios enseres de un restaurante como mesas, cocina industrial, división de vidrio, estantes, ollas, platos, cubiertos y otros utensilios a la adquiriente. El precio total ya ha sido pagado. Ambas partes declaran que el contrato es válido y que no hay dolo, violencia o errores que lo invaliden.
El documento describe la creación de varias entidades y relaciones para una base de datos. Se crearán entidades para clientes, pedidos, vendedores, proveedores, zonas, artículos, categorías y transporte, con atributos clave primarios y secundarios. Luego se establecerán siete relaciones entre las entidades, como la relación de uno a muchos entre proveedores y vendedores, y de uno a muchos entre zonas y clientes/transporte.
Este documento presenta instrucciones para analizar operaciones aritméticas utilizando el simulador EMU8086. Instruye al estudiante a ejecutar programas que realizan sumas, restas, multiplicaciones y divisiones utilizando registros como AL, AH, AX y observando el estado de banderas. El estudiante debe completar tablas anotando resultados y analizar cómo las instrucciones ADD, SUB, MUL, DIV difieren de ADC, SBB, IMUL, IDIV al tomar en cuenta el signo de los números.
Este documento presenta una guía de laboratorio sobre instrucciones lógicas y el registro de banderas en microprocesadores. Instruye a los estudiantes a analizar cómo se ejecutan instrucciones lógicas como AND, OR y XOR observando cómo afectan al registro de banderas. El procedimiento incluye ejecutar programas de ejemplo paso a paso y monitorear el estado de las banderas después de cada instrucción lógica para ver cómo se modifican.
El documento trata sobre la eficiencia de los algoritmos y métodos para analizarla. Explica conceptos como notaciones asintóticas, órdenes de eficiencia comunes como O(n), O(n2) y O(n log n) y cómo calcular la eficiencia de un algoritmo en función del tamaño de la entrada obviando factores constantes.
Minería de Datos e IA Conceptos, Fundamentos y Aplicaciones.pdfMedTechBiz
Este libro ofrece una introducción completa y accesible a los campos de la minería de datos y la inteligencia artificial. Cubre todo, desde conceptos básicos hasta estudios de casos avanzados, con énfasis en la aplicación práctica utilizando herramientas como Python y R.
También aborda cuestiones críticas de ética y responsabilidad en el uso de estas tecnologías, discutiendo temas como la privacidad, el sesgo algorítmico y transparencia.
El objetivo es permitir al lector aplicar técnicas de minería de datos e inteligencia artificial a problemas reales, contribuyendo a la innovación y el progreso en su área de especialización.
Este documento ha sido elaborado por el Observatorio Ciudadano de Seguridad Justicia y Legalidad de Irapuato siendo nuestro propósito conocer datos sociodemográficos en conjunto con información de incidencia delictiva de las 10 colonias y/o comunidades que del año 2020 a la fecha han tenido mayor incidencia.
Existen muchas más colonias que presentan cifras y datos en materia de seguridad, sin embargo, en este primer acercamiento lo que se prevées darle al lector una idea de como se encuentran las colonias analizadas, tomando como referencia los datos del INEGI 2020, datos del Secretariado Ejecutivo del Sistema Nacional de Seguridad Pública del 2020 al 2023 y las bases de datos propias que desde el 2017 el Observatorio Ciudadano ha recopilado de manera puntual con datos de las vıć timas de homicidio doloso, accidentes de tránsito, personas lesionadas por arma de fuego, entre otros indicadores.
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIOAaronPleitez
linea de tiempo del antiguo testamento donde se detalla la cronología de todos los eventos, personas, sucesos, etc. Además se incluye una parte del periodo intertestamentario en orden cronológico donde se detalla todo lo que sucede en los 400 años del periodo del silencio. Basicamente es un resumen de todos los sucesos desde Abraham hasta Cristo
Reporte homicidio doloso descripción
Reporte que contiene información de las víctimas de homicidio doloso registradas en el municipio de Irapuato Guanajuato durante el periodo señalado, comprende información cualitativa y cuantitativa que hace referencia a las características principales de cada uno de los homicidios.
La información proviene tanto de medios de comunicación digitales e impresos como de los boletines que la propia Fiscalía del Estado de Guanajuato emite de manera diaria a los medios de comunicación quienes publican estas incidencias en sus distintos canales.
Podemos observar cantidad de personas fallecidas, lugar donde se registraron los eventos, colonia y calle así como un comparativo con el mismo periodo pero del año anterior.
Edades y género de las víctimas es parte de la información que incluye el reporte.
Comunidades virtuales de aprendizaje o educativas E-LEARNING.pdf
Programa en emu8086
1. UNIVERSIDAD NACIONAL DE SAN AGUSTIN
FACULTAD INGENIERA DE PRODUCCIÓN
Y SERVICIOS
ESCUELA PROFESIONAL DE INGENIERA DE
SISTEMAS
CURSO: ARQUITECTURA DE
COMPUTADORAS
DOCENTE: ING. PEDRO RODRIGUEZ
PROPIO:
-SONCCO CHUTAYA FREDY
2. Informe de mi Programa en Emu8086
Tipo de programa: Juego
Introducción:
Este programa consiste en adivinar un número almacenado en nuestro programa, para esto el
usuario tendrá que ingresar el número que él cree que sea correcto. Y Nuestro programa le
brindara respuestas como; El número buscado es mayor o menor; de esta manera pueda llegar
al número correcto.
Recibirá otro mensaje si acierta con el numero buscando. Automáticamente Se le preguntara al
Usuario si desea continuar jugando (y/n).
Si se Escoge la opción el programa se seguirá ejecutando caso contrario el programa culminara.
Código fuente y breve explicación del Programa:
En nuestras tres primeras líneas de código: son instrucciones del modelo de memoria, segmento
de banderas, segmentos de datos y segmentos de Código respectivamente.
.model small ; Modelo de Memoria.
.stack 100h ; Segmentos de banderas.
.data ; Segmentos de datos.
//Declaración de variables
…
.code ; Segmentos de código.
Las siguientes instrucciones corresponden a la declaración de todas las variables utilizadas en
nuestro programa.
I. Constantes:
- CR y LF
II. Variables:
- number: esta variable será el número que el usuario debe adivinar.
- Guess: Guardara el numero ingresado por el usuario.
- erroChk: Esta variable la utilizaremos para comparar y verificar que guess no esté
fuera de rango.
III. Mensajes:
- Prompt, LessMsg, MoreMsg, equalMsg, OverflowMsg y retry.
3. number db 51d ;variable 'number' Se almacena el valor aleatorio
;Declaración de Constantes
CR equ 13d
LF equ 10d
;Mensajes que dará nuestro programa cuando se esté ejecutando
prompt db CR, LF,'Ingrese numero : $'
lessMsg db CR, LF,'El numero buscado es Menor','$'
moreMsg db CR, LF,'El numero buscado es Mayor ', '$'
equalMsg db CR, LF,'El numero es Correcto!', '$'
overflowMsg db CR, LF,'Error - Numero fuera de rango', '$'
retry db CR, LF,'Continuar [y/n] ? ' ,'$'
guess db 0d ;Variable guardara el valor introducido por el usuario
errorChk db 0d ;Variable se utilizara para comparar si el numero introducido esta
Fuera de rango.
param label Byte
Función start:
- Las primeras 4 líneas de código a los registros ax, bx, cx y dx,se les da el valor de 0.
- Las siguientes líneas de código realizamos movimientos donde guardaremos el valor
de nuestras variables creadas anteriormente en nuestros registros mencionados.
start: ; Inicio de START
MOV ax, 0h
MOV bx, 0h
MOV cx, 0h
MOV dx, 0h
MOV BX, OFFSET guess ; obtener la dirección de la variable guess en BX.
MOV BYTE PTR [BX], 0d ; establecer 'guess' a 0 (decimal) // BYTE PTR valor de 8 bits
MOV BX, OFFSET errorChk ; obtener la dirección de la variable errorChk en BX.
MOV BYTE PTR [BX], 0d ; establecer 'errorChk' a 0 (decimal) // BYTE PTR valor de 8 bits
MOV ax, @data ; carga en AX la dirección del segmento de datos
MOV ds, ax ; mueve la dirección al registro de segmento por medio de AX
MOV dx, offset prompt ; Carga prompt en DX
MOV ah, 9h ; Escribe cadena a STDOUT en ah
INT 21h ; Interrupción ( para DOS)
MOV cl, 0h ; Carga en CL 0 (Contador)
MOV dx, 0h ; Carga en DX 0 (Datos registro utilizado para almacenar la entrada
del usuario)
; END START
4. Función while:
- Esta función se encarga de leer la entrada del usuario donde primero se valida que
no superen los 5 dígitos para comparar usa el registro CL (que sería nuestro
contador).
- Después se procede a preguntar si la última tecla que el usuario presiono sea
‘ENTER’, si es así se salta a la función ‘endwhile’. Caso contrario pasara a la siguiente
instrucción.
- Las siguientes instrucciones se encargan de almacenar el valor ingresado por el
usuario en DL.
- Se incrementa en 1 a nuestro Contador que es CL.
- Finalmente hace un salto hacia la misma función.
- Para salir de esta función el usuario tendría que presionar la tecla ENTER.
; -- leyendo la entrada del usuario
while:
CMP cl, 5d ;Compara CL y 5d ( porque 5 es el número máximo de dígitos
permitidos)
JG endwhile ; Si CL > 5 entonces salta a la función 'endwhile'.
MOV ah, 1h ; Leer valor de STDIN en ah
INT 21h ; Interrupción ( para DOS)
CMP al, 0Dh ; comparar el valor leído con 0Dh que es el código ASCII para la tecla
ENTER
JE endwhile ; Si AL = 0Dh, Significa que ha presionado ENTER entonces se salta la
función 'endwhile'
SUB al, 30h ; 30h se resta el valor ASCII de entrada para obtener el numero real.
(ya que 30h ASCII = número '0')
MOV dl, al ; Mueve el valor de la entrada a dl.
PUSH dx ; saca DX en la pila, para conseguir que leer para leer la próxima
entrada
INC cl ; Incrementa CL
JMP while ; Sala de nuevo a la función while.
5. Función endwhile:
- En esta función retorna el mensaje contenido en la variable errorChk.
- Esta función solo se activara en caso la entrada ingresada no cumple con el límite
de dígitos pedidos por nuestro programa.
- En la Primera línea de instrucción se decrementa nuestro contador porque en la
función anterior hicimos un incremento más.
- En las últimas instrucciones de guarda la dirección del valor de ‘errorChk’ en BX y al
final nuestro contador se hace en 0 nuevamente.
- Para comenzar nuevamente a procesar la entrada del usuario.
endwhile:
; Fin de la entrada del usuario
DEC cl ; decremento CL por uno para reducir el incremento hecho en la última
iteración
CMP cl, 02h ; comparar CL con 02, ya que solo 3 números pueden ser aceptados
como EN RANGO
JG overflow ; si CL (número de caracteres de entrada) es mayor que 3 Cambiar a la
label 'overflow'
MOV BX, OFFSET errorChk ; obtener la dirección de la variable 'errorChk' en BX.
MOV BYTE PTR [BX], cl ; establecer "errorChk 'al valor de CL
MOV cl, 0h ; CL fijado a 0, porque contador se utiliza en la siguiente sección de
nuevo
Función while2:
- Esta función Crea la representación numérica real del número ingresado por el
usuario como tres caracteres.
- Esta representación se envía a la función while3 que hará la conversión de estos
caracteres a decimal.
- Para después poder hacer la comparaciones con nuestra variable ‘number’ y poder
saber si el usuario ha ingresado el numero o correcto o aun no.
; Comenzar a procesar la entrada del usuario
; Crea la representación numérica real del número ingresado por el usuario como tres
caracteres.
while2:
CMP cl,errorChk
JG endwhile2
POP dx ; POP DX valor almacenado en la pila, (del digito menos significativo m
para el digito más significativo)
MOV ch, 0h ; limpia CH y se utiliza en este bucle interior como contador
MOV al, 1d ; inicializa AL en 1 (decimal)
MOV dh, 10d ; establece a DH el 10 (decimal)
6. Función While3:
- Esta función se encarga de convertir los caracteres ingresados por el usuario y
convertirlos.
- Esta conversión se realizara por ciclos, dependiendo de nuestra variable CL (nuestro
contador).
- Para esto usaremos otro contador que será CH. Para recorre CL.
- Saldremos de while3 cuando CH iguale a CL.
; COMIENZO bucle; - SI CL es 2
; - Primera bucle producirá 10 ^ 0
; - Segundo bucle producirá 10 ^ 1
; - Tercera bucle producirá 10 ^ 2
while3:
CMP ch, cl ; Compara CH y CL
JGE endwhile3 ; si CH >= CL, salta a 'endwhile3
MUL dh ; AX = AL * DH donde DH es = to (AL * 10)
INC ch ; incremento CH
JMP while3 ; Salto a 'while3'
Función Endwhile3:
; Fin del cálculo de la potencia
; AL ahora contiene 10 ^ 0, 1 o 10 ^ 10 ^ 2 en función del valor de CL
MUL dl ; AX = AL * DL, que es el valor real de posición de número
JO overflow ; Si hay un salto de desbordamiento en 'overflow' label (para valores
por encima de 300)
MOV dl, al ; mover el resultado de la multiplicación a DL
ADD dl, guess ; añadir resultado (valor posicional real del numero) al valor de
'adivinar' la variable
JC overflow ; Si hay un salto de desbordamiento en label 'overflow' (para valores
por encima de 255 a 300)
MOV BX, OFFSET guess ; obtener la dirección de la variable 'guess' en BX.
MOV BYTE PTR [BX], dl ; Establecer el valor de 'errorChk' a DL
INC cl ; Incrementa CL contador
JMP while2 ; Salta hacia atrás a 'while2'
7. Función Endwhile2:
- Esta función se encarga de comparar nuestro entrada del usuario ya convertida a
decimal
- Si guess (Valor ingresado por el usuario) es igual a number(valor buscado) entonces
se hace un salto a la función ‘equal’.
- Si guess (Valor ingresado por el usuario) es mayor number(valor buscado) entonces
se hace un salto a la función ‘greater’.
- Si guess (Valor ingresado por el usuario) es menor a number(valor buscado)
entonces se hace un salto a la función ‘lower’.
endwhile2:
; Fin del proceso de La entrada del usuario.
MOV ax, @data ; obtener la dirección de los datos a AX
MOV ds, ax ; obtener 'data segment' al valor de AX que es 'address of data'.
MOV dl, number ; Carga 'number' a DL
MOV dh, guess ; Carga 'guess' a DH
CMP dh, dl ; Compara DH y DL (DH - DL)
JC greater ; si DH (GUESS) > DL (NUMBER) salta a la función greater
JE equal ; si DH (GUESS) = DL (NUMBER) salta a la función equal
JG lower ; si DH (GUESS) < DL (NUMBER) salta a la función lower
Función Equal:
- Esta función imprime el mensaje almacenado en la variable ‘equalMsg’.
- Posteriormente sala a la función ‘exit.’
-
equal:
;Carga el contenido de la variable equalMsg
MOV dx, offset equalMsg ; Carga la dirección del mensaje de 'equalMsg' a DX
MOV ah, 9h ; Escribe una cadena de STDOUT (para DOS interrupt)
INT 21h ; (Interrupción DOS)
JMP exit ; Salta a 'exit'
8. Función Greater:
- Esta función imprime el mensaje almacenado en la variable ‘moreMsg’.
- Posteriormente salta al inicio del programa para que el usuario pueda ingresar otro
número. ‘start’
greater:
MOV dx, offset moreMsg ; Carga la dirección del mensaje de 'moreMsg' a DX
MOV ah, 9h ; Escribe una cadena de STDOUT (para DOS interrupt)
INT 21h ; (Interrupción DOS)
JMP start ; Salta al inicio del programa(start)
Función Lower:
- Esta función imprime el mensaje almacenado en la variable ‘lessMsg’.
- Posteriormente salta al inicio del programa para que el usuario pueda ingresar otro
número. ‘start’
lower:
MOV dx, offset lessMsg ; Carga la dirección del mensaje de 'lessMsg' a DX
MOV ah, 9h ; Escribe una cadena de STDOUT (para DOS interrupt)
INT 21h ; (Interrupción DOS)
JMP start ; Salta al inicio del programa(start)
Función Overflow:
- Esta función imprime el mensaje almacenado en la variable ‘overflowMsg’.
- Posteriormente salta al inicio del programa para que el usuario pueda ingresar otro
número. ‘start’
overflow:
MOV dx, offset overflowMsg ; Carga la dirección del mensaje de 'overflowMsg' a DX
MOV ah, 9h ; Escribe una cadena de STDOUT (para DOS interrupt)
INT 21h ; (Interrupción DOS)
JMP start ; Salta al inicio del programa(start)
9. Funciónes Exit y retry_while:
Retry_while:
- En esta función se muestra un mensaje preguntando al usuario si desea seguir
ejecutando el programa.
- Donde el usuario solo puede responder con ‘y’ y ‘n’. Si el ingresa otro carácter
nuestro programa volverá a preguntar si desea continuar.
- Si el usuario ingresa ’n’ se salta a la función ‘return_to_DOS’. Caso contrario ingrese
‘y’ se salta a la función ‘restart’.
exit:
; Preguntar al usuario si necesita volver a intentarlo
retry_while:
MOV dx, offset retry ; Carga la dirección del mensaje de 'prompt' a DX
MOV ah, 9h ; Escribe una cadena de STDOUT (para DOS interrupt)
INT 21h ; (Interrupción DOS)
MOV ah, 1h ; lee un carácter de STDIN en AL (para DOS interrupt)
INT 21h ; (Interrupción DOS)
CMP al, 6Eh ; Compara si la entrada es 'n'
JE return_to_DOS ; llama a 'return_to_DOS' si la entrada es 'n'
CMP al, 79h ; revisa si la entrada es'y'
JE restart ; llamar a 'restart' si la entrada es 'y'
; salta a "restart"
JMP retry_while ; Si la entrada no es 'y' ni 'n', se vuelve a preguntar
Funciónes retry_endwhile , restart y return_to_DOS:
restat:
- Esta función nos envía al inicio del programa.
Return_to_DOS:
- Esta función finaliza nuestro programa.
retry_endwhile:
restart:
JMP start ; Salta al inicio del programa(start)
return_to_DOS:
MOV ax, 4c00h ; Retorna ms-dos
INT 21h ; (Interrupcion DOS)
end start ;finaliza start
RET