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

error when using MODA2 option (Dual Dptr) at89s8252 and interrupt

copying error with memcpy when interrupt timer 1 is enable !
keil c51 v7.00

this is the start of timer 1 interrupt:
DPH, DPL, DPH1, DPL1 , WMCON are correctly saved....
; FUNCTION T1_int (BEGIN)
0000 C0E0 PUSH ACC
0002 C0F0 PUSH B
0004 C083 PUSH DPH
0006 C082 PUSH DPL
0008 C085 PUSH DPH1
000A C084 PUSH DPL1
000C C096 PUSH WMCON
000E 5396FB ANL WMCON,#0FBH
0011 C0D0 PUSH PSW
0013 75D000 MOV PSW,#00H
0016 C000 PUSH AR0
0018 C001 PUSH AR1
001A C002 PUSH AR2
001C C003 PUSH AR3 .....
and POP at the end .....


Why in lib function COPYA2 the active DPTR is never initialised, only inverted ?
XRL WMCON,#04


when I don't use the second DPTR (NOMODA2) the copy is OK even when interrupted