EXTRN SOUNDF:FAR
STACK SEGMENT PAR STACK 'STACK'
      DB  64 DUP('STACK...')
STACK ENDS
DSEG SEGMENT PARA 'DATA'
MUS_FREQ  DW 330,294,262,294,3 DUP(330)
          DW 3 DUP(294),330,392,392
          DW 330,294,262,294,4 DUP(330)
          DW 294,294,330,294,262,-1
MUS_TIME  DW 6 DUP(25),50
          DW 2 DUP(25,25,50)
          DW 12 DUP(25),100
DSEG ENDS
CSEG SEGMENT PARA 'CODE'
     ASSUME CS:CSEG,SS:STACK,DS:DSEG
MUSIC PROC FAR
      MOV AX,DSEG
      MOV DS,AX
      LEA SI,MUS_FREG
      LEA BP,DS:MUS_TIME
FREQ:
      MOV DI,[SI]
      CMP DI,-1
      JE  END_MUS
      MOVE BX,DS:[BP]
      CALL SOUNDF
      ADD SI,2
      ADD BP,2
      JMP FREQ
END_MUS:
      MOV AX,4C00H
      INT 21H
MUSIC ENDP
CSEG ENDS
      END MUSIC
没加注释,哪位大侠能帮我指出程序中的错误了?