This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Help resolving OVERLAP conflict w/ Reg Bank 0

I am a newbie user to A51. Can anyone suggest a way to resolve the reported "OVERLAP" conflict caused by the source code listed below which uses Absolute addresses 0x00 - 0x07 that are obviously shared (pre assigned by A51) in Register Bank 0?

In the Timer 0 Interupt, I use the registers (R0-R7) after switching the Register Bank to 0. In the rest of the program, I use the Labels to directly access the memory locations (ie MOV SWTPNTR,#80H ).

The only way I can think to do it is to remove the Labels (and therefore the EQU statements) and have to switch back and forth from Reg Bank to Reg Bank every time I wish to MOV data to the absolute locations. Which would use a lot of excess coding.

Can anyone suggest another way to preserve the absolute labeling for DIRECT addressing them?

BTW, I am using all 4 Reg Banks the same way. The conflict is only reported for addresses 0x00 - 0x07. And this issue has never appeared when using other MCS-51 assemblers.

Thanks.

 DSEG ; INDICATE INTERNAL DATA MEMORY SPACE
;
; *** REGISTER BANK 0 ***
; USED BY TIMER 0
; EQU 00H ; R0 LAMP TABLE POINTER
SWTPNTR EQU 01H ; R1 SWTABLE POINTER
STROBE EQU 02H ; R2 CURRENT STROBE
; EQU 03H ; R3
COUNTER EQU 04H ; R4
PWVALUE EQU 05H ; R5 DESIRED LAMP INTESITY 00=OFF
; EQU 06H ; R6
; EQU 07H ; R7
; *** REGISTER BANK 1 ***
; USED BY TIMER 1

0