home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / USCX / ASMUT-03.ZIP / BEEP.ASM < prev    next >
Assembly Source File  |  1985-05-11  |  817b  |  49 lines

  1. ;SOUND EFFECT GENERATOR
  2. ;SQUARE WAVE STYLE
  3. ;
  4. STACK      SEGMENT PARA STACK 'SATCK'
  5.       DB 256 DUP (0)
  6. STACK      ENDS
  7. ;
  8. ;
  9. DATA      SEGMENT PARA PUBLIC 'DATA'
  10. FREQ      DW 300    ; LOWER VALUE TO RAISE FREQ
  11. DURA      DW 160    ;INCREASE VALUE INCREASE DURATION
  12. DATA      ENDS
  13. ;
  14. ;
  15. CODE      SEGMENT PARA PUBLIC 'CODE'
  16. MK_TONE   PROC FAR
  17.       ASSUME CS:CODE,SS:STACK
  18.       PUSH DS
  19.       SUB AX,AX
  20.       PUSH AX
  21.       ASSUME DS:DATA
  22.       MOV AX,DATA
  23.       MOV DS,AX
  24.       CLI
  25.       MOV DX,DURA
  26.       IN AL,61H
  27.       AND AL,0FEH
  28. AGAIN:      OR AL,2
  29.       OUT 61H,AL
  30.       MOV CX,FREQ
  31. WAIT1:      LOOP WAIT1
  32.       AND AL,0FDH
  33.       OUT 61H,AL
  34.       MOV CX,FREQ
  35. WAIT2:      LOOP WAIT2
  36. ;
  37. ;ONE SQUARE WAVE CYCLE NOW COMPLETE
  38. ;
  39.       DEC DX
  40.       JNZ AGAIN
  41. ;
  42. ;TONE HAS NOW BEEN PRODUCED FOR DESIRED DURATION
  43. ;
  44.       STI
  45.       RET
  46. MK_TONE   ENDP
  47. CODE      ENDS
  48.       END MK_TONE
  49.