Entradas

LENGUAJE MAQUINA

 Introducción al Lenguaje de Máquina Definición: El lenguaje de máquina es el código binario que la computadora entiende y ejecuta directamente. Representa las instrucciones en forma de secuencias de unos y ceros. Es el nivel más bajo de programación, cercano al hardware de la computadora. Estructura del Lenguaje de Máquina Instrucciones: Cada instrucción en lenguaje de máquina consta de un código de operación (opcode) y operandos. Codificación binaria: Cada instrucción se representa mediante una secuencia de bits que la CPU puede interpretar y ejecutar. Arquitectura de la CPU: La estructura y diseño de la CPU determina el conjunto de instrucciones disponibles en el lenguaje de máquina. Registros de la CPU Registros de propósito general: Como AX, BX, CX, DX, que se utilizan para almacenar datos y direcciones. Registros de control: Como IP (Instruction Pointer), SP (Stack Pointer), que controlan el flujo de ejecución. Registros de estado: Como el registro de banderas (flags), que al...

CONCEPTOS

 CONSEPTOS DE: mov (Move): El comando mov se utiliza para mover datos entre registros, memoria y puertos de entrada/salida. Sintaxis: mov destino, fuente Ejemplo: mov ax, 0x1234 (mueve el valor 0x1234 al registro ax) call: El comando call se utiliza para llamar a una subrutina (función) específica. Cuando se ejecuta call, la dirección de retorno se guarda automáticamente en la pila. Cuando la subrutina termina, se utiliza el comando ret para volver al programa principal. Ejemplo: call subroutine (llama a la subrutina "subroutine") int 21h: int 21h es una interrupción del sistema operativo MS-DOS (ahora obsoleto) que se utilizaba para acceder a funciones del sistema. Proporcionaba una interfaz estándar para realizar operaciones de entrada/salida, manejo de archivos, etc. Ejemplo: int 21h, ah=9, dx=msg (imprime el mensaje apuntado por dx) div (División): div realiza la división de un operando de mayor tamaño por un operando más pequeño. El resultado de la división se almacena e...

CODIGO

 .model small .stack 100h .data     msg1 db 'Selecciona la operacion:', 10, 13, 'a) Suma', 10, 13, 'b) Resta', 10, 13, 'c) Multiplicacion', 10, 13, 'd) Division', 10, 13, 'Opcion: $'     msg2 db 10, 13, 'Ingresa el primer numero: $'     msg3 db 10, 13, 'Ingresa el segundo numero: $'     msg4 db 10, 13, 'El resultado es: $'     num1 db ?     num2 db ?     res dw ? .code     main proc         mov ax, @data         mov ds, ax                  ; Mostrar el mensaje         lea dx, msg1         mov ah, 9h         int 21h                  ; Leer la opcion del usuario         mov ah, 1h         int 21h         cmp al, 'a'         je suma   ...

RESUMEN DEL VIDEO

 La memoria de los ordenadores, al igual que la humana, es fundamental para su funcionamiento. Desde los bits en la memoria hasta la latencia y los diferentes tipos de almacenamiento a largo plazo como unidades de estado sólido, el video destaca la importancia de la memoria para la operación eficiente de las computadoras. Sin embargo, también señala la degradación de la memoria con el tiempo y cómo los científicos buscan mejorar la durabilidad y velocidad de los dispositivos de almacenamiento. ¿Cómo afectarán estos avances futuros en la tecnología informática? ¿Se logrará finalmente una memoria más duradera y rápida? ¿Cuáles son los desafíos restantes en el desarrollo de la memoria de computadoras? Nuestras memorias nos definen al ayudarnos a recordar el pasado, aprender habilidades, y planificar el futuro. De manera similar, la memoria en las computadoras, representada por unidades básicas llamadas bits, desempeña un papel fundamental. Estos bits se almacenan en celdas de memoria ...

REGISTROS

Imagen
 REGISTROS DE LA COMPUTADORA Los registros de la computadora son elementos esenciales que desempeñan un papel crucial en el funcionamiento de los sistemas informáticos. Cada vez que interactuamos con una computadora, ya sea a través de un smartphone, una tableta o una computadora de escritorio, estamos utilizando una variedad de registros que trabajan en conjunto para realizar tareas y almacenar información. En este artículo, exploraremos los diferentes tipos de registros de la computadora y su importancia en el proceso de computación. Acompáñanos en este fascinante viaje a través del corazón de la tecnología informática. TIPOS DE REGISTROS 1. Registro de propósito general:  Este tipo de registro es el más común y se utiliza para almacenar datos y realizar operaciones aritméticas. Estos registros son accesibles para el procesador y se utilizan para guardar valores temporales durante la ejecución de programas. Los registros de propósito general son utilizados por el procesador ...

PRESENTACIÓN

DIAPOSITIVA

VIDEO

VIDEO  

Optimización

 La optimización en el contexto de la programación se refiere al proceso de mejorar el rendimiento y la eficiencia de un programa. A continuación, te proporcionaré una breve investigación sobre los diferentes tipos de optimización: local, global, mirilla (loop unrolling) y optimización de ciclos. Optimización Local: La optimización local se centra en mejorar el rendimiento de un fragmento de código a nivel de instrucción o de bloque. Esto puede incluir la eliminación de cálculos redundantes, el uso eficiente de registros y la minimización de operaciones innecesarias. Los compiladores modernos realizan optimizaciones locales automáticamente, como la eliminación de código muerto, la propagación de constantes y la reorganización de operaciones para minimizar el número de instrucciones ejecutadas. La optimización local tiene como objetivo mejorar el rendimiento del código a nivel de fragmentos pequeños, lo que puede resultar en mejoras significativas en el rendimiento general del progr...
Imagen
  Polaca ++-*85/232-+/764/23 ++-(8*5)(2/3)2-+(7/6)4(2/3) ++((8*5)-(2/3))2-((7/6)+4)(2/3) +(((8*5)-(2/3))+2)(((7/6)+4)-(2/3)) (((8*5)-(2/3))+2)+(((7/6)+4)-(2/3)) Polaca Inversa 85*23/-2+76/4+23/-+ (8*5)(2/3)-2+(7/6)4+(2/3)-+ ((8*5)-(2/3))2+((7/6)+4)(2/3)-+ ((8*5)-(2/3))2+((7/6)+4)(2/3)-+ (((8*5)-(2/3))+2)(((7/6)+4)-(2/3))+ (((8*5)-(2/3))+2)+(((7/6)+4)-(2/3))
Imagen
 (6/7*2+1)-(7-2*3/6+8) Recorrido polaca -+*/6721+-7*2/368 -+*(6/7)21+-7*2(3/6)8 -+((6/7)*2)1+-7(2*(3/6))8 -((6/7)*(2+1)+((7-2)*(3/6))8 ((6/7)*(2+1)-((7-2)*(3/6)+8) Recorrido polaca inversa  67/2*1+36/2*7-8+- (6/7)2*1+(3/6)2*7-8+- ((6/7)*2)1+(3/6)*2)7-8+- ((6/7)*(2+1)((3/6)*(2-7)8+- ((6/7)*(2+1)-((3/6)*(2-7)+8)

Ejercicio en clase

Imagen
  (8*5/2+6-3)+(3/6+5*2) +-+/*85263+/36*52 +-+/(8*5)263+/36(5*2) +-+((8*5)/2)63((3/6)+(5*2)) +-((8*5)/(2+6))3((3/6)+(5*2)) +((8*5)/(2+6)-3)((3/6)+(5*2)) ((8*5)/(2+6)-3)+((3/6)+(5*2))
Imagen
 
Imagen
 Una aplicación común del recorrido posfijo es para evaluar expresiones aritméticas en forma de árboles de expresiones. Al realizar un recorrido posfijo en un árbol de expresiones, podemos evaluar la expresión de manera eficiente. Por ejemplo, considera el siguiente árbol de expresiones aritméticas: Un recorrido posfijo de este árbol daría como resultado la expresión "2 3 * 6 1 - +", que luego puede ser evaluada para obtener el resultado de la expresión. En términos de implementación, el recorrido posfijo se puede realizar utilizando recursión o mediante el uso de una pila para mantener un seguimiento de los nodos que aún no han sido visitados completamente. La elección del método depende de la estructura del árbol y las necesidades del problema específico. Recorrido Posfijo en Árboles Binarios: En los árboles binarios, el recorrido posfijo es una de las tres formas estándar de recorrer los nodos. Las otras dos formas son el recorrido en preorden y el recorrido en inorden. Ca...

collage

Imagen
 

diagrama classs

Imagen
 

LINK DE PRESENTA

https://drive.google.com/file/d/1fZwAc4Pyw9maYbH-NtSIA_Ij4aZpZxOO/view?usp=sharing

PREORDEN CLASS

Imagen
 ACDFGEJBHI

Recorrido en preorden

Imagen
  Recorrido en preorden Como hemos dicho anteriormente, en el recorrido en preorden de un árbol binario se visita la raíz, después el hijo izquierdo y finalmente el hijo derecho. Veamos como lo hacemos en este ejemplo. Primero de todo, colocaremos una marca a la izquierda de cada nodo. Lo único que tenemos que hacer es rodear el árbol con una línea desde la raíz (nodo 1). A medida que nos vamos encontrando marcas, iremos encontrando el siguiente nodo en preorden.         PREORDEN:  1-2-4-5-3-6

PILA SEMANTICA EN UN ANALIZADOR SINTACTICO

Imagen
 

EXAMEN

Imagen