Diff markup
001 001
002 002
003 003
004 004
005 005
006 006
007 007
008 008
009 009
010 010
011 011
012 012
013 013
014 014
015 015
016 016
017 017
018 018
019 #include <crt.h> 019 #include <crt.h>
020 #include <libc.h> 020 #include <libc.h>
021 #include <stdarg.h> 021 #include <stdarg.h>
022 #include <debug.h> 022 #include <debug.h>
023 023
024 024
025 025
026 026
027 027
028 028
029 029
030 int main() 030 int main()
031 { 031 {
032 char * zoup; 032 char * zoup;
033 033
034 bochs_printf("myprog13: Hello world !\n"); 034 bochs_printf("myprog13: Hello world !\n");
035 035
036 036
037 fork(); 037 fork();
038 fork(); 038 fork();
039 039
040 zoup = _sos_brk(0); 040 zoup = _sos_brk(0);
041 bochs_printf("_sos_brk(0)=%x\n", (unsigned)_ 041 bochs_printf("_sos_brk(0)=%x\n", (unsigned)_sos_brk(0));
042 bochs_printf("_sos_brk(+0)=%x\n", (unsigned) 042 bochs_printf("_sos_brk(+0)=%x\n", (unsigned)_sos_brk(zoup));
043 bochs_printf("_sos_brk(+1)=%x\n", (unsigned) 043 bochs_printf("_sos_brk(+1)=%x\n", (unsigned)_sos_brk(zoup + 1));
044 zoup[3] = 42; 044 zoup[3] = 42;
045 bochs_printf("z[] = %d\n", zoup[3]); 045 bochs_printf("z[] = %d\n", zoup[3]);
046 bochs_printf("_sos_brk(0)=%x\n", (unsigned)_ 046 bochs_printf("_sos_brk(0)=%x\n", (unsigned)_sos_brk(0));
047 bochs_printf("_sos_brk(orig)=%x\n", (unsigne 047 bochs_printf("_sos_brk(orig)=%x\n", (unsigned)_sos_brk(zoup));
048 bochs_printf("_sos_brk(0)=%x\n", (unsigned)_ 048 bochs_printf("_sos_brk(0)=%x\n", (unsigned)_sos_brk(0));
049 049
050 050
051 bochs_printf("brk(0)=%x\n", (unsigned)brk(0) 051 bochs_printf("brk(0)=%x\n", (unsigned)brk(0));
052 bochs_printf("sbrk(0)=%x\n", (unsigned)sbrk( 052 bochs_printf("sbrk(0)=%x\n", (unsigned)sbrk(0));
053 bochs_printf("brk(0)=%x\n", (unsigned)brk(0) 053 bochs_printf("brk(0)=%x\n", (unsigned)brk(0));
054 bochs_printf("sbrk(0)=%x\n", (unsigned)sbrk( 054 bochs_printf("sbrk(0)=%x\n", (unsigned)sbrk(0));
055 bochs_printf("sbrk(1)=%x\n", (unsigned)sbrk( 055 bochs_printf("sbrk(1)=%x\n", (unsigned)sbrk(1));
056 bochs_printf("brk(0)=%x\n", (unsigned)brk(0) 056 bochs_printf("brk(0)=%x\n", (unsigned)brk(0));
057 bochs_printf("sbrk(0)=%x\n", (unsigned)sbrk( 057 bochs_printf("sbrk(0)=%x\n", (unsigned)sbrk(0));
058 zoup = sbrk(0); 058 zoup = sbrk(0);
059 bochs_printf("brk(+1)=%x\n", (unsigned)brk(z 059 bochs_printf("brk(+1)=%x\n", (unsigned)brk(zoup + 1));
060 bochs_printf("sbrk(0)=%x\n", (unsigned)sbrk( 060 bochs_printf("sbrk(0)=%x\n", (unsigned)sbrk(0));
061 bochs_printf("brk(0)=%x\n", (unsigned)brk(0) 061 bochs_printf("brk(0)=%x\n", (unsigned)brk(0));
062 bochs_printf("sbrk(0)=%x\n", (unsigned)sbrk( 062 bochs_printf("sbrk(0)=%x\n", (unsigned)sbrk(0));
063 063
064 bochs_printf("sbrk(-4k)=%x\n", (unsigned)sbr 064 bochs_printf("sbrk(-4k)=%x\n", (unsigned)sbrk(-4096));
065 bochs_printf("brk(0)=%x\n", (unsigned)brk(0) 065 bochs_printf("brk(0)=%x\n", (unsigned)brk(0));
066 bochs_printf("sbrk(0)=%x\n", (unsigned)sbrk( 066 bochs_printf("sbrk(0)=%x\n", (unsigned)sbrk(0));
067 zoup = sbrk(0); 067 zoup = sbrk(0);
068 bochs_printf("brk(-4k)=%x\n", (unsigned)brk( 068 bochs_printf("brk(-4k)=%x\n", (unsigned)brk(zoup - 4096));
069 bochs_printf("brk(0)=%x\n", (unsigned)brk(0) 069 bochs_printf("brk(0)=%x\n", (unsigned)brk(0));
070 bochs_printf("sbrk(0)=%x\n", (unsigned)sbrk( 070 bochs_printf("sbrk(0)=%x\n", (unsigned)sbrk(0));
071 071
072 bochs_printf("malloc(0)=%x\n", (unsigned)mal 072 bochs_printf("malloc(0)=%x\n", (unsigned)malloc(0));
073 bochs_printf("malloc(1)=%x\n", (unsigned)mal 073 bochs_printf("malloc(1)=%x\n", (unsigned)malloc(1));
074 bochs_printf("malloc(2)=%x\n", (unsigned)mal 074 bochs_printf("malloc(2)=%x\n", (unsigned)malloc(2));
075 bochs_printf("malloc(3)=%x\n", (unsigned)mal 075 bochs_printf("malloc(3)=%x\n", (unsigned)malloc(3));
076 bochs_printf("malloc(4)=%x\n", (unsigned)mal 076 bochs_printf("malloc(4)=%x\n", (unsigned)malloc(4));
077 bochs_printf("malloc(5)=%x\n", (unsigned)mal 077 bochs_printf("malloc(5)=%x\n", (unsigned)malloc(5));
078 bochs_printf("malloc(6)=%x\n", (unsigned)mal 078 bochs_printf("malloc(6)=%x\n", (unsigned)malloc(6));
079 bochs_printf("malloc(7)=%x\n", (unsigned)mal 079 bochs_printf("malloc(7)=%x\n", (unsigned)malloc(7));
080 bochs_printf("malloc(8)=%x\n", (unsigned)mal 080 bochs_printf("malloc(8)=%x\n", (unsigned)malloc(8));
081 bochs_printf("malloc(9)=%x\n", (unsigned)mal 081 bochs_printf("malloc(9)=%x\n", (unsigned)malloc(9));
082 bochs_printf("malloc(0x30000)=%x\n", (unsign 082 bochs_printf("malloc(0x30000)=%x\n", (unsigned)malloc(0x30000));
083 bochs_printf("malloc(1)=%x\n", (unsigned)mal 083 bochs_printf("malloc(1)=%x\n", (unsigned)malloc(1));
084 084
085 bochs_printf("myprog13: The end\n"); 085 bochs_printf("myprog13: The end\n");
086 return 0; 086 return 0;
087 } 087 }