看起来是有一点问题. 1.做ROMBANK的跳转之前,建议关闭中断,跳转结束后再打开.因为跳转的过程虽然表面只有一条指令,但内容要进行复杂的操作,为确保可靠,建议跳转时关闭IE. 2.以下部份: ORG 1000H LOOP: LABEL1: ..... JMP LABEL2_L ;此处跳转前应该先把ROMBANK值赋值为0,因为800H在ROMBANK0,与1000H在ROMBANK1中,不在同一个ROMBANK中,不能直接跳转,否则会出错.
另外,此处增加ROMBANK赋值为0的指令后,以下部份中的: LABEL2_L: LDI ROMBANK,00H ;此条就可以去掉了 CALL PROGRAM2
暂时看到这2个问题,你再仿真一下,看是否还有问题.
|