回 帖 发 新 帖 刷新版面

主题:求助高手们,是循环程序设计的一道题目

将一个包含有20个数据的数组M分成两个数组:正数组P和负数组N,并分别把这辆个数组中的数据及数据的个数显示出来.
下面是我自己编的,不过还出现错误的,
SSEG SEGMENT STACK
     DW 20 DUP (?)
TOP LABEL WORD
    SSEG ENDS
;
DSEG SEGMENT
;
M_AY DB 1,-2,36,35,0,-65,98,-30,15,65,32,15,16,-45,3,'$'
      
P_AY DB 20 DUP (?)
P_COUNT DW ?
N_AY DB 20 DUP (?)
N_COUNT DW ?
DSEG ENDS
;
CSEG SEGMENT
    ASSUME CS:CSEG,DS:DSEG,SS:SSEG
START PROC FAR
    

      MOV AX,SSEG
      MOV SS,AX
      MOV SP,OFFSET TOP
      MOV AX,DSEG
      MOV DS,AX
      XOR BX,BX
      XOR SI,SI
      XOR DI,DI
NEXT:
MOV AL,M_AY[BX]
     INC BX
     CMP AL,'$'
     JE FINISH
     CMP AL,0
     JGE P_PROCS
     MOV N_AY[DI],AL
     INC DI
     JMP NEXT
P_PROCS:MOV P_AY[SI],AL
        INC SI
        JMP NEXT
FINISH:MOV P_COUNT,SI
       MOV N_COUNT,DI
       ADD SI,30H
       ADD DI,30H
       MOV DX,DI
       MOV AH,2
       INT 21H
       MOV DX,SI
       INT 21H
       MOV DL,N_AY[SI]
       MOV AH,2
       INT 21H
       MOV AX,4C00H
       INT 21H
       MOV DL,N_AY[SI]
       MOV AH,2
       INT 21H
START ENDP
CSEG ENDS
     END START
希望各位高手能帮我的程序改正和补充,或者另编一个新的程序.可以发送到我的邮箱:
jiangjian11101@163.com
     

回复列表 (共1个回复)

沙发

以后再说

我来回复

您尚未登录,请登录后再回复。点此登录或注册