From: kriiid AT my-deja DOT com Newsgroups: comp.os.msdos.djgpp Subject: allocating memory using DPMI Date: Sun, 17 Oct 1999 10:14:24 GMT Organization: Deja.com - Before you buy. Lines: 33 Message-ID: <7uc7hu$m6f$1@nnrp1.deja.com> NNTP-Posting-Host: 212.160.57.52 X-Article-Creation-Date: Sun Oct 17 10:14:24 1999 GMT X-Http-User-Agent: Mozilla/4.0 (compatible; MSIE 4.0; Windows 95) X-Http-Proxy: 1.1 x24.deja.com:80 (Squid/1.1.22) for client 212.160.57.52 X-MyDeja-Info: XMYDJUIDkriiid To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com     Hello, Well, the first question is: when I get SIGSEGV there is written information about segments. What does limit section mean? I thought this is size of segment. But now I don't think so, cause values like 0x8ffff are not really possible (if it is size in bytes, maybe it is in pages...). I've tried some prettey low-level programming using NASM & DJGPP. For start - the most essential function - allocating memory (501h). So I made program which just allocates some memory. I run it under windows. So, linear address is 05DAC000h. And now the funny part. Base address of DS/CS is 83046000h ;-). So now I've got a problem. But I thought it's beacause windows is DPMI host (is it true?) and it doesn't now that djgpp is using such a high segments. So I run it under DOS. Allocated addres is 200B0000h, while base addres is 10000000h. It looks OK, but when I try to write there I get a beautiful SIGSEGV. Of course (?) I substract base address from allocated address when I write there... Do you have any idea what is the problem? Maybe I should put some code?      May the Force be with ya,      Michal 'CreeD' Szostakiewicz buttman AT boss DOT staszic DOT waw DOT pl ew. gerwek AT polbox DOT com ICQ - 2482112 "Only in America we stamp our God <>" Sent via Deja.com http://www.deja.com/ Before you buy.