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

How to organize my program for bank switching

Dear Sir,

My program codes are as follows,

show.asm
;Main======================================
ORG 0000H
ACALL INIT
;------------------------------------
MOV DPTR,#W0
ACALL SHOW

MOV DPTR,#W1
ACALL SHOW
;--------------------------------

SHOW:
MOV R2,#64
LOOP1: MOV R5,#192
LOOP0: MOV A,#0
MOVC A,@A+DPTR
ACALL WRDATA
INC DPTR
DJNZ R5,LOOP0
DJNZ R2,LOOP1
RET

;table0
;---------------------------------
W0:
DB 08H,0A0H, 08H,0A0H, 08H,0A0H

;table1
;---------------------------------
W1:
DB 08H,0A0H, 08H,0A0H, 08H,0A0H

END



If I want to put table0 into bank0 and table1 into bank1, how do I organize it?

for example,
common.asm
;Main======================================
ORG 0000H
ACALL INIT
;------------------------------------
MOV DPTR,#W0
ACALL SHOW

MOV DPTR,#W1
ACALL SHOW
;--------------------------------

SHOW:
MOV R2,#64
LOOP1: MOV R5,#192
LOOP0: MOV A,#0
MOVC A,@A+DPTR
ACALL WRDATA
INC DPTR
DJNZ R5,LOOP0
DJNZ R2,LOOP1
RET



bank0.asm
;table0--------------------------
W0:
DB 08H,0A0H, 08H,0A0H, 08H,0A0H
END



bank1.asm
;table1-------------------------------
W1:
DB 08H,0A0H, 08H,0A0H, 08H,0A0H
END

;=========================================
After running A51 & LX51, the errors are as follows,
.\common.asm : Error A45: undefined symbol
;=======================================
W0 and W1 are undefined symbols
Could you tell me how to solve it?

Thanks a lot!

James

0