Dear Kim,<br>thank you for responding to my question.<br><br>I am using Windows NT 4.0 with Service Pack 6a and I am initially trying to read address 0x400 (COM port location). My console program code is as follows:<br><br><FONT FACE=monospace><br>#pragma hdrstop<br>#include <condefs.h><br>#include <stdio.h><br>#include <dos.h><br><br>//---------------------------------------------------------------------------<br>#pragma argsused<br>int main(int argc, char **argv)<br>{<br> unsigned int *ptraddr; /* Pointer to location of Port Addresses */<br> unsigned int address; /* Address of Port */<br> int a;<br><br> ptraddr=(unsigned int *)0x00000400;<br><br> for (a = 0; a < 4; a++)<br> {<br> address = *ptraddr; <font color=red>//**** error! ****</font><br> if (address == 0)<br> printf("No port found for COM%d \n",a+1);<br> else<br> printf("Address assigned to COM%d is %Xh\n",a+1,address);<br> *ptraddr++;<br> }<br><br>}<br></font><br><br>This code generates an EAccessViolation error message at the line marked <font color=red>**** error! ****</font>. If you could help it would be really appreciated. Once again, in anticpation, thank you.<br><br>