Data1 segment byte 'data'
mas db 1,-2,4,-51,25
assume cs:data1, ds:data1
prog proc far
mov bp,sp
mov cx,[bp+2]
mov bx,[bp+4]
xor al,al
m:
mov al,mas[bx]
cmp al,0
jae u
sal al,1
mov [mas+bx],al
u:
inc bx
loop m
retf
prog endp
n:
mov ax,4c00h
int 21h
data1 ends
end n