汇编语言程序设计求助!

来源:百度知道 编辑:UC知道 时间:2024/09/22 12:37:33
3 在以ARRAY为首地址的数据区中存放10个带符号字数据:
ARRAY DW,1,2,-1,3,4,-2,-3,4,5,-6
编程将ARRAY分成两个数组:正数数组P_ARY和负数数组N_ARY,并分别显示正数项个数和负数项个数。
要求:源程序格式完整。

.model small
.stack
.data
ARRAY DW 1,2,-1,3,4,-2,-3,4,5,-6
P_ARY dw 10 dup(0)
N_ARY dw 10 dup(0)
msg0 db "P_ARY:$"
msg1 db "N_ARY:$"
_enter db 0ah,0dh,24h
.code
.startup

xor dx, dx; DH中放正数个数,DL中放负数个数
mov cx, 10
lea bx, ARRAY
lea si, P_ARY
lea di, N_ARY
@@:mov ax,[bx]
test ax, ax
js NNN
inc dh
mov [si], ax
inc si
inc si
jmp next
NNN:inc dl
mov [di], ax
inc di
inc di
next:
inc bx
inc bx
loop @b

mov bx,dx ;后面这些是输出
add bx,3030h
mov ah,0902h
lea dx, msg0
int 21h
xchg ah, al
mov dl, bh
int 21h
xchg ah, al
lea dx, _enter
int 21h
lea dx, msg1
int 21h
xchg al,ah
mov dl, bl
int 21h

.exit
end

有人回答了,我就不答了。