Не мог бы кто из знатоков помочь с настройкой работы с внешней памятью у мк SiLabs C8051F064?

Есть такая программка:
Код
$include (c8051f060.inc) ; Include register definition file.
;-----------------------------------------------------------------------------
; RESET and INTERRUPT VECTORS
;-----------------------------------------------------------------------------
; Reset Vector
cseg AT 0
ljmp Main ; Locate a jump to the start of code
at
; the reset vector.
;-----------------------------------------------------------------------------
; CODE SEGMENT
;-----------------------------------------------------------------------------
Compare segment CODE
rseg Compare ; Switch to this code segment.
using 0 ; Specify register bank for the
following
; program code.
Main: ; Disable the WDT. (IRQs not enabled at this point.)
; If interrupts were enabled, we would need to explicitly
disable
; them so that the 2nd move to WDTCN occurs no more than
four clock
; cycles after the first move to WDTCN.
mov WDTCN, #0DEh
mov WDTCN, #0ADh
;begin of RAM-setup -----------------------------------------------------
mov SFRPAGE, #EMI0_PAGE
mov EMI0CF,#0x38
mov SFRPAGE, #0x0F
mov P4MDOUT, #0xFF
mov P5MDOUT, #0xFF
mov P6MDOUT, #0xFF
mov P7MDOUT, #0xFF
mov P4,#0xDF
mov P5,#0ffh
mov P6,#0ffh
mov P7,#0ffh
;end of RAM-setup -----------------------------------------------------
; read/write to on-chip RAM
mov A,#0007h
mov DPTR,#0x0bb8
movx @DPTR, A
movx A, @DPTR ; ACC = 0007h, верно
; read/write off-chip RAM
mov A,#0006h
mov DPTR,#0x1F40
movx @DPTR, A
movx A, @DPTR ; ACC = 0xFF, НЕВЕРНО <------------------------------------------
END
;-----------------------------------------------------------------------------
; RESET and INTERRUPT VECTORS
;-----------------------------------------------------------------------------
; Reset Vector
cseg AT 0
ljmp Main ; Locate a jump to the start of code
at
; the reset vector.
;-----------------------------------------------------------------------------
; CODE SEGMENT
;-----------------------------------------------------------------------------
Compare segment CODE
rseg Compare ; Switch to this code segment.
using 0 ; Specify register bank for the
following
; program code.
Main: ; Disable the WDT. (IRQs not enabled at this point.)
; If interrupts were enabled, we would need to explicitly
disable
; them so that the 2nd move to WDTCN occurs no more than
four clock
; cycles after the first move to WDTCN.
mov WDTCN, #0DEh
mov WDTCN, #0ADh
;begin of RAM-setup -----------------------------------------------------
mov SFRPAGE, #EMI0_PAGE
mov EMI0CF,#0x38
mov SFRPAGE, #0x0F
mov P4MDOUT, #0xFF
mov P5MDOUT, #0xFF
mov P6MDOUT, #0xFF
mov P7MDOUT, #0xFF
mov P4,#0xDF
mov P5,#0ffh
mov P6,#0ffh
mov P7,#0ffh
;end of RAM-setup -----------------------------------------------------
; read/write to on-chip RAM
mov A,#0007h
mov DPTR,#0x0bb8
movx @DPTR, A
movx A, @DPTR ; ACC = 0007h, верно
; read/write off-chip RAM
mov A,#0006h
mov DPTR,#0x1F40
movx @DPTR, A
movx A, @DPTR ; ACC = 0xFF, НЕВЕРНО <------------------------------------------
END
Проблемма в том, что неправильно происходит работа с внешней памятью. Пытаюсь записать число 0006h. То, что выдаёт команда чтения по этому же адресу во внешней памяти - 0xFF.
J11 установлен. J14 установлен между контактами 1 и 2.
Подскажите в чём ошибка с настройкой работы с внешней памятью, или настройка не завершена?
С уважением.