可以对要说明的地方请解释一下.谢谢!!!!!!!!
參考答案:我来回答
stack segment
dw 32 dup(?)
stack ends
data segment
ARY dw 5,-3,7,-2,8
CT dw ($-ARY)/2 ;元素个数
A dw 2 dup(?) ;为负数存放预留空间
B dw 3 dup(?) ;为正数存放预留空间
data ends
code segment
assume cs:code,ds:data,ss:stack
main proc far
mov ax,data
mov ds,ax
mov bx,0 ;初始化bx
mov cx,CT ;个数
c20: lea si,ARY ;取数组地址
cmp [si],bx ;和0比较
jl c10 ;若小于转
mov B,[si] ;大于则存
jmp c30
c10: mov A,[si]
c30: add si,2 ;修改地址指针
loop c20 ;循环
mov ah,4ch
int 21h
main endp
code ends
end main