.ARRAY单元开始存放200个有符号字节数,统计出其正数、0和负数的个数,并把它们分别存入N1、N2、和N3中。

求解答,谢谢。。。这是程序设计题目
我不知道哪个是正确的。?能说明下吗

汇编语言
DSEG SEGMENT
SAVE DB 3 DUP(?)
NUM DW 100 DUP(?)
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START: MOV AX,DSEG
MOV DS,AX
MOV CX,100
XOR BX,BX
XOR DX,DX
LEA SI,NUM
SUB SI,2
NEXT1: ADD SI,2
CMP [SI],0
JNZ NZ
INC BL ;存放零的个数
JMP OK
NZ: TEST [SI],8000H
JNZ N
INC DH ;存放正数的个数
JMP OK
N: INC DL ;存放负数的个数
OK: LOOP NEXT1
MOV SAVE,DH ;将结果传送到内存保存
MOV SAVE+1,DL
MOV SAVE+2,BL
MOV AH,4CH
INT 21H
CSEG ENDS
END START
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-04
data segment
buff db 1,3,5,6,7,8,9,0,6,5,4,-4,-1,-7,-9,5,-7,-4,-3,2,43,4,3,-3,0,0,0,0,1,3
a1 db ?
a2 db ?
a3 db ?
data ends
code segment
assume ds:data,cs:code
start:
mov ax,data
mov ds,ax
mov si,0
mov cx,30
next:
cmp buff[si],0
ja next1
jz next2
inc a3
jmp tj
next1:
inc a1
jmp tj
next2:
inc a2
tj:
inc si
loop next
mov ax,4c00h
int 21h
code ends
end start
相似回答