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-07-04,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 (pe_antry) 16 ; 17 ;Provides a "far" entry point to be used by MOWSE for calling pe.c when an 18 ;application message is received. The use of this routine allows us to use 19 ;the small memory model for the Lattice compiler. 20 ;*/ 21 22 include dos.mac 23 24 ;-------------- External procedures 25 26 extrn pe:near 27 28 ;-------------- Data segment 29 30 dseg 31 32 pe_str struc 33 old_bp dw ? ; save area for old bp 34 off_r1 dw ? ; return offset from stack call 35 seg_r1 dw ? ; return segment from stack call 36 off_r2 dw ? ; return offset from wsexecap 37 seg_r2 dw ? ; return segment from execap 38 mcb_ptr dw ? ; param for pe (mcb_ptr) 39 min_cap dw ? ; param for pe (minor_capability) 40 bufseg dw ? ; param for pe (buffer segment address) 41 bufoff dw ? ; param for pe (buffer offset address) 42 buflen dw ? ; param for pe (buffer length) 43 pe_str ends 44 endds 45 46 ;************************************************************************* 47 ; MAIN 48 ;************************************************************************* 49 pseg 50 51 public pe_entry 52 53 pe_entry proc far 54 55 push bp ; save BP 56 mov bp,sp ; Get parameter off stack 57 push buflen[bp] ; ... bp -> pe_str.buf_lend (backwords addressing) 58 push bufoff[bp] ; ... and put them onto stack individually 59 push bufseg[bp] 60 push min_cap[bp] 61 push mcb_ptr[bp] 62 call pe ; call pre_entry routine to application 63 mov sp,bp ; put sp back 64 pop bp ; restore original bp 65 ret 66 67 pe_entry endp 68 endps 69 end 70 ^Z