]> pd.if.org Git - mmurtl/blob - msamples/othersrc/memtest.asm
autocommit for file dated 1995-02-09 16:01:34
[mmurtl] / msamples / othersrc / memtest.asm
1 \r
2 .DATA\r
3 EXTRN _AllocPage FWORD\r
4 EXTRN _AllocOSPage FWORD\r
5 EXTRN _AllocDMAPage FWORD\r
6 EXTRN _DeAllocPage FWORD\r
7 EXTRN _QueryPages FWORD\r
8 EXTRN _GetPhyAdd FWORD\r
9 EXTRN _AliasMem FWORD\r
10 EXTRN _DeAliasMem FWORD\r
11 EXTRN _ReadKbd FWORD\r
12 L_lit DB 69,82,82,79,82,32,37,100,32,111,110,32,71,101,116,80\r
13  DB 104,121,65,100,100,46,13,10,0,65,108,105,97,115,105,110\r
14  DB 103,32,74,111,98,32,49,32,76,105,110,101,97,114,32,65\r
15  DB 100,100,114,101,115,115,32,37,48,56,120,13,10,0,80,104\r
16  DB 121,115,105,99,97,108,32,65,100,100,114,101,115,115,32,105\r
17  DB 115,32,32,32,32,32,32,32,32,32,32,32,37,48,56,120\r
18  DB 13,10,0,69,82,82,79,82,32,37,100,32,111,110,32,65\r
19  DB 108,105,97,115,77,101,109,46,13,10,0,69,82,82,79,82\r
20  DB 32,37,100,32,111,110,32,71,101,116,80,104,121,65,100,100\r
21  DB 46,13,10,0,65,108,105,97,115,32,76,105,110,101,97,114\r
22  DB 32,97,100,100,114,101,115,115,32,105,115,32,32,32,37,48\r
23  DB 56,120,13,10,0,80,104,121,115,105,99,97,108,32,65,100\r
24  DB 100,114,101,115,115,32,105,115,32,32,32,32,32,32,32,37\r
25  DB 48,56,120,13,10,0,80,114,101,115,115,32,97,32,107,101\r
26  DB 121,32,116,111,32,99,111,110,116,105,110,117,101,46,46,46\r
27  DB 13,10,0,69,82,82,79,82,32,37,100,32,111,110,32,68\r
28  DB 101,65,108,105,97,115,77,101,109,46,13,10,0\r
29 PUBLIC _Alias DD 0h\r
30 PUBLIC _AliasPhy DD 0h\r
31 PUBLIC _OSPhy DD 0h\r
32 \r
33 \r
34 .CODE\r
35 EXTRN _fopen: NEAR\r
36 EXTRN _fclose: NEAR\r
37 EXTRN _remove: NEAR\r
38 EXTRN _rename: NEAR\r
39 EXTRN _fgetc: NEAR\r
40 EXTRN _fgets: NEAR\r
41 EXTRN _fputs: NEAR\r
42 EXTRN _fputc: NEAR\r
43 EXTRN _printf: NEAR\r
44 EXTRN _sprintf: NEAR\r
45 EXTRN _fprintf: NEAR\r
46 EXTRN _ftell: NEAR\r
47 EXTRN _rewind: NEAR\r
48 EXTRN _fseek: NEAR\r
49 EXTRN _fread: NEAR\r
50 EXTRN _fwrite: NEAR\r
51 EXTRN _strcpy: NEAR\r
52 EXTRN _strncpy: NEAR\r
53 EXTRN _strcat: NEAR\r
54 EXTRN _strncat: NEAR\r
55 EXTRN _strcmp: NEAR\r
56 EXTRN _strncmp: NEAR\r
57 EXTRN _strlen: NEAR\r
58 EXTRN _strchr: NEAR\r
59 EXTRN _iscntrl: NEAR\r
60 EXTRN _isspace: NEAR\r
61 EXTRN _isdigit: NEAR\r
62 EXTRN _isupper: NEAR\r
63 EXTRN _islower: NEAR\r
64 EXTRN _ispunct: NEAR\r
65 EXTRN _isalpha: NEAR\r
66 EXTRN _isxdigit: NEAR\r
67 EXTRN _isalnum: NEAR\r
68 EXTRN _isgraph: NEAR\r
69 EXTRN _toupper: NEAR\r
70 EXTRN _tolower: NEAR\r
71 EXTRN _exit: NEAR\r
72 PUBLIC _main:\r
73         PUSH EBP\r
74         MOV EBP,ESP\r
75         SUB ESP,8\r
76         PUSH 1\r
77         PUSH 3072\r
78         PUSH OFFSET _OSPhy\r
79         CALL FWORD PTR _GetPhyAdd\r
80         MOV DWORD PTR [EBP-4], EAX\r
81         MOV EAX,DWORD PTR [EBP-4]\r
82         AND EAX,EAX\r
83         JZ L_1\r
84         PUSH OFFSET L_lit+0\r
85         PUSH DWORD PTR [EBP-4]\r
86         MOV EDI, 4\r
87         CALL _printf\r
88         ADD ESP,8\r
89 L_1:\r
90         PUSH OFFSET L_lit+25\r
91         PUSH 3072\r
92         MOV EDI, 4\r
93         CALL _printf\r
94         ADD ESP,8\r
95         PUSH OFFSET L_lit+62\r
96         PUSH _OSPhy\r
97         MOV EDI, 4\r
98         CALL _printf\r
99         ADD ESP,8\r
100         PUSH 3072\r
101         PUSH 8000\r
102         PUSH 1\r
103         PUSH OFFSET _Alias\r
104         CALL FWORD PTR _AliasMem\r
105         MOV DWORD PTR [EBP-4], EAX\r
106         MOV EAX,DWORD PTR [EBP-4]\r
107         AND EAX,EAX\r
108         JZ L_2\r
109         PUSH OFFSET L_lit+99\r
110         PUSH DWORD PTR [EBP-4]\r
111         MOV EDI, 4\r
112         CALL _printf\r
113         ADD ESP,8\r
114 L_2:\r
115         PUSH 3\r
116         PUSH _Alias\r
117         PUSH OFFSET _AliasPhy\r
118         CALL FWORD PTR _GetPhyAdd\r
119         MOV DWORD PTR [EBP-4], EAX\r
120         MOV EAX,DWORD PTR [EBP-4]\r
121         AND EAX,EAX\r
122         JZ L_3\r
123         PUSH OFFSET L_lit+123\r
124         PUSH DWORD PTR [EBP-4]\r
125         MOV EDI, 4\r
126         CALL _printf\r
127         ADD ESP,8\r
128 L_3:\r
129         PUSH OFFSET L_lit+148\r
130         PUSH _Alias\r
131         MOV EDI, 4\r
132         CALL _printf\r
133         ADD ESP,8\r
134         PUSH OFFSET L_lit+181\r
135         PUSH _AliasPhy\r
136         MOV EDI, 4\r
137         CALL _printf\r
138         ADD ESP,8\r
139         PUSH OFFSET L_lit+214\r
140         MOV EDI, 0\r
141         CALL _printf\r
142         ADD ESP,4\r
143         LEA EAX,DWORD PTR [EBP-8]\r
144         PUSH EAX\r
145         PUSH 1\r
146         CALL FWORD PTR _ReadKbd\r
147         PUSH _Alias\r
148         PUSH 8000\r
149         PUSH 3\r
150         CALL FWORD PTR _DeAliasMem\r
151         MOV DWORD PTR [EBP-4], EAX\r
152         MOV EAX,DWORD PTR [EBP-4]\r
153         AND EAX,EAX\r
154         JZ L_4\r
155         PUSH OFFSET L_lit+243\r
156         PUSH DWORD PTR [EBP-4]\r
157         MOV EDI, 4\r
158         CALL _printf\r
159         ADD ESP,8\r
160 L_4:\r
161         XOR EAX,EAX\r
162         PUSH EAX\r
163         CALL _exit\r
164         MOV ESP,EBP\r
165         POP EBP\r
166         RETN 8\r