1 ; ***********************************************************
 2 ; *                                                         *
 3 ; * Copyright, (C) Honeywell Bull Inc., 1987                *
 4 ; *                                                         *
 5 ; * Copyright, (C) Honeywell Information Systems Inc., 1986 *
 6 ; *                                                         *
 7 ; ***********************************************************
 8 
 9 ; HISTORY COMMENTS:
10 ;  1) change(86-04-29,Westcott), approve(87-07-13,MCR7580),
11 ;     audit(87-07-13,Leskiw), install(87-08-07,MR12.1-1072):
12 ;     Created.
13 ;                                                      END HISTORY COMMENTS
14 
15 ;/* : PROCEDURE FUNCTION (smdmstr)
16 ;
17 ;Send a string of characters directly to the communications port.
18 ;*/
19 
20 ;/* : NOTES
21 ;
22 ;Syntax:
23 ;      call smdmstr (buffer, length)
24 ;
25 ;Arguments:
26 ;      char *buffer;   pointer to string
27 ;      int  length;    length of string
28 ;*/
29 
30 include dos.mac                 ;Lattice include file
31 include mowsdefs.mac
32 
33 page
34 ;**************************************************************
35 ;                                       DATA
36 ;**************************************************************
37 dseg
38 
39 ;--------- External Declarations
40 
41 ;--------- Local Memory Declarations
42 
43 endds
44 
45 page
46 ;**************************************************************
47 ;                                       MAIN
48 ;**************************************************************
49 pseg
50 
51 ;-------- External Procedures
52 extrn   send_terminal_data:near
53 
54 ;--------- Public Declarations
55 public  smdmstr
56 
57 smdmstr  proc near
58         pop     ax                     ; bx = return address
59         pop     si                     ; si = address of string
60         pop     cx                     ; cx = length of string
61         push    ax
62 
63 send_loop:
64         push    bp
65         mov     bp,sp
66 
67 ;/* : call send_terminal_data() */
68 
69         call    send_terminal_data
70         mov     sp,bp
71         pop     bp
72         or      ax,ax
73         jnz     send_loop              ; if send buffer full try again
74         ret
75 smdmstr endp
76 
77         endps
78         end
79 ^Z