data segment
x db -1,-3,-4,2,5,6,1
y db 0,?,?,?
z db 0,?,?,?,?
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
mov cx,7
lea bx,x
m3:mov al,[bx]
cmp al,0
js m1
inc z
jmp m2
m1:inc y
m2:inc bx
loop m3
mov dl,y
add dl,30h
mov ah,2
int 21h
mov dl,z
add dl,30h
mov ah,2
int 21h
mov cx,7
lea bx,x
lea di,y
lea si,z
n3:mov al,[bx]
cmp al,0
js n1
mov [si+1],al
mov dl,[si+1]
inc si
inc z
add dl,30h
mov ah,2
int 21h
jmp n2
n1:mov dl,02dh
mov ah,2
int 21h
mov [di+1],al
mov dl,[di+1]
NEG dl
add dl,30h
mov ah,2
int 21h
inc di
inc y
n2:inc bx
loop n3
mov ah,4ch
int 21h
code ends
end start