从程序上看,由于a没有清零的操作,第一次d、a比较相同后,d清零,以后a在6的基础上不断增加,d在0的基础上不断增加,第二次相同时可能d=a=7(也可能依然是d=a=6,取决于第6次中断产生时主程序的正在执行哪条指令),d清零,第三次是d=a=8(也可能是d=a=7),是你想要的结果吗?是不是在d=0后需要有一句a=0?没读懂你的思路。程序还没写完吧?不过感觉这里的两个中断用法不太好,思路不太容易被理解。意见,供参考。
搞不懂a为什么要一直加啊