Hello, I am writing code for a PCB with a DS80C390 to assert ~PCE1 via xdata memory accesses so I can read/write to the registers of a UART on a piggy-back board. I have set the Port 4 Control Register to enable ~CE0 and ~CE1 and also set P4.4 to be used as A16. I have also set the Port 5 Control Register to enable ~PCE0 and ~PCE1 (thus ~PCE0 should be asserted for xdata memory accesses in 0h-1FFFFh and ~PCE1 should be asserted for 20000h-3FFFFh.) My problem is, when I have a loop in the middle of my code as such: while(1) { temp = *((unsigned char xdata *)0x02C000); temp = *((unsigned char xdata *)0x02B000); temp = *((unsigned char xdata *)0x02A000); __WATCHDOG_RESET; } When I use a scope to check the signals, the xdata memory accesses are only asserting ~PCE0, instead of ~PCE1. In my "Target Settings", I am currently using the A51 & BL51, "Small" memory model, and the "Code Rom Size" is set to "Compact: 2K functions, 64K program." I have read a few application notes that describe using the LX51 and AX51 instead and the "Code Rom Size" set to Contiguous mode. However, I do not want to change these settings since my code rom size is still only 64K and I am trying to access the XDATA memory space in the extended address range. Do I need to have these Target settings in order to assert ~PCE1 for xdata memory accesses?? Can I simply assert ~PCE1 by accessing xdata memory between 0x20000-0x3FFFF without setting the 22-bit contiguous addressing settings by setting "DS390 = 1" in the Init.A51 file?? I am brand new to programming for 8051 and would really appeciate any help you could provide. Thank you very much in advance..... A. Rawat