Advertisement
Domerk

lab4 - masm

Nov 19th, 2013
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; Вычислить значение функции F(x) = x^2 + 5x +7
  2. ; при х = 2 получаем 21
  3. ; при х = 1 получаем 13 т.е. D
  4.  
  5. masm
  6. model small
  7. stack 256
  8. .data
  9. x db 1
  10. y db 5
  11. op1 dw ?
  12. op2 dw ?
  13. .code
  14.    
  15.     FUNCTION1 proc near
  16.     push bp
  17.     mov bp, sp
  18.     mov al, [bp+5]
  19.     mul byte ptr [bp+5]
  20.     pop bp
  21.     ret
  22.     FUNCTION1 endp
  23.    
  24.     FUNCTION2 proc near
  25.     push bp
  26.     mov al, [bp+5]
  27.     mul byte ptr y
  28.     add ax, 7
  29.     pop bp
  30.     ret
  31.     FUNCTION2 endp
  32.    
  33.     main:
  34.     mov ax,@data
  35.     mov ds,ax  
  36.     xor ax,ax
  37.    
  38.     push word ptr x
  39.     call FUNCTION1
  40.     add SP, 4h ;    возвращаем указатель стека на место
  41.     mov op1, ax
  42.     xor ax, ax
  43.    
  44.     push word ptr x
  45.     call FUNCTION2
  46.     add SP, 4h ;    возвращаем указатель стека на место
  47.     mov op2, ax
  48.     xor ax, ax
  49.    
  50.     mov ax, op1
  51.     add ax, op2
  52.    
  53.     mov ax,4c00h
  54.     int 21h
  55. end main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement