>>how do i tell my compiler to use the 32 bit address as a flat address and not as (base:segment).
You don't
>>have a program in which i would like to hardcode the address greater than 1MB, after enabling A20, and ask the compiler to use all the pointers that i hardcode the address above 1MB to access directly with out considering it as base:offset.
You can't do that directly either. But you are in luck because you can use an EMS driver if you are running true MS-DOS Version 6.X or earlier. Otherwise if you are using Windows XP you might consider using the XP Ramdisk
Another option if you are using Windows 2000 or newer is to upgrade your program to use modern 32-bit compiler then your program will not have the memory restrictions that VC1.52C has. Nice compiler -- I used it for several years. But its an old ancient fossel that doesn't work well on modern computers.