summaryrefslogtreecommitdiff
path: root/v4.0/src/MAPPER/PUTMSG.ASM
diff options
context:
space:
mode:
Diffstat (limited to 'v4.0/src/MAPPER/PUTMSG.ASM')
-rw-r--r--v4.0/src/MAPPER/PUTMSG.ASM67
1 files changed, 67 insertions, 0 deletions
diff --git a/v4.0/src/MAPPER/PUTMSG.ASM b/v4.0/src/MAPPER/PUTMSG.ASM
new file mode 100644
index 0000000..ef1bef9
--- /dev/null
+++ b/v4.0/src/MAPPER/PUTMSG.ASM
@@ -0,0 +1,67 @@
1page 60,132
2
3title CP/DOS DOSPutMessage mapper
4
5dosxxx segment byte public 'dos'
6 assume cs:dosxxx,ds:nothing,es:nothing,ss:nothing
7;
8; ************************************************************************* *
9; *
10; * MODULE: DosPutMessage
11; *
12; * FILE NAME: dos035.asm
13; *
14; * FUNCTION: diplay message
15; *
16; * CALLING SEQUENCE:
17; *
18; * push handle ; file handle
19; * push messlgth ; message length
20; * push messbuff ; message buffer
21; * call dosputmessage
22; *
23; * RETURN SEQUENCE: AX = return code
24; *
25; *
26; *
27; * MODULES CALLED: INT 21H function 4
28; *
29; *************************************************************************
30
31 public dosputmessage
32 .sall
33 .xlist
34 include macros.inc
35 .list
36
37str struc
38old_bp dw ?
39return dd ?
40MessagePtr dd ? ; message pointer
41MessageLength dw ? ; message length
42Handle dw ? ; file handle
43str ends
44
45dosputmessage proc far
46
47 Enter dosputmessage ; save registers
48
49 mov bx,[bp].Handle ; get handle
50 mov cx,[bp].MessageLength ; get message length
51 lds dx,[bp].MessagePtr ; setup message buffer
52
53 mov ah,40h ; load opcode
54 int 21h ; display message
55 jc ErrorExit ; jump if error
56
57 xor ax,ax ; else set good return code
58
59ErrorExit:
60 Mexit ; pop registers
61 ret size str - 6 ; return
62
63dosputmessage endp
64
65dosxxx ends
66
67 end