Advertisement
Guest User

Untitled

a guest
Nov 11th, 2018
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  2. ; Universidad Autonoma Gabriel Rene Moreno
  3. ; Facultad de Ingenieria en  Ciencias de la Computacion y Telecomunicaciones
  4. ; SEM-II 2018
  5. ; Autor: Anez Vladimirovna Leonardo Henry
  6. ; Registro: 217002498
  7. ; Materia: Ensamblador (INF221)
  8. ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  9. ;----------------------------------------------------------------------------
  10. extern _printf, _scanf     
  11.  
  12.  
  13.  
  14. segment .data
  15. ;Variables Inicializadas
  16.  
  17. m1 db "Ingresar a: ",0
  18. m2 db "Ingresar b: ",0
  19. m3 db "Ingresar c: ",0
  20. m4 db "a=%d b=%d c=%d",10,0
  21. m5 db "d=%d",10,0
  22. forma db "%d";
  23.  
  24. segment .bss
  25. ;Variables sin Inicializar
  26.  
  27. a resd 1
  28. b resd 1
  29. c resd 1
  30. d resd 1
  31.  
  32. segment .text
  33.  
  34. global _main                   
  35. _main:
  36. ;----------------------------------------------------------------------------  
  37.     ; Pedir y leer a
  38.     push m1
  39.     call _printf
  40.     add esp,4
  41.    
  42.     push a
  43.     push forma
  44.     call _scanf
  45.     add esp,8
  46.     ; Pedir y leer b
  47.     push m2
  48.     call _printf
  49.     add esp,4
  50.    
  51.     push b
  52.     push forma
  53.     call _scanf
  54.     add esp,8
  55.     ; Pedir y leer a
  56.     push m3
  57.     call _printf
  58.     add esp,4
  59.    
  60.     push c
  61.     push forma
  62.     call _scanf
  63.     add esp,8
  64.    
  65.     push dword[c]
  66.     push dword[b]
  67.     push dword[a]
  68.     call f
  69.     add esp,12
  70.     mov [d],eax
  71.    
  72.     push dword[c]
  73.     push dword[b]
  74.     push dword[a]
  75.     push m4
  76.     call _printf
  77.     add esp,16
  78.    
  79.     push dword[d]
  80.     push m5
  81.     call _printf
  82.     add esp,8
  83.    
  84. ret
  85. ;----------------------------------------------------------------------------
  86. ;...............................subrutina....................................  
  87.  
  88.  
  89.     f:
  90.         push ebp
  91.         mov ebp,esp
  92.        
  93.             mov eax,[ebp+8]
  94.             add eax,[ebp+12]
  95.             imul eax,[ebp+16]
  96.            
  97.         mov esp,ebp
  98.         pop ebp
  99.     ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement