Advertisement
Guest User

Untitled

a guest
Apr 12th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; f = (2*((a+b)^3)/4*a+ a*(2c-d^2)/2e
  2.     .model small
  3.     .stack 100h
  4.     .386
  5.     .data
  6.     a   db  10
  7.     b   db  2
  8.     c   db  3
  9.     d   db  1
  10.     e   db  2
  11.     w   dd  ?
  12.     x   dw  ?
  13.     y   dd  ?
  14.     .code
  15. start:
  16.     mov ax, @data
  17.     mov ds, ax
  18.     mov eax, 0
  19.     mov al, a
  20.     mov bl, b
  21.     add al,bl   ;al=a+b
  22.     mov bl,al   ;bl=a+b
  23.     imul bl     ;ax=(a+b)^2
  24.     mov cx,ax
  25.     mov al,bl
  26.     cbw
  27.     imul cx     ;ax=(a+b)^3
  28.     rol eax, 16
  29.     mov ax,dx
  30.     ror eax, 16 ;eax=(a+b)^3
  31.     mov ebx,eax ;ebx=(a+b)^3
  32.     mov al, 2
  33.     cbw
  34.     cwde        ;eax=2
  35.     imul ebx    ;eax=2*(a+b)^3
  36.     mov w,eax
  37.     xor eax,eax
  38.     mov al,a
  39.     imul al,4   :ax=a*4
  40.     cmp ax,0    ;proverka na nolik
  41.     je met
  42.     mov bx,ax   ;bx=ax=4*a
  43.     mov eax,w
  44.     idiv bx     ;dx:ax=rezult(ax-celaya chast)
  45.     mov x,bx    ;bx=pervaya drob
  46.     xor eax,eax
  47.     mov al,c
  48.     imul al,2   ;ax=2*c
  49.     mov bx,ax
  50.     mov al,d
  51.     imul al     ;ax=d^2
  52.     sub bx,ax   ;bx=2c-d^2
  53.     mov al,a
  54.     cbw
  55.     imul bx
  56.     rol eax, 16
  57.     mov ax,dx
  58.     ror eax, 16 ;eax=a*(2c-d^2)
  59.     mov y,eax   ;y=a*(2c-d^2)
  60.     mov al,e
  61.     imul al,2   ;ax=2*e
  62.     cmp ax,0
  63.     je met
  64.     mov bx,ax
  65.     mov eax,y
  66.     idiv bx     ;dx:ax=rezult(ax-celaya chast)
  67.     mov bx,x
  68.     add ax,bx   ;ax=otvet
  69.    
  70.    
  71. met:    mov ax, 4c00h
  72.     int 21h
  73.     end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement