MAIN: SZ TO;WDT溢出复位时置1,LVR复位不改变,上电复位置位0;SZ:TO为0时跳过下一条指令,这里就是没溢出就跳过JMP WAKEUP2 JMP WAKEUP2 CLR WDT MOV_M CPC,08 MOV_M PA,0 MOV_M PAC,9FH MOV_M PAPU,0F0H ; MOV_M PAWU,0CH ;************* MOV_M PB,00H MOV_M PBC,1CH MOV_M PBPU,7EH MOV_M ACERL,0 ; CLR ACERL ;acerl ;******** **** MOV_M PC,0 MOV_M PCC,00H MOV_M PCPU,07H ;******************** MOV_M WDTC,51h ;******************** CLR INTC0 CLR INTC1 CLR INTC2 CLR MFI0 CLR MFI1 CLR MFI2 ;**************** CLR WDT mov a,0A0h mov mp0,a mov a,96
时间: 2023-07-23 13:11:27 浏览: 146
WDT.rar_WDT实验_复位
根据给出的代码,当执行到MAIN中的04H地址时,会先执行SZ指令。SZ指令判断TO标志位是否为0,如果为0则跳过下一条指令,也就是跳过JMP WAKEUP2指令。如果TO标志位不为0,即发生了WDT溢出,TO标志位置1,则会继续执行JMP WAKEUP2指令,跳转到WAKEUP2标号处继续执行后续指令。
而在给出的代码中,并没有显示的说明程序执行到08H地址时会执行RETI指令。请注意,08H地址处的指令没有在代码中给出,所以无法确定具体的操作。如果在08H处确实有RETI指令或其他中断相关的操作,那么当程序执行到08H地址时,会执行对应的指令,并从中断服务程序返回到主程序继续执行。
总结起来,根据给出的代码,在特定的地址处设置了中断服务程序,并根据TO标志位的状态决定是否跳过某些指令或执行特定的指令。具体的操作和功能还需要根据实际的指令和上下文来确定。
阅读全文