aprenda a programar desde cero parte 1

Páginas: 5 (1098 palabras) Publicado: 21 de octubre de 2014
FACULTAD CIENCIAS EXACTAS Y TECNOLOGA. CARRERA DE INGENIERA INFORMTICA INF221 LENGUAJE ENSAMBLADOR GRUPO SA, SB y SC Sem/Ao 1/2012 PRCTICO No 1 EJERCICIOS DE PROGRAMACIN EN LENGUAJE ENSAMBLADOR PARA LA ARQUITECTURA IA-32 (INTEL ARCHITECTURE 32 BITS) USO DEL NASM, GCC Y OLLYDBG Escribir y probar el funcionamiento de los siguientes programas de 32bits escritos en lenguaje ensamblador para la arquitectura IA-32 de Intel 1.-) Escribir y probar el funcionamiento de un programa en lenguaje ensamblador para la arquitectura IA-32 de Intel que calcule la resta de dos nmeros a y b definidos en el segmento de datos de memoria. Los nmeros a restar tendrn los siguientes valores a 7252051615 y b 5732348928 (variables a y b). El resultado de la restac a - b se almacenar en memoria en una variable llamada c. 2.-) Escribir un programa en lenguaje ensamblador el cual tomar un vector (variable v) de n elementos (variable n) definidos en memoria, calcular la suma de sus elementos (a nivel de word) que se encuentran en las posiciones impares (v1, v3, etc) de dicho vector, almacenando en memoria el resultado de dicha suma (variable suma). Loselementos de dicho vector tendrn los siguientes valores 3210, 9221, - 9896, 0013, 5507, 1122, - 13250, 8123, 4581, 6034, -7504, -0219, 4671, 7702 Por ejemplo si tuviramos definido en el segmento de datos del programa el siguiente vector v 1, 10, -8, 7, 14, -3, 23, -52 El programa calcular por lo tanto la suma de los elementos que se encuentran en las posiciones impares esto es v1v3 v5 v7 10 7 (- 3) (- 52) - 38 y almacenar en memoria el resultado de dicha suma. En el caso que se produjera un desbordamiento (overflow) almacenar un 1 (uno) en una variable llamada overflow, caso contrario un 0 (cero). 3.-) El mtodo ms simple para detectar alteraciones en un bloque de datos de memoria consiste en agregar al final del mismo la suma verificacin byte a byte de todo elcontenido del bloque. Este byte agregado al final dicho bloque se conoce como ckecksum o suma verificacin y se forma realizando la suma O- exclusiva (XOR) entre todos los bytes del bloque. Escribir un programa que calcule el ckecksum del siguiente bloque de datos (variable bloque) 0x4F, 0x2C, 0xA8, 0x2A, 0x35, 0x3B, 0x72, 0x53, 0x0B, 0x85, 0x05, 0xA9, 0x2D, 0x69, 0x12, 0x5C, 0x43, 0x34, 0x7F,0x2E, 0x9F (hexadecimal) previamente almacenado en memoria. El programa almacenar la suma verificacin calculada (variable ckecksum) al final de dicho bloque de datos de memoria. Almacenar el nmero total de bytes de dicho bloque en la variable numero. 4.-) Escribir un programa para encontrar el mayor elemento de un vector de datos (variable vector). Los elementos de dicho vector son nmeros sin signo(SS) a nivel de byte y tienen los siguientes valores (hexadecimal) 0x3B, 0x72, 0x53, 0x0B, 0x4F, 0x2C, 0xA8, 0x2A, 0x35, 0x85 ,0x01, 0xA9, 0x2D, 0x69, 0x12, 0x6C, 0x43, 0x34, 0x7F, 0x2E, 0x9F, 0x11. La longitud del vector (variable longitud) se definir a continuacin de la variable vector y el resultado se almacenar a continuacin (variable mayor). 5.-) Escribir un programa llamado cut and pasteel cul tomar dos operandos (a nivel de double word) definidos en memoria (variable operando1 y operando2) y crear un nuevo operando (variable operando3) combinando los bits impares de operando1 con los bits pares de operando2. Los datos para el programa sern los siguientes operando1 3705598764 operando2 1221045067 Los valores dados se encuentran en DECIMAL salvo especificado lo contrario. Una vezescritos los programas con un editor (se sugiere usar el editor Notepad) guardar los mismos con la extensin .asm. Posteriormente ensamblar los programas con el ensamblador NASM (NETWIDE ASSEMBLER) con las siguientes opciones (utilizadas en el laboratorio) nasm -f win32 -o P1.o P1.asm l P1.lst A fin de enlazar el programa objeto creado con anterioridad para crear el ejecutable sort.exe,...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Aprender A Programar Desde Cero Y No Morir En El Intento Parte I
  • Aprender Inglés desde Cero
  • Aprenda electronica desde cero
  • aprendiendo java desde cero
  • Make up: Desde cero
  • programando desde cero
  • Indice Libro Y Ebook Aprender A Programar En Java Desde Cero Curso Pasoapaso
  • Asm Desde Cero 1

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS