Vulnerabilidad de seguridad de fusión

¿Qué es la vulnerabilidad de seguridad Meltdown? Meltdown, también conocido como Rogue Data Cache Load, es una vulnerabilidad de seguridad que afecta a los microprocesadores del tipo Intel x86, IBM Power y ARM, al permitir que algunos procesos maliciosos lean la memoria, incluso sin autorización.Explotando la condición de carrera, esta vulnerabilidad permite que un proceso … Continue reading «Vulnerabilidad de seguridad de fusión»

getppid() y getpid() en Linux

Tanto getppid() como getpid() son funciones integradas definidas en la biblioteca unistd.h . getppid() : devuelve el ID de proceso del padre del proceso de llamada. Si el proceso de llamada fue creado por la función fork() y el proceso principal aún existe en el momento de la llamada a la función getppid, esta función … Continue reading «getppid() y getpid() en Linux»

Programa 8085 para convertir código ASCII en código HEX

Problema: escriba un programa de lenguaje de nivel ensamblador para convertir el código ASCII a su respectivo código HEX. Ejemplos: Input: DATA: 31H in memory location 2050 Output: DATA: 0BH in memory location 3050 Suponga que la dirección inicial del programa, la ubicación de la memoria de entrada y las ubicaciones de la memoria de … Continue reading «Programa 8085 para convertir código ASCII en código HEX»

8085 programa para intercambiar un bloque de bytes en memoria

Problema: escriba un programa de nivel ensamblador en el microprocesador 8085 para intercambiar un bloque de 4 bytes a partir de la dirección 2001 con datos a partir de la dirección 3001. Algoritmo – Tome una cuenta igual a 4 Almacene la dirección inicial de ambos bloques en 2 pares de registros diferentes Ahora intercambie … Continue reading «8085 programa para intercambiar un bloque de bytes en memoria»

Programa 8086 para restar dos números BCD de 8 bits

Problema: escriba un programa en el microprocesador 8086 para averiguar la resta de dos números BCD de 8 bits, donde los números se almacenan desde la dirección de memoria inicial 2000: 500 y almacenan el resultado en la dirección de memoria 2000: 600 y llevan (tomar prestado) en 2000: 601. Ejemplo – Algoritmo – Cargue … Continue reading «Programa 8086 para restar dos números BCD de 8 bits»

Programa 8086 para convertir un número decimal de 16 bits a octal

Problema: Nos dan un número decimal de 16 bits, tenemos que imprimir el número en formato octal. Ejemplos: Input: d1 = 16 Output:20 Input: d1 = 123 Output: 173 Explicación: Cargue el valor almacenado en el registro Divide el valor por 8 para convertirlo a octal Empuje el resto en la pila aumentar el conteo … Continue reading «Programa 8086 para convertir un número decimal de 16 bits a octal»

Programa 8085 para realizar la operación AND en nibbles de número de 8 bits

Problema: escriba un programa en lenguaje ensamblador en un microprocesador 8085 para realizar una operación AND entre un nibble de orden inferior y superior de un número de 8 bits. Ejemplo – Suposición: el número de 8 bits se almacena en la ubicación de memoria 2050. El resultado final se almacena en la ubicación de … Continue reading «Programa 8085 para realizar la operación AND en nibbles de número de 8 bits»

E/S sin bloqueo con tuberías en C

Requisito previo: llamada al sistema pipe() ¿Cuándo ocurre el bloque de E/S en pipe()?  Considere dos procesos, un proceso que recopila datos (leer datos) en tiempo real y otro proceso que los traza (escribir datos). Los dos procesos están conectados por una tubería, y el proceso de adquisición de datos alimenta el proceso de trazado … Continue reading «E/S sin bloqueo con tuberías en C»

Convertir código C/C++ a lenguaje ensamblador

Usamos el compilador g ++ para convertir el código C proporcionado en lenguaje ensamblador. Para ver el código ensamblador generado por el compilador de C, podemos usar la opción “-S” en la línea de comando:   Sintaxis:   $ gcc -S filename.c Esto hará que gcc ejecute el compilador, generando un archivo de ensamblaje. Supongamos que escribimos … Continue reading «Convertir código C/C++ a lenguaje ensamblador»

Programa en lenguaje ensamblador para encontrar el número más grande en una array

Problema: determine el número más grande en una array de n elementos. El valor de n se almacena en la dirección 2050 y la array comienza en la dirección 2051. El resultado se almacena en la dirección 3050. La dirección inicial del programa se toma como 2000. Ejemplo – Algoritmo – Estamos tomando el primer … Continue reading «Programa en lenguaje ensamblador para encontrar el número más grande en una array»