I've tried to process the data obtained from the host(PC) (which is obtained using C code)using certain assembler functions to speed up the data transfer.I'm using CY68013A-FX2LP controller. I did the following : In C code(globally)
unsigned char d_low; extern void write(void)
extrn DATA(d_low) public write cseg at 2000h write: mov dptr,#4000h mov a,d_low movx @dptr,a ret END
Your code looks OK to me. Remains the question: is there memory available at CODE 0x2000 / XDATA 0x4000. Maybe this helps a bit: http://www.keil.com/support/docs/1671.htm