相同点:都是从主函数转到子函数,子函数执行完后又返回主函数。
不同点:
一、执行方式不同
1、中断服务程序:中断函数是发生中断后,自动执行的,不需要主函数调用,是否执行,取决于相应的中断事件是否发生。
2、普通子程序:普通子函数要主函数调用才能执行。
二、使用情况不同
1、中断服务程序:中断函数在中断发生时,先进入中断入口地址,再通过中断入口地址处放置的一条无条件转移指令,使程序执行转向中断服务程序入口。
2、普通子程序:普通子函数调用时,直接进入函数入口地址。
三、定义方式不同
1、中断服务程序:中断服务程序用interrupt关键字来定义。
2、普通子程序:是一个大型程序中的某部分代码,由一个或多个语句块组成。
8255A有两个地址引脚A1和A0进行片内地址译码,A1A0应该接系统地址总线(也就是CPU的地址总线)的最低两位。以8086CPU为例,假设前级系统板A9-A5这5根地址线确定的片选8255A地址范围是060H-07FH,它的含义是地址总线上出现这个地址范围内的地址则8255A被选中可以进行读写 *** 作,这里的地址重叠(指的是多个地址可以选中同一芯片)是因为A4-A0没有接线造成的,实际上8086有16根地址总线,高位地址总线会造成更多的地址重叠,此处不再考虑。
在以上的连线方式上,A1A0进行片内译码,对应关系如下:
A1A0为11,此时地址确定为063H,写方式控制字
A1A0为00,此时地址确定为060H,读写A口
A1A0为01,此时地址确定为061H,读写B口
A1A0为10,此时地址确定为062H,读写C口
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)