各位兄弟姐妹,帮帮改改程序。
还有,怎么显示数组 s 和p,一定帮帮忙啊!

将一个包含20个数据的数组m分为两组,正数组p 和负数组 s,
并把这两个数组中数据个数显示出来。
dseg segment
     m dw 11,10,2,3,-5,56,10,45,-10,-25,29,13,90,17,18,-78,80,40,50,-20
     s dw 20 dup (0)
     p dw 20 dup (0)
dseg ends
cseg segment
     assume ds:dseg,cs:cseg
start:
     mov ax,dseg
     mov ds,ax
     mov cx,20
     mov si,offset m
     mov di,offset s
     mov bx,offset p
loop1:
     cmp m[si],0
     jl snum  
     mov ax,m[si]
     mov p[bx],ax
     inc bx
     inc bx
     jmp over
snum:
     mov ax,m[si]
     mov s[di],ax
     inc di
     inc di
over:
     inc si
     inc si
    loop loop1

     mov cx,di;以下是想显示正负数个数,这样对不对?
     mov dl,ch
     mov ah,2h
     int 21h

     mov dl,cl
     mov ah,2h
     int 21h

     mov dl,bh
     mov ah,2h
     int 21h

     mov dl,bl
     mov ah,2h
     int 21h

     mov ah,4ch
     int 21h
cseg ends
     end start