.586
.model flat, stdcall
option casemap:none;
include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
include \masm32\include\debug.inc
includelib\masm32\lib\user32.lib
includelib\masm32\lib\kernel32.lib
includelib\masm32\lib\debug.lib
.data
i dw -2 ;i*k+k/2, i>=2
k dw 4 ;2*i*i+k, i<0
eki dw 2 ;3*i*i*i-k, 0<=i<=2
.code
begin:
xor ax,ax
xor bx,bx
.IF (i >= 2) ;i*k+k/2
mov ax,i
mul k
mov bx,ax
mov ax,0
mov ax,k
div eki
add ax,bx
.ElSEIF (i < 0) ;2*i*i+k вот здесь сравниваеться -2<0
mov ax,0
mov ax,2
mul i
mul i
add ax,k
.ELSEIF (i >= 0 && i <= 2) ;3*i*i*i-k
mov ax,0
mov ax,3
mul i
mul i
mul i
sub ax,k
.ENDIF
PrintDec ax
end begin