不好意思我也笔误了。
今天的问题我后来又深入的想了一下,
你对I/O口的操作都不是原子操作,即不是独立的赋值操作,而是读-修改-写操作;如果在读-修改-写操作的执行中途被中断,并插入另一个读-修改-写操作,显然被中断的操作结果将会出错
这里我感觉有一个问题,就是为什么中断会把另一个读-修改-写操作赋给原来被中断的程序处?在上面的操作中0X00地址的数据是原程序的修改地址,那是不是意味着中断中也同样处理了0X00地址?
这个和51的寄存器R0、R1……概念类似,如果端口操作会被中断打算,那会不会如果我的一个变量是存放在0X00地址的,中断处理过后变量的值就变了?中断地址方面的资料,版主能否推荐一下,我现在还没有什么概念。
13# 版主