masm
model small
.data
a DW -3
b DW 1
i DW 1
k DW 5
.stack 256
.code
;main proc
;main:
start:
mov ax,@data
mov ds,ax
xor ax,ax
.386
;i1 ==============================================
mov ax,a
mov bx,b
cmp ax,bx
jle f1_2
mov ax,i
sal ax,2
sub ax,7
jmp f1_exit
f1_2:
mov ax,i
sal ax,1
add ax,6
neg ax
f1_exit:
push ax
xor ax,ax
;i2 ==============================================
mov ax,a
cmp ax,bx
jle f2_2
mov ax,i
sal ax,2
add ax,3
jmp f2_exit
f2_2:
mov ax,i
sub ax,3
sal ax,1 
f2_exit:
push ax
xor ax,ax
;res ============================================= 
mov ax,k
cmp ax,0
jne f3_2
pop bx
pop ax
add ax,bx
neg ax
jl $-2
jmp f3_exit
f3_2: 
pop bx
pop ax
cmp ax,bx
jle f3_exit
mov ax,bx
f3_exit:
; exit:
mov ah,4ch
int 21h
;endp main
;end main
end start
