Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


GLOSARIO Lenguajes de Interfaz, Apuntes de Lenguajes de Programación

Glosario sobre los conceptos de la asignatura de lenguajes de interfaz

Tipo: Apuntes

2024/2025

A la venta desde 17/04/2026

carlos-g8t
carlos-g8t 🇲🇽

46 documentos

1 / 8

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Instituto Tecnológico Superior de
Uruapan - Ingeniería en Sistemas
Computacionales - Jonathan Zacek
Alcázar - 21/05/2025
GLOSARIO T1
Lenguajes de Interfaz
Carlos Zahid Solorzano Escobar
pf3
pf4
pf5
pf8

Vista previa parcial del texto

¡Descarga GLOSARIO Lenguajes de Interfaz y más Apuntes en PDF de Lenguajes de Programación solo en Docsity!

Instituto Tecnológico Superior de Uruapan - Ingeniería en Sistemas Computacionales - Jonathan Zacek Alcázar - 21 /05/

GLOSARIO T

Lenguajes de Interfaz

Carlos Zahid Solorzano Escobar

GLOSARIO

Acumulador: “Es un registro de la CPU que se usa para almacenar los resultados de las operaciones aritméticas y lógicas. Es como un área temporal de almacenamiento dentro del procesador para facilitar cálculos complejos.” (Abel, 1996). Ejemplo: MOV AX, 5 ; Cargar el número 5 en el acumulador (AX) ADD AX, 3 ; Sumar 3 al valor en AX (AX ahora contiene 8) ▪ AX es el acumulador principal en procesadores x86. ▪ Se carga con el valor 5, y luego se le suma 3 usando ADD AX, 3. ▪ Al final, el valor de AX es 8. Administración de memoria: Consiste en determinar la posición de memoria en la que los diferentes símbolos del programa almacenan la información. Depende de la estrategia utilizada para la gestión de memoria, el mecanismo puede variar. Ejemplo: num DB 10 ; Se reserva 1 byte de memoria y se le asigna el valor 10 MOV AX, @DATA ; Inicializar segmento de datos MOV DS, AX MOV AL, num ; Cargar el valor almacenado en 'num' al registro AL ADD AL, 5 ; Sumar 5 al valor MOV num, AL ; Guardar el nuevo valor de regreso en la variable 'num

  • num DB 10: se reserva espacio en memoria y se inicializa con 10.
  • MOV AL, num: se accede a ese espacio y se carga en el registro.
  • MOV num, AL: se actualiza el valor almacenado en memoria. Bandera: “Son bits especiales dentro de un registro de estado que indican condiciones específicas tras una operación del procesador. Estos bits actúan como "interruptores" (1 = activado, 0 = desactivado) y permiten tomar decisiones mediante saltos condicionales.” (Vásquez, 2018). Ejemplo: MOV AX, 5 ; Cargar 5 en AX SUB AX, 5 ; Restar 5 (AX ahora es 0, ZF se activa) ; Verificar si el resultado fue cero JZ ES_CERO ; Saltar si Zero Flag (ZF) está activa JMP FIN ; Código si el resultado no fue cero ES_CERO: ; Aquí entra si el resultado fue cero.

MOV dato, AL ; Guarda el nuevo valor en la variable 'dato'

  • dato DB 7: se define un dato de 1 byte en memoria con valor 7.
  • MOV AL, dato: se accede a ese dato y se manipula en el registro.
  • ADD AL, 3: se realiza una operación con el dato.
  • MOV dato, AL: se guarda el resultado de nuevo en la memoria. Dirección de memoria: “Es como un identificador único para una ubicación específica en la memoria de un ordenador. Cuando quieres almacenar o recuperar información, necesitas saber dónde se encuentra en la memoria del ordenador, y ahí es donde entran las direcciones de memoria”. (Lenovo, 2023). Ejemplo: MOV AL, [1234h]. ▪ MOV es la instrucción que mueve datos. ▪ AL es el registro de destino. [1234h] es una dirección de memoria de donde se toma el valor. Direccionamiento: Es la forma en cómo se accede a la memoria. Recordar que un programa no puede ejecutarse sino se encuentra en memoria principal. La forma de acceder a la memoria depende del microprocesador, pero en general existen dos tipos de direccionamiento: directo e indirecto Ejemplo: valor DB 9 ; Variable en memoria con valor 9 MOV AX, @DATA ; Inicializa el segmento de datos MOV DS, AX MOV AL, valor ; Dirección directa: accede directamente al valor ADD AL, 1 ; Suma 1 (AL = 10) MOV valor, AL ; Guarda el nuevo valor en memoria
  • Direccionamiento directo: MOV AL, valor accede directamente a la dirección de la variable valor.
  • Se puede cambiar a otros modos como indirecto usando registros (MOV AL, [BX]) o inmediato (MOV AL, 9). Ensambladores: Programas encargados de traducir los programas escritos en ensamblador a código binario. Como el lenguaje ensamblador es muy próximo al binario, estos traductores son programas relativamente sencillos. Ejemplo: ▪ EMU8086 (Muy usado para aprender ensamblador en procesadores Intel 8086 ) ▪ MASM (Ensamblador de Microsoft para procesadores Intel x86 y x64) ▪ NASM (Ensamblador libre y muy usado en sistemas Linux)

Etiqueta: “Es un nombre que se coloca al inicio de una línea seguido de dos puntos, y que representa la posición de memoria donde se encuentra almacenado un dato o instrucción definido justo a continuación”. (Pardo, 2006). Ejemplo: contador DB 3 ; Valor inicial MOV CL, contador ; Cargar el valor en CL REPETIR: ; Esta es la etiqueta ; Aquí iría cualquier instrucción repetitiva DEC CL ; Disminuir el contador JNZ REPETIR ; Saltar a REPETIR si CL no es cero

  • REPETIR: es una etiqueta que marca una posición en el código.
  • El programa puede saltar a esa etiqueta usando instrucciones como JMP, JNZ, JE, etc.
  • Se usa comúnmente en bucles, condicionales y estructuras de control. Instrucción: “Es una orden escrita en lenguaje de bajo nivel que le indica al procesador realizar una operación específica. Cada instrucción generalmente está compuesta por un opcode y, en muchos casos, uno o más operandos”. (Abel, 1996). Ejemplo: ADD AL, 1 ▪ ADD es el opcode, que indica una suma. ▪ AL y 1 son los operandos, es decir, los datos sobre los que se ejecuta la operación. Interrupciones: Son habilidades de comunicación entre hardware y software con el programa que se está desarrollando que le permiten ampliar su capacidad al manejar hardware a través del sistema operativo, o recibir datos o mensajes del sistema operativo, avisar que el programa principal ha terminado, establecer la comunicación hacia algún dispositivo de entrada o salida como la pantalla, el teclado, el mouse o una impresora. Ejemplo: mensaje DB 'Hola mundo$', 0 MOV AH, 09h ; Función 09h: mostrar cadena LEA DX, mensaje ; Cargar la dirección del mensaje INT 21h ; Llamar a la interrupción del sistema ▪ INT 21h llama a una interrupción del sistema. ▪ AH = 09h le dice que debe imprimir una cadena. ▪ DX contiene la dirección de la cadena a imprimir.

▪ AL es el registro de destino.5 es el valor que se mueve al registro AL. ▪ Este opcode le dice al procesador que coloque el número 5 en el registro AL. Operandos : Son los valores sobre los que opera una instrucción. Pueden ser registros, direcciones de memoria, constantes o etiquetas. Los operandos se separan por comas en instrucciones con múltiples operandos, y el orden de los operandos puede indicar la fuente y el destino de la operación. (Abel, 1996). Ejemplo: MOV AL, 5 ▪ MOV es la instrucción (mover datos). ▪ AL es el operando destino (registro). ▪ 5 es el operando fuente (valor inmediato). ▪ Esto carga el valor 5 en el registro AL. Pila (stack): Es una colección de elementos que se utiliza para organizar y manipular elementos en un orden específico. También se llaman estructuras LIFO (Last-In, First-Out), porque siguen el principio de que el último elemento en ser insertado (Last-In), es el primero en ser eliminado (First-Out). (Llamas, 2024). Ejemplo: PUSH AX POP BX ▪ PUSH AX guarda el contenido del registro AX en la pila. ▪ POP BX recupera el último valor guardado en la pila y lo coloca en el registro BX. Saltos: “Son instrucciones que modifican el flujo de ejecución del programa al transferir el control a una dirección de memoria específica, ya sea de forma incondicional o condicional (basada en el estado de las banderas del procesador)”. (Vásquez, 2018). Ejemplo: mov ax, 5 ; Carga el valor 5 en el registro AX jmp etiqueta ; Salta INCONDICIONALMENTE a la etiqueta mov ax, 10 ; (Esta línea NUNCA se ejecuta) etiqueta: mov bx, 20 ; El programa continúa aquí ▪ El salto jmp redirige el flujo del programa, haciendo que las instrucciones entre el salto y la etiqueta se omitan. ▪ Esto es útil para controlar la ejecución, crear bucles o saltar secciones de código según se necesite Segmentos: “Son secciones de código con nombres ya establecidos, los cuales separan el código del programa, cada uno de estos se declara con un punto

seguido del nombre del segmento, los segmentos tienen cada uno una función específica” (WordPress, 2018). Ejemplo: .DATA ; Segmento de datos mensaje DB 'Hola segmento$', 0 .CODE ; Segmento de código MAIN PROC MOV AX, @DATA MOV DS, AX ; Cargar el segmento de datos en DS ▪ Un segmento es una sección de memoria dedicada a un propósito (datos, código, pila) ▪ Aquí .DATA define el segmento de datos donde se almacenan variables. ▪ .CODE define el segmento que contiene las instrucciones del programa. REFERENCIAS Abel, P. (1996). Lenguaje ensamblador y programación para IBM PC y compatibles. Prentice Hall Hispanoamericana. https://www.google.com.mx/books/edition/Lenguaje_ensamblador_y_programaci% C3%B3n_par/SSx9RVJmqa4C?hl=es-419&gbpv= Alonzo, J. (2010). Lenguaje de programación. Universidad de Guanajuato. https://www.cimat.mx/~pepe/cursos/lenguaje_2010/slides/slide_02.pdf Lenovo España. (2023, 28 mayo). Desbloqueando el poder de la Dirección de Memoria. Lenovo https://www.lenovo.com/es/es/glossary/memory- address/?orgRef=https%253A%252F%252Fwww.google.com%252F&srsltid=AfmB OopHykrjN63rm81d5yj8x_eNb3k1Lg7zueGQNVXIlJmuR2CVB5SZ Llamas, J. (2022, 24 noviembre). Código de operación (opcode) Qué es, definición y concepto. Economipedia. https://economipedia.com/definiciones/codigo-de- operacion-opcode.html Llamas, L. (2024, 23 noviembre). Qué son y cómo usar las Pilas (Stack). Luis Llamas. https://www.luisllamas.es/que-es-un-stack/ Pardo, A. (200 6 ). Arquitectura y Programación en ensamblador del Intel Pentium. Universidad Carlos III de Madrid. https://lc.fie.umich.mx/~rochoa/Manuales/ENSAMBLADOR/ARQUITECTURA_5iu m/ASM.html Vásquez, C. (2018). ASM I Unidad 6 1 Saltos y banderas. Calameo. https://www.calameo.com/books/0063552929173d360f0ec WordPress. (2018, 12 noviembre). 1.5 Segmentos de ensamblador. https://ittlenguajesdeinterfaz.wordpress.com/1- 5 - segmentos-de-ensamblador/