Table of Contents Previous topic Next topic
Extension Examples->Memory Bank Switching->8051 Test Code
; fill the first 100h bytes of each bank with a recognisable pattern; first bank 0 (the default bank) mov dptr,#8000h mov r2,#0FFh mov a,#11h ; 11 into bank 0loop0 movx @dptr,a inc dptr djnz r2,loop0 mov P1,#1 ; switch to memory bank 1 mov dptr,#8000h mov r2,#0FFh mov a,#22h ; 22 into bank 1loop1 movx @dptr,a inc dptr djnz r2,loop1 mov P1,#2 ; switch to memory bank 2 mov dptr,#8000h mov r2,#0FFh mov a,#33h ; 33 into bank 2loop2 movx @dptr,a inc dptr djnz r2,loop2 mov P1,#0 ; switch to memory bank 3 mov dptr,#8000h mov r2,#0FFh mov a,#44h ; 44 into bank 3loop3 movx @dptr,a inc dptr djnz r2,loop3 ; now alternate between memory banks and observe the xdata view changingloop4 mov P1,#1 ; switch to memory bank 1 mov P1,#0 ; switch to memory bank 3 mov P1,#2 ; switch to memory bank 2 mov P1,#3 ; switch to memory bank 0 jmp loop4