]> pd.if.org Git - mmurtl/blob - msamples/service/testsvc.asm
autocommit for files dated 1995-02-09 16:03:44
[mmurtl] / msamples / service / testsvc.asm
1 \r
2 .DATA\r
3 EXTRN _AllocExch FWORD\r
4 EXTRN _DeAllocExch FWORD\r
5 EXTRN _GetTSSExch FWORD\r
6 EXTRN _SetPriority FWORD\r
7 EXTRN _NewTask FWORD\r
8 EXTRN _SpawnTask FWORD\r
9 EXTRN _SendMsg FWORD\r
10 EXTRN _ISendMsg FWORD\r
11 EXTRN _WaitMsg FWORD\r
12 EXTRN _CheckMsg FWORD\r
13 EXTRN _Request FWORD\r
14 EXTRN _MoveRequest FWORD\r
15 EXTRN _Respond FWORD\r
16 L_lit DB 69,114,114,111,114,32,37,100,32,97,108,108,111,99,97,116\r
17  DB 105,110,103,32,69,120,99,104,97,110,103,101,46,13,10,0\r
18  DB 78,85,77,66,69,82,83,32,0,69,114,114,111,114,32,37\r
19  DB 100,32,102,114,111,109,32,82,101,113,117,101,115,116,46,13\r
20  DB 10,0,69,114,114,111,114,32,37,100,32,102,114,111,109,32\r
21  DB 87,97,105,116,77,115,103,46,13,10,0,69,114,114,111,114\r
22  DB 32,37,100,32,102,114,111,109,32,78,85,77,66,69,82,83\r
23  DB 32,83,101,114,118,105,99,101,46,13,10,0,78,85,77,66\r
24  DB 69,82,83,32,83,101,114,118,105,99,101,32,103,97,118,101\r
25  DB 32,111,117,116,32,110,117,109,98,101,114,58,32,37,100,46\r
26  DB 13,10,0\r
27 PUBLIC _Number DD 0h\r
28 PUBLIC _Exch DD 0h\r
29 PUBLIC _Message DD 2 DUP(0)\r
30 \r
31 \r
32 .CODE\r
33 EXTRN _fopen: NEAR\r
34 EXTRN _fclose: NEAR\r
35 EXTRN _remove: NEAR\r
36 EXTRN _rename: NEAR\r
37 EXTRN _fgetc: NEAR\r
38 EXTRN _fgets: NEAR\r
39 EXTRN _fputs: NEAR\r
40 EXTRN _fputc: NEAR\r
41 EXTRN _printf: NEAR\r
42 EXTRN _sprintf: NEAR\r
43 EXTRN _fprintf: NEAR\r
44 EXTRN _ftell: NEAR\r
45 EXTRN _rewind: NEAR\r
46 EXTRN _fseek: NEAR\r
47 EXTRN _fread: NEAR\r
48 EXTRN _fwrite: NEAR\r
49 PUBLIC _main:\r
50         PUSH EBP\r
51         MOV EBP,ESP\r
52         SUB ESP,8\r
53         PUSH OFFSET _Exch\r
54         CALL FWORD PTR _AllocExch\r
55         MOV DWORD PTR [EBP-4], EAX\r
56         MOV EAX,DWORD PTR [EBP-4]\r
57         AND EAX,EAX\r
58         JZ L_1\r
59         PUSH OFFSET L_lit+0\r
60         PUSH DWORD PTR [EBP-4]\r
61         MOV EDI, 4\r
62         CALL _printf\r
63         ADD ESP,8\r
64 L_1:\r
65         PUSH OFFSET L_lit+32\r
66         PUSH 1\r
67         PUSH _Exch\r
68         LEA EAX,DWORD PTR [EBP-8]\r
69         PUSH EAX\r
70         XOR EAX,EAX\r
71         PUSH EAX\r
72         PUSH OFFSET _Number\r
73         PUSH 4\r
74         XOR EAX,EAX\r
75         PUSH EAX\r
76         XOR EAX,EAX\r
77         PUSH EAX\r
78         XOR EAX,EAX\r
79         PUSH EAX\r
80         XOR EAX,EAX\r
81         PUSH EAX\r
82         XOR EAX,EAX\r
83         PUSH EAX\r
84         CALL FWORD PTR _Request\r
85         MOV DWORD PTR [EBP-4], EAX\r
86         MOV EAX,DWORD PTR [EBP-4]\r
87         AND EAX,EAX\r
88         JZ L_2\r
89         PUSH OFFSET L_lit+41\r
90         PUSH DWORD PTR [EBP-4]\r
91         MOV EDI, 4\r
92         CALL _printf\r
93         ADD ESP,8\r
94 L_2:\r
95         MOV EAX,DWORD PTR [EBP-4]\r
96         AND EAX,EAX\r
97         JNZ L_3\r
98         PUSH _Exch\r
99         PUSH OFFSET _Message\r
100         CALL FWORD PTR _WaitMsg\r
101         MOV DWORD PTR [EBP-4], EAX\r
102         MOV EAX,DWORD PTR [EBP-4]\r
103         AND EAX,EAX\r
104         JZ L_4\r
105         PUSH OFFSET L_lit+66\r
106         PUSH DWORD PTR [EBP-4]\r
107         MOV EDI, 4\r
108         CALL _printf\r
109         ADD ESP,8\r
110         JMP L_5\r
111 L_4:\r
112         MOV EAX,4\r
113         MOV ESI,OFFSET _Message\r
114         ADD ESI,EAX\r
115         MOV EAX,DWORD PTR [ESI]\r
116         AND EAX,EAX\r
117         JZ L_6\r
118         PUSH OFFSET L_lit+91\r
119         MOV EAX,4\r
120         MOV ESI,OFFSET _Message\r
121         ADD ESI,EAX\r
122         PUSH DWORD PTR [ESI]\r
123         MOV EDI, 4\r
124         CALL _printf\r
125         ADD ESP,8\r
126         JMP L_7\r
127 L_6:\r
128         PUSH OFFSET L_lit+124\r
129         PUSH _Number\r
130         MOV EDI, 4\r
131         CALL _printf\r
132         ADD ESP,8\r
133 L_7:\r
134 L_5:\r
135 L_3:\r
136         PUSH _Exch\r
137         CALL FWORD PTR _DeAllocExch\r
138         MOV ESP,EBP\r
139         POP EBP\r
140         RETN\r