I want to locate MON51 on address 8000H,is that possible? if it's possibe,how can I start it from 8000H on RESET?
Yes, 1. Build the monitor as though it starts at 8000h. 2. Program the monitor into an EPROM. 3. On reset, thie EPROM MUST start at 0000h in the address space. 4. The first instruction in the EPROM will be an LJMP to somewhere in the 8xxxh range. The important thing is that A15 will be set for the instruction fetch. 5. You'll have to modify your hardware to add a flip-flop that gets set the first time A15 goes high. 6. You'll have to XOR A15 and the flip-flop output to generate the /OE for the ROM. 7. After reset, the flip-flop output is 0 and A15 is 0 (this will enable the ROM). 8. After the program access an address above 7FFFh, the flip-flop will get set. If A15 is set and the flip-flop is set, enable the ROM. 9. All other cases will NOT enable the ROM output. Hopefully this makes sense. Keil Support
I want to use address 0-7FFFH as user program, 8000H- as MON51, Since the 1st user program instruction can not always be a LJMP 8000H,how can I start MON51 from address 8000H and user program from address 0000h?
I want to use address 0-7FFFH as user program, 8000H- as MON51, Since the 1st user program instruction can not always be a LJMP 8000H,how can I start MON51 from address 8000H and user program from address 0000h? Did you try the previous suggestion? Why didn't it work? You will have to make hardware changes to your board. Can you do that? Keil Software