数据段NUM中有一字节型数组,分别对NUM中数据统计出有多少个20、多少个5、多少个2、有多少个1?统计的各数分别存放在NUM20,NUM5,NUM2,NUM1的对应位置中,程序要求用主程序子程序形式编制。程序如下:STACK SEGMENT STACK DB 100 DUP (?)STACK ENDSDATA SEGMENT NUM DB 01H,02H,05H,14H,33H,0DH,5FH,14H,05H,20H,14H,02H,34H,14H,05H,65H COUNT EQU $-NUM NUM20 DB COUNT DUP(0) NUM5 DB COUNT DUP(0) NUM2 DB COUNT DUP(0) NUM1 DB COUNT DUP(0) CMPNUM DB 20,5,2,1DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACKSTART: PUSH DS MOV AX, DATA MOV DS, AXMOV DI ,OFFSET NUM20 MOV BX ,OFFSET CMPNUM MOV SI,OFFSET NUM MOV CX,4ZX1: ( ① ) LOOP ZX1 POP DS HLTCMPDATA PROC NEAR PUSH CX PUSH SI MOV CX ,COUNT MOV AH , 0 ZX2: MOV AL ,[SI] CMP AL ,[BX] JZ NEXT INC SI LOOP ZX2 JMP NEXT1NEXT: ADD AH,1 INC SI LOOP ZX2NEXT1: INC BX MOV [DI],AH ( ② ) POP SI POP CX RETCMPDATA ENDP CODE ENDS END START填空,完成完整程序。