花一天时间看看《微型计算机原理》就概念清楚了。推翻自己关于支持highgear“直接、间接寻址”的说法。书上讲的很清楚。
无论8051,AVR,ARM,都和X86一样,是向量中断,所有中断向量入口地址构成中断向量表。(访问方式不同而已。)—— 中断向量表(数组)里的每个元素当然就是中断向量(也叫中断类型),每个中断类型都有一个固定的类型号,这个类型号用来索引中断向量表里的元素——中断向量(ISR入口地址)。
传统8051的向量中断表(也是可定义256个中断向量):
char vec_table[ ]={03,0x0B,0x13,0x1B,0x23,……保留以后用户使用};
例:时钟T0中断类型号 n 是1,那么从中断向量表中获取T0中断服务程序入口地址 vec_table[1]=0x0B;
当前的新型8051内核中断已扩展到至少13个了,也就是中断向量表vec_table[]已经膨胀多了。
相对X86,其中断向量表 double … vec_table[ ]=(…………};
中断被触发时,以中断类型号作为中断向量表索引,去查询/获取中断向量。
形式都一样。
、、 |