(3)00100H开始的各字节逻辑地址为: 0000H:0100H 0000H:0101H 0000H:0102H 0000H:0103H 0000H:0104H 0000H:0105H 0000H:0106H 0000H:0107H
2、设某台微处理器有20条地址总线和16条数据总线:
(1)若存储器寻址空间和I/O地址的寻址空间是分开的,问存储器空间有多大?
(2)经由数据总线可传送的带符号数的范围是多大? 解:
(1)存储器的寻址空间为220=1MB
(2)可传送的带符号数的范围为-32768~+32767
3、有两个16位数1EF5H和2A3DH分别存放在000B0H和000BCH单元中,用图表示它们在存储器里的存放情况。 4、解:
(30020H)=ABH (30024H)=EFH (30021H)=AB34H (30022H)=CDABH
- 11 -
解:
第三题的答案 5、解:
(1)该程序段第一个字节的物理地址为:(CS)×16+IP=0D320H;
(2)该字节的物理地址是唯一的,但段地址和偏移地址不是唯一的。例:(CS)=0D300H,IP=0020H,其物理地址也为0D320H。
6、解:在堆栈操作中,段地址只能用SS,而偏移地址只能由SP来提供,故栈顶单元的偏移地址7F80H只能放在SP中,根据题意,堆栈中存放的数为程序的偏移地址,因此它也只能存放在指令寄存器IP中,即74CAH在引用此数时放入IP中。
7、解:根据题意,该数据段第一字节的物理地址为400A5H,而段地址为4002H,故第一字节的有效地址为400A5H-4002H×16=0085H。依此类推,各字节的有效地址分别为0085H、0086H、0087H、0088H、0089H、008AH、008BH、008CH。 由于数据是以字节的形式存放的,因此每读一个字节须访问一次存储器,共需要8个总线周期。若是以字的方式读出这些数据,由于存放的格式为非对准字,每读出1个非对准字需要2个总线周期,4个非对准字共需要8个总线周期。 8、解:
000B0H 000BCH F5H 1EH ? 3DH 2AH - 12 -
(1)为了从存储器或I/O端口读出数据,M/IO信号在T1状态必须成为有效状态(M/IO=1,读存储器;M/IO=0,读I/O端口,8088则反之),且有效状态必须保证CPU可从总线周期中读到信息,故此信号的有效期可持续到T4状态结束。 (2)为了指出存储器或I/O端口地址,三态复用线AD15~AD0,A19/S6~A16/S3必须输出地址信号A19~A0,而且ALE必须同时输出正脉冲进行锁存,用ALE的下降沿锁存,以得到稳定的地址信号。
(3)BHE/S7信号也在T1时刻选通,以指明高8位数据总线上的信息是可用的。同时数据传送方向控制信号DT/R应为低电平,表明此时进行的是总线操作。但数据允许信号DEN此时不应有效,因为地址信号尚未稳定,此时有效将会发生传输错误,它应在T2状态时与RD信号一起产生有效状态。 9、
- 13 -