INDICE

1.

INTRODUCCIÓN............................................................................................. 1

2.

OBJETIVOS.................................................................................................... 2
2.1 Objetivo General:....................................................................................... 2
2.3 Objetivo Especifico:................................................................................... 2

3.

MARCO TEORICO.......................................................................................... 2

4.

DESCRIPCION................................................................................................ 4

5.

MATERIALES.................................................................................................. 6
Software:.......................................................................................................... 6
Hardware:........................................................................................................ 6

6.

CONCLUSIONES............................................................................................. 6

7.

BIBLIOGRAFIA............................................................................................... 7

1. INTRODUCCIÓN

es así que en bajo nivel hacen lo mismos. 2.En el presente informe detallaremos el uso de materializados en dos ejemplos hechos en laboratorio. DESCRIPCION 2 . donde se muestre 3 mensajes. esto debido a que los fabricantes de hardware diseñan sus chips pensando ya en las instrucciones de un lenguaje ensamblador. el lenguaje de ensamblador (en inglés assembly) no usa intermediarios. son comparables con funciones o métodos en programación de alto nivel. 2. MARCO TEORICO Ensamblador. OBJETIVOS 2.1 Objetivo General: Aprender el uso de Subrutinas. Las Sub-rutinas. sino que directamente le da las órdenes a la máquina. 4. 3. A diferencia de otros lenguajes. es poder materializar las clases de teoría sobre subrutinas en prácticas: La práctica consistió en diseñar una aplicación. que usan el sistema operativo como intermediario para ejecutar las tareas (le dicen al sistema operativo que haga una cosa y este es quien se encarga de hacerle saber al ordenador). determinadas tareas y que pueden ser invocados desde diferentes puntos del programa principal o desde otras subrutinas. y cada mensaje deberá estar en 3 partes diferentes del código. Sub-rutinas. se define como un lenguaje de programación que se usa para dar directamente órdenes al ordenador.3 Objetivos Específicos: (De la práctica del día lunes) El objetivo de esta clase de laboratorio. Son la representación más entendible para el humano de los códigos del lenguaje máquina. Cada instrucción en lenguaje ensamblador aparece casi a la par con el lenguaje máquina.

con el código de la aplicación que se realizó: A continuación. datos segment 2. pila ENDS 9. ax 3 . db 8 (?) 8. datos 13.De la práctica del día lunes 03 de noviembre: A continuación podemos ver una ventana. la descripción del código: 1. mov ax. pila segment stack 7. ss:pila 11. m3 db "Esta en el 3er segmento de codigo $" 5. ds:datos. m1 db "Esta en el 1er segmento de codigo $" 3. ASSUME cs:cod1. cod1 segment 10. datos ENDS 6. mov ds. INICIO: 12. m2 db "Esta en el 2do segmento de codigo $" 4.

se declara “m1”. 37. se da termino al segmento de pila. 22.14. 36. se declara el segmento de pila. 34. declaramos el segmento “cod1”. La línea de código (5). 21. 15. La línea de código (7). se está aperturando el segmento de datos. 09 mov dx. declaramos el segmento de pila de 8 bit. offset m1 int 21h CALL FAR PTR mostrar_menu mov dx. mov ah. 29. 16. como mensaje de 8 bit. La línea de código (3). 31. 20. offset m3 int 21h FIN mov ah. 25. como mensaje de 8 bit. 32. como mensaje de 8 bit. 4 . 30. La línea de código (6). 4ch int 21h cod1 ENDS cod2 segment ASSUME CS cod2 mostrar_menu proc far push ax push dx mov ah. 27. que utilizaremos en toda la aplicación. 18. 28. La línea de código (8). La línea de código (9). 23. 33. La línea de código (2). aquí declararemos los datos. se declara “m2”. 24. 26. 35. offset m2 int 21h pop dx pop ax RET mostrar_menu ENDP cod2 ENDS END INICIO La línea de código (1). 17. La línea de código (4). 09 mov dx. 19. se da termino al segmento de datos. se declara “m3”.

La línea de código (24). La línea de código (23). La línea de código (25). llamamos a la rutina “mostra_menu” La línea de código (18). La línea de código (13). La línea de código (11). movemos los datos al registro ax. pasamos los parámetros a los registros correspondientes.La línea de código (10). para ir finalizando el segmento cod1. La línea de código (17). declaramos el segmento de código “cod2”. La línea de código (15). pasamos parámetros del segmento cod2. para el registro dx. La línea de código (21). al registro cs. movemos la función 09. terminamos el segmento cod1.damos inicio al segmento de codigo La línea de código (12). La línea de código (16). terminamos la ejecución del proceso y lo movemos al registro. para el registro dx. La línea de código (19). La línea de código (20). interrumpimos la aplicación. para dx La línea de código (14). pasamos el mensaje m1. ah. interrumpimos la aplicación. declaramos “FIN”. interrumpimos la aplicación. La línea de código (22). para el registro ax. 5 . pasamos el mensaje m3. para imprimir una cadena. movemos el registro ax.

para el registro dx. el segmento de código 6 . La línea de código (33). La línea de código (34). desapilamos dx. desapilamos ax. La línea de código (32). La línea de código (29). movemos la función 09. declaramos la subrutina “mostrar_menu” La línea de código (27). terminamos la subrutina La línea de código (35). La línea de código (31). para imprimir una cadena. apilamos el registro dx. finalizamos la subrutina. terminamos “cod2”. para el registro ax. La línea de código (30). interrumpimos la aplicación. La línea de código (36).La línea de código (26). La línea de código (28). apilamos el registro ax. pasamos el mensaje m2.

slideshare. BIBLIOGRAFIA http://es. En la ventana 3 (contenido de registros de estado). BoardLand. 7 . En la ventana 2 (contenido de registros de estado). mouse) 6. CONCLUSIONES EL uso de rutinas nos facilitan mucho la tarea a la hora de programar. teclado.La línea de código (37). ya tiene el resultado de la suma “000F” que corresponde al número 15 en hexadecimal.net/jevelarde/16-instrucciones-de-subrutinas-2506741 Ing. MATERIALES Software: Un Sistema operativo Windows xp. Monitor. Jaime Valverde. se puede observar que en el registro “ax”. finalizamos la aplicación. 5. Hardware: Una computadora (CPU. la dirección donde se está ejecutando la aplicación. además del ip 010D. El código de las subrutinas aparece una sola vez en un programa 7. se puede apreciar los registros de Punteros.