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