ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Colaborativo 3 arquitectura pc.


Enviado por   •  18 de Mayo de 2016  •  Informes  •  2.472 Palabras (10 Páginas)  •  1.837 Visitas

Página 1 de 10

Trabajo Colaborativo Momento 2

Presentado por

Jhon Wuilquer Laguna Castellanos

Cod 1077849519

Universidad Abierta y a Distancia UNAD

CEAD Pitalito

Ingeniería de Sistemas

Trabajo Colaborativo Momento 2

Presentado por

Jhon Wuilquer Laguna Castellanos

Cod 1077849519

Presentado a

Anyelo Gerley Quintero

Universidad Abierta y a Distancia UNAD

CEAD Pitalito

Ingeniería de Sistemas

INTRODUCCIÓN

En este trabajo vamos a encontrar un grafico de las instrucciones de MIPS como son las instrucciones tipo salto, instrucciones corta, cerca y lejana como también dos Problemas resueltos mediante código assembler mediante el programa note pad++

Objetivos

Objetivos General

  • Aplicar el Lenguaje Emsamblador

Objetivos Especificos

  • Conocer las etiquetas y decisiones del lenguaje Emsanblador
  • Resolver y utilizar el código mediante el programa NotePad++
  • Adquirir conocimientos de las propiedades del lenguaje ensamblador

[pic 1][pic 2][pic 3][pic 4][pic 5][pic 6][pic 7][pic 8][pic 9][pic 10][pic 11][pic 12][pic 13][pic 14][pic 15]

2. Desarrollar un código en un lenguaje ensamblador que permita leer un número de un digito por teclado y determinar si el número es positivo, negativo o cero. Subir un video a la web donde explique cómo lo hizo, debe quedar evidencia del estudiante que lo desarrolló

URL YOUTUBE

https://youtu.be/Vqlltl8RoN4

Código ensamblador

  1. .model small; El que define el Modelo que vamos utilisar de Memoria
  2. .stack 64; Se define el tamaño de nuestra pila
  3. .data ; el que define la variable
  4. msg1 db "Introdusca El Numero",' $'; Mensaje para introducir el primer Numero
  5. msg2 db "El Numero es Positivo",'$'; Mensaje si el numero es Positivo
  6. msg3 db "El numero es Negativo",'$'; Mensaje si el Numero es Negativo
  7. msg4 db "El Numero es Cero",'$'; Mensaje si el Numero es Cero
  8. saltar db " ",10,13,'$'; Para Saltar una Fila
  9. var1 db 0; Variable para mover El Valor del Numero
  10. var2 db 0; Variable para Comparar
  11. .code ; De aqui en adelante comiensa el Codigo Emsamblador
  12. inicio proc far
  13. mov ax, @data;
  14. mov ds, ax;
  15. ;Despejar Pantalla
  16. mov ah, 00
  17. mov dx, 03h;
  18. int 10h
  19. ;Mostrar el primer Mensaje
  20. mov ah, 09h ; Para Mostrar el primer mensaje en la Pantalla
  21. lea dx, msg1; Introdusca el Numero
  22. int 21h
  23. ;Leer y Convertir
  24. mov ah,01h ; Lee y Muestra el Numero en Pantalla
  25. int 21h
  26. sub al,30h; Hace la Conversion a ASCII hay que restarle
  27. mov var1,al ;Se pasa el Primer Byte
  28. int 21h
  29. sub al,30h; Hace la Conversion a ASCII
  30. mov ah,var1 ; Se pasa el Segundo Byte
  31. mov bl,var1; se Muebe el Valor de la variable 1 a bl
  32. cmp bl, var2;
  33. JG positi;
  34. JL negati;
  35. JE igual;
  36. mov ah, 09h ;
  37. lea dx, saltar;
  38. int 21h
  39. mov ah, 09h ;
  40. lea dx, saltar;
  41. int 21h
  42. positi:; si el número es Positivo
  43. mov ah,09h
  44. lea dx, msg2; El Numero es Positivo
  45. int 21h
  46. jmp salir
  47. negati:; si el Numero es Negativo
  48. mov ah,09h
  49. lea dx, msg3; El Numero es Negativo
  50. int 21h
  51. jmp salir
  52. igual:; El Numero es Cero
  53. mov ah,09h
  54. lea dx, msg4; El Numero es Igual a Cero
  55. int 21h
  56. jmp salir
  57. salir:; Mando Al DOS
  58. mov ax, 4c00h
  59. int 21h
  60. inicio endp
  61. end inicio

3. Desarrollar un código en un lenguaje ensamblador que permita realizar una multiplicación de dos números a través de sumas sucesivas y una potencia a través de multiplicaciones sucesivas (para ello debe utilizar instrucciones tipo bucle). Al inicio del programa se deben capturar por teclado dos números de un  digito cada uno; subir un video a la web donde explique cómo lo hizo, debe quedar evidencia del estudiante que lo desarrolló

URL YOUTUBE

https://youtu.be/xCixdq5kCQg

Código ensamblador

  1.  .model small;
  2. .stack 64;
  3. .data
  4. mainmenu db "Aplicativo para resolver una Multiplicacion o hallar la potencia",13,10
  5.                  db "**MENU**",13,10
  6.                  db "1.Multiplicacion",13,10
  7.                  db "2.Potenciacion",13,10
  8.                  db "3.Salir",13,10
  9.                  db "Seleccione Una Opcion",13,10,13,10,'$'
  10.                  
  11. msg1 db "Introdusca El Primer Numero",13,10,'$'
  12. msg2 db "Introdusca el Segundo Numero",13,10,'$'
  13. msg3 db "El Resultado de la Multiplicacion es:",'$'
  14. msg4 db "Introdusca la Base:",13,10,'$'
  15. msg5 db "Introdusca el Exponete:",13,10,'$'
  16. msg6 db "El Resultado de la Pontencia es:",'$'
  17. suma db 0
  18. num1 db 0
  19. num2 db 0
  20. potencia db 1
  21. base db 0
  22. exp db 0
  23. byteh db 0
  24. bytel db 0
  25. saltar db " ",13,10,'$'
  26. .code ; Empiesa el Codigo
  27. inicio proc far
  28. mov ax, @data;Direccionamiento de los segmentos de Datos
  29. mov ds,ax
  30. ;Limpiar Pantalla
  31. mov ah, 00
  32. mov dx,184Fh
  33. int 10h
  34. mov ah,02h
  35. mov bh,00; Inicia el Reguistro
  36. mov dh,00
  37. mov dl,00
  38. int 10h
  39. ;Para desplegar El Menu con Sus Opciones
  40. opcion:
  41.         mov ah, 09h
  42.         lea dx,mainmenu
  43.         int 21h
  44.         
  45.         mov ah,01h
  46.         int 21h
  47.         
  48.         ; Se Escoje la Opcion
  49.         
  50.         cmp al,49
  51.         je multi
  52.         
  53.         cmp al,50
  54.         je poten
  55.         
  56.         cmp al,51
  57.         je exit
  58.         
  59.         
  60. multi:
  61.         mov ah,09h
  62.         lea dx,saltar;
  63.         int 21h
  64.         
  65.         mov ah,09h
  66.         lea dx,msg1;Solicitud del Primer Numero
  67.         int 21h
  68.         
  69.         Mov ah,01h;lee y Muestra el Numero Digitado
  70.         int 21h
  71.         
  72.         ;Conversuion del Numero
  73.         sub al,30h;
  74.         mov num1,al ;
  75.         int 21h
  76.         
  77.         mov ah, 09h ;
  78.         lea dx,saltar;
  79.         int 21h
  80.         
  81.         mov ah,09h
  82.         lea dx,msg2;Solicitud del Segundo Numero
  83.         int 21h
  84.         
  85.         mov ah,01h ;
  86.         int 21h
  87.         
  88.         ;Conversion del Numero
  89.         sub al,30h;
  90.         mov num2,al;
  91.         int 21h
  92.         
  93.         ; Operaciones sumas Sucesivas
  94.         
  95.         mov cl,num2;
  96.         
  97.         sumar:
  98.         mov al,num1;
  99.         add al,suma;
  100.         mov suma,al;
  101.         loop sumar;
  102.         
  103.         mov ah,09h;
  104.         lea dx,msg3;
  105.         int 21h
  106.         
  107.         mov al,suma
  108.         aam
  109.         mov bytel,al
  110.         mov byteh,ah
  111.         
  112.         mov ah,02h
  113.         
  114.         mov dl,byteh
  115.         add dl,30h
  116.         int 21h
  117.         
  118.         mov dl,bytel
  119.         add dl,30h
  120.         int 21h
  121.         
  122.         mov ah, 09h;
  123.         lea dx,saltar;
  124.         int 21h
  125.         jmp salir
  126.         
  127.         exit:
  128.         jmp salir
  129.         
  130.         poten:
  131.         
  132.         mov ah,09h
  133.         lea dx,saltar;
  134.         int 21h
  135.         
  136.         mov ah,09h
  137.         lea dx,msg4;
  138.         int 21h
  139.         
  140.         mov ah,01h;
  141.         int 21h
  142.         
  143.         sub al,30h;
  144.         mov base,al;
  145.         int 21h
  146.         
  147.         mov ah,09h
  148.         lea dx,saltar;
  149.         int 21h
  150.         
  151.         mov ah,09h
  152.         lea dx,msg5;
  153.         int 21h
  154.         
  155.         mov ah,01h;
  156.         int 21h
  157.         
  158.         sub al,30h;
  159.         mov exp,al ;
  160.         int 21h
  161.         
  162.         mov cl,exp;
  163.         
  164.         product:
  165.         
  166.         mov al,base;
  167.         mov bl,potencia;
  168.         mul bl;
  169.         mov potencia,al;
  170.         loop product       ;
  171.         
  172.         mov ah, 09h ;
  173.         lea dx,msg6;
  174.         int 21h
  175.         
  176.         mov al,potencia
  177.         aam
  178.         mov bytel,al
  179.         mov byteh,ah
  180.         
  181.         mov ah,02h
  182.         mov dl,byteh
  183.         add dl,30h
  184.         int 21h
  185.         
  186.         mov ah,02h
  187.         mov dl,bytel
  188.         add dl,30h
  189.         int 21h
  190.         jmp salir
  191.         
  192.         
  193.         salir:
  194.         mov ax, 4c00h
  195.         int 21h
  196.         
  197. inicio endp
  198. end inicio

CONCLUSIONES

En el trabajo colaborativo aplicamos los conocimientos adquiridos en el módulo de arquitectura de computadores mediante el código de programación ensamblador para elaborar la solución a dos problemas planteados en la actividad utilizando el código ensamblador y mediante el programa NotePad++ ejecutar y verificar el código ya que nos puede ser útil para nuestra vida académica, laboral y cotidiana

(Castellanos, 2015)

(Castellanos, Punto 3, 2016)

...

Descargar como (para miembros actualizados)  txt (9.9 Kb)   pdf (322.3 Kb)   docx (22 Kb)  
Leer 9 páginas más »
Disponible sólo en Clubensayos.com