完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
本次主要介绍的是微机原理中全译码方式下地址范围的计算以及程序编写。
先介绍一个全译码方式下存储器SRAM扩展例子, 先简要讲解一下存储过程,在总线周期的T1时刻,8086总线上总线上出现地址信息,在T1快要结束时刻,ALE引脚产生下降沿脉冲,经过非门产生一个上升沿脉冲,此时刻地址信息被锁存入74273锁存器中,此后的T2~T4时刻ALE引脚变为无效,所以在一个总线周期中T1时刻后锁存器状态不在改变,T3时刻出现数据信息,由于ALE无效,所以数据信息通过总线存入62256 SRAM存储芯片中,BHE和A0控制奇偶体的选择。 由于选中的端口为Y1口,所以地址范围应该为: 所以起始地址为10000H。 汇编中程序编写就为: CODE SEGMENT ASSUME CS:CODESTART:MOV AX,1000H MOV DS,AX 。。。。。。 计算出来的地址值为10000H,为什么在汇编中起始地址为1000H呢? 这个问题当时我也想了很长时间,后来我发现咱们计算出的地址范围其实是实际物理地址,所以逻辑地址就是:物理地址除以10H-偏移地址。 所以段基地址就为1000H。 在举一个例子: 某8088 CPU系统的存储器连接如图,请分别写出1#和2#芯片的地址范围,并编写程序段使2#芯片的前100个字节内容均置为93H。 由于74LS138译码器选择的为Y1,和Y2端口,所以地址范围选择为: 片1: 由于地址线为A0~A12,所以: 所以,片1的地址范围为:C4000H~C5FFFH。 片2计算方法与片1相同,C2000H~C3FFFH。 程序编写: CODE SEGMENT ASSUME CS:CODESTART:MOV AX,0C200H ;这地方要注意,数据不能以字母开头,前面需要记得加0 MOV DS,AX MOV BX,0 MOV CX,100 MOV DL,93H MOV BYTE PTR[BX],0SIM: MOV [BX],DL INC BX LOOP SIMENDLESS:JMP ENDLESSCODE ENDS END START |
|
|
|
只有小组成员才能发言,加入小组>>
4413个成员聚集在这个小组
加入小组3307 浏览 0 评论
航顺(HK)联合电子发烧友推出“近距离体验高性能Cortex-M3,免费申请价值288元评估板
4246 浏览 1 评论
4266 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 02:45 , Processed in 0.496592 second(s), Total 44, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号