OSDN Git Service

fmemtest.exe hmmm
[proj16/16.git] / src / fmemtest.c
1 /* Project 16 Source Code~
2  * Copyright (C) 2012-2015 sparky4 & pngwen & andrius4669
3  *
4  * This file is part of Project 16.
5  *
6  * Project 16 is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * Project 16 is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program.  If not, see <http://www.gnu.org/licenses/>, or
18  * write to the Free Software Foundation, Inc., 51 Franklin Street,
19  * Fifth Floor, Boston, MA 02110-1301 USA.
20  *
21  */
22 #include <stdio.h>
23 #include "src/lib/16_head.h"
24 #include "src/lib/16_ca.h"
25 #include "src/lib/16_mm.h"
26 #include "src/lib/types.h"
27
28 void
29 main(int argc, char *argv[])\r
30 {
31         int x=420;
32         int huge *ptr=&x;
33         int *ptr0=&x;
34         void __based(__self) *pee;
35         void __near *npee;
36         memptr bigbuffer;
37         __segment segu;
38         //word csw=0,dsw=0,esw=0,ssw=0,ipw=0;
39
40         //ptr=&x;
41         printf("&main()=%Fp\n", *argv[0]);
42         printf("ptr0=%Fp\n", ptr0);
43         //printf("&ptr0=%Fp\n", &ptr0);
44         printf("*ptr0=%d\n", *ptr0);
45         printf("ptr=%Fp\n", ptr);
46         //printf("&ptr=%Fp\n", &ptr);
47         printf("*ptr=%d\n", *ptr);
48         printf("address of *ptr=%Fp\n", *ptr);
49         printf("&x=%Fp\n", &x);
50         printf("x=%d\n", x);
51         printf("\n");
52         /*__asm
53         {
54                 //lea csw,cs
55                 //lds DS,dsw
56                 //les ES,esw
57 //              mov ss,ssw
58 //              mov ip,ipw
59         }*/
60         //printf("ip=%u\n", ipw);
61         //printf("ss=%u\n", ssw);
62         //printf("cs=%u\n", csw);
63         //printf("ds=%u\n", dsw);
64         //printf("es=%u\n", esw);
65         printf("size of big buffer~=%u\n", _bmsize(segu, bigbuffer));
66         printf("size of pee~=%u\n", _bmsize(segu, pee));
67         printf("pee=%Fp\n", pee);
68         printf("npee=%Fp\n", npee);
69         printf("&main()=%Fp\n", *argv[0]);
70 }