home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / BBS_UTIL / BM0406_A.ZIP / BMASM.ZIP / RBBSHS.ASM < prev    next >
Assembly Source File  |  1993-01-31  |  2KB  |  52 lines

  1. PAGE 66,132
  2. TITLE RBBS-PC HearSay Interface Copyright 1989 by Jon J. Martin
  3. ;
  4. ; Changes made by Scott McNay (1:395/11) July 26, 1992, to allow routine to be
  5. ; used with code compiled with BC's /Fs option.  (Most) changes marked with
  6. ; ;BCFS0726.  May have optimized some code also.  This is a plug-in replacement
  7. ; for the original code.
  8.  
  9. ;BCFS0801: Standardized code format.  Made sure that DI, SI, BP, and DS are
  10. ;  saved to meet requirements of BC 7.x.
  11.  
  12. ;-----------------------------------------------------------------------;
  13. ;ROUTINE: RBBSHS        AUTHOR:    Jon J. Martin            ;
  14. ;                    4396 N. Prairie Willow Ct.    ;
  15. ;                    Concord, California 94521    ;
  16. ;                                    ;
  17. ;DATE:  January 27, 1989    VERSION: 1.0                ;
  18. ;                                    ;
  19. ;FUNCTION: This routine supports calls from the IBM (MICROSOFT)        ;
  20. ;       BASIC Version 2.0 or Microsoft Quick BASIC Version 1.0    ;
  21. ;       compilers to the HearSay User Interface.  The call is:    ;
  22. ;                                    ;
  23. ;         CALL RBBSHS (A$)                        ;
  24. ;                                    ;
  25. ;       where A$ is a string data item with the first byte        ;
  26. ;       containing a CHR$(x) value of the legnth of the string    ;
  27. ;       to be spoken.  (DO NOT INCLUDE THE 1 BYTE IN THE ACTUAL    ;
  28. ;       LENGTH)                            ;
  29. ;                                    ;
  30. ;-----------------------------------------------------------------------;
  31.     Extrn  StringAddress:far                          ;BCFS0726
  32.  
  33. RBBSHSAY SEGMENT BYTE PUBLIC 'CODE'
  34.     ASSUME    CS:RBBSHSAY
  35.     PUBLIC    RBBSHS
  36. RBBSHS  PROC    FAR        ;LONG CALL
  37.     PUSH    BP        ;SAVE CALLERS BASE POINTER REGISTER -- BP
  38.     MOV    BP,SP        ;SETUP TO ADDRESS OFF OF BASE POINTER REGISTER
  39.     PUSH    [BP+6]        ;GET A$ STRING DESCRIPTOR ADDRESS          ;BCFS0726
  40.     CALL    StringAddress                              ;BCFS0726
  41.     PUSH    DX        ;DATA SEGMENT ON STACK                  ;BCFS0726
  42.     PUSH    AX        ;STRING POINTER ON STACK
  43.     XOR    AX,AX        ;SET AL TO 0
  44.     INT    55H        ;CALL HearSay USER INTERFACE
  45.     POP    AX        ;REMOVE PARAMETERS FROM STACK
  46.     POP    AX        ;REMOVE PARAMETERS FROM STACK
  47.     POP    BP        ;RESTORE CALLERS BASE POINTER REGISTER-- BP
  48.     RET    2        ;RETURN AND REMOVE THE PARAMETER FROM STACK
  49. RBBSHS  ENDP
  50. RBBSHSAY ENDS
  51.     END
  52.