Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; f = (2*((a+b)^3)/4*a+ a*(2c-d^2)/2e
- .model small
- .stack 100h
- .386
- .data
- a db 10
- b db 2
- c db 3
- d db 1
- e db 2
- w dd ?
- x dw ?
- y dd ?
- .code
- start:
- mov ax, @data
- mov ds, ax
- mov eax, 0
- mov al, a
- mov bl, b
- add al,bl ;al=a+b
- mov bl,al ;bl=a+b
- imul bl ;ax=(a+b)^2
- mov cx,ax
- mov al,bl
- cbw
- imul cx ;ax=(a+b)^3
- rol eax, 16
- mov ax,dx
- ror eax, 16 ;eax=(a+b)^3
- mov ebx,eax ;ebx=(a+b)^3
- mov al, 2
- cbw
- cwde ;eax=2
- imul ebx ;eax=2*(a+b)^3
- mov w,eax
- xor eax,eax
- mov al,a
- imul al,4 :ax=a*4
- cmp ax,0 ;proverka na nolik
- je met
- mov bx,ax ;bx=ax=4*a
- mov eax,w
- idiv bx ;dx:ax=rezult(ax-celaya chast)
- mov x,bx ;bx=pervaya drob
- xor eax,eax
- mov al,c
- imul al,2 ;ax=2*c
- mov bx,ax
- mov al,d
- imul al ;ax=d^2
- sub bx,ax ;bx=2c-d^2
- mov al,a
- cbw
- imul bx
- rol eax, 16
- mov ax,dx
- ror eax, 16 ;eax=a*(2c-d^2)
- mov y,eax ;y=a*(2c-d^2)
- mov al,e
- imul al,2 ;ax=2*e
- cmp ax,0
- je met
- mov bx,ax
- mov eax,y
- idiv bx ;dx:ax=rezult(ax-celaya chast)
- mov bx,x
- add ax,bx ;ax=otvet
- met: mov ax, 4c00h
- int 21h
- end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement