I am trying to get Mon51 working at address 0x0000 in EPROM. Monitor is built with XDATA(XDATA_AREA(0D000H)), CODE(INITSEG(00000H)), INSTALLCODE(01000H). Interrupt vectors are translated to 0x8000 except the serial interrupt vector used by the monitor.
C:0x0000 020100 LJMP C:0100
C:0x0546 758107 MOV SP(0x81),#0x07 C:0x0549 90D008 MOV DPTR, #0xD008 C:0x054C E4 CLR A C:0x054D 7805 MOV R0,#05 C:0x054F F0 MOVX @DPTR,A C:0x0550 A3 INC DPTR C:0x0551 8DFC DJNZ R0,C:054F C:0x0553 7480 MOV A,#P0(0x80) C:0x0555 F0 MOVX @DPTR,A C:0x0556 A3 INC DPTR C:0x0557 7400 MOV A,#0x00 C:0x0559 F0 MOVX @DPTR,A C:0x055A A3 INC DPTR C:0x055B 7407 MOV A,#0x07 C:0x055D F0 MOVX @DPTR,A
C:0x8000 LJMP STARTUP1(C:9240)
By .MAP file is hope you mean .M51, here is the application code section
* * * * * * * C O D E M E M O R Y * * * * * * * 0000H 8000H *** GAP *** CODE 8000H 0003H ABSOLUTE 8003H 0FFDH *** GAP *** CODE 9000H 00E9H UNIT ?C?LIB_CODE CODE 90E9H 0070H UNIT ?PR?_LCD_DISPLAY?LCDTEST CODE 9159H 003CH UNIT ?PR?HELLOWORLD?LCDTEST CODE 9195H 0036H UNIT ?CO?LCDTEST CODE 91CBH 002BH UNIT ?PR?LCD_INIT?LCDTEST CODE 91F6H 0025H UNIT ?PR?_DELAYMS?LCDTEST CODE 921BH 0025H UNIT ?PR?MAIN?LCDTEST CODE 9240H 000CH UNIT ?C_C51STARTUP
* * * * * * * C O D E M E M O R Y * * * * * * * CODE 0000H 0043H UNIT INITSEG 0043H 00BDH *** GAP *** CODE 0100H 0030H UNIT INSTALLCODE 0130H 00D0H *** GAP *** CODE 0200H 0342H PAGE STOPSEG CODE 0542H 05BBH UNIT CODE_AREA CODE 0AFDH 0548H UNIT GOCODE_AREA