汇编8259A中奇地址和偶地址问题,加分
我们学习了8259A可编程中断控制器,其中对它的命令字进行初始化和操作时,书里面说对于OCW1必须用奇地址,ICW1必须用偶地址等等,请问我知道这个地址就是8259A唯一...
我们学习了8259A可编程中断控制器,其中对它的命令字进行初始化和操作时,书里面说对于OCW1必须用奇地址,ICW1必须用偶地址等等,请问我知道这个地址就是8259A唯一的一条地址线上的地址,各位,能不能举个实在的例子,想我说明什么是奇地址和偶地址,非常感谢
8086存储器是分体结构的,它有20跟地址线共1mb的存储空间分成两个512kb的存储体,即偶地址存储体和奇地址存储体,这种分体结构是为兼容8位机的,A0=0的就是偶地址,A0等于1的就是奇地址
如何对这两个存储体进行读取写入呢?这要关系到8086cpu的另外一个引脚BHE(加一横干),A0=0时选择访问偶地址存储体,偶地址存储体与数据总线低8位相连,由低8位数据总线读写一个字节;BHE=0时选择访问奇地址,奇地址存储体和数据总线高8位相连,由8位数据总线读写一个字节,当这两个同时为0的时候,就同时访问两个存储体,读写一个字;
回答一楼的问题,可以并联啊,16跟一起连上次,又没有规定。在吧BHE和A0置0就能同时对偶地址和奇地址进行读写了
上面那些东西是找的,提问时打错,打漏了几个字难怪没人理我,过了几天都不知道我想问啥了,那位说下,囧。 展开
8086存储器是分体结构的,它有20跟地址线共1mb的存储空间分成两个512kb的存储体,即偶地址存储体和奇地址存储体,这种分体结构是为兼容8位机的,A0=0的就是偶地址,A0等于1的就是奇地址
如何对这两个存储体进行读取写入呢?这要关系到8086cpu的另外一个引脚BHE(加一横干),A0=0时选择访问偶地址存储体,偶地址存储体与数据总线低8位相连,由低8位数据总线读写一个字节;BHE=0时选择访问奇地址,奇地址存储体和数据总线高8位相连,由8位数据总线读写一个字节,当这两个同时为0的时候,就同时访问两个存储体,读写一个字;
回答一楼的问题,可以并联啊,16跟一起连上次,又没有规定。在吧BHE和A0置0就能同时对偶地址和奇地址进行读写了
上面那些东西是找的,提问时打错,打漏了几个字难怪没人理我,过了几天都不知道我想问啥了,那位说下,囧。 展开
2个回答
展开全部
对8259A初始化写ICW1~4时是按照先后顺序来写的,8259A的8位数据线接到8086的低八位数据线。由于8086的存储器采用分体式结构,低8位数据线对应于8086存储器中的偶地址库,所以8259A的奇地址和偶地址都在8086存储器的偶地址库,即都是偶数。 初始时A=0时,对应8259A的偶地址,此时写ICW1;然后让A置位A=1,对应于8259A的奇地址,写ICW2~4。我们容易陷入的误区是以为8259A的奇地址和偶地址是按照它在8086存储器的地址的奇偶性来区分,其实它是以A的值来区分,A=0定义为偶地址,A=1定义为奇地址。如果是8088 CPU的话,存储器地址是连续的,则不会有这个误会。
展开全部
哥们,我也有同样的疑问。因为“这个地址就是8259A唯一的一条地址线上的地址”,所以这根线可以为高电平(1)或低电平(0),所以会有两个地址。 我的疑问是:8259A的8位数据线不是接到8086的低八位数据线吗?而8086的低八位数据线传送数据不是通过偶地址传送的吗(高八位数据线传送数据通过奇地址传送)?所以怎么会有奇地址?应该俩地址都是偶地址啊?请高手顺便解决我的疑问!谢谢!!!
并联?怎么怎的这么麻烦?还浪费总线!说实话还不如都弄偶地址呢,又不是不可以。唉,纠结啊~
并联?怎么怎的这么麻烦?还浪费总线!说实话还不如都弄偶地址呢,又不是不可以。唉,纠结啊~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询