编写一个子程序统计数据段中字符串中字母‘b’的个数,并编写主程序用近调用的方法调用子程序.子程序的参数是字符串的首地址TABLE,字符串长度N及字符”b”.子程序返回字符"b”的个数.参数传送采用堆栈实现.主程序在子程序返回后,显示字符”b”及其个数(设为一位十六进制数).
程序如下  但不能正确输出结果,请各位大侠帮帮忙
DATA SEGMENT
     TABLE DB 'BDADKFBALSB'
     N EQU $-TABLE
DATA ENDS
CODE SEGMENT
     ASSUME CS:CODE,DS:DATA
     START:
           MOV AX,DATA
           MOV DS,AX
           
           LEA SI,TABLE
           PUSH SI
           MOV CX,N
           PUSH CX
           MOV AX,'B'
           PUSH AX
           CALL COUNT
           POP DX
           ADD DL,30H
           MOV AH,02H 
           INT 21H
           MOV AH,4CH
           INT 21H
COUNT PROC NEAR
      MOV BP,SP
      MOV BL,0
      MOV AX,[BP+2]
      MOV CX,[BP+4]
      MOV SI,[BP+6]
      MOV DL,[SI]
LOP:  CMP AL,DL
      JZ COUNT1
      JMP NEXT
COUNT1:INC BL
 NEXT: INC SI
       LOOP LOP
       MOV [BP+2],BL
       RET
COUNT ENDP
      
CODE ENDS
     END START

 
											





 
	     
											
