1第二章8086系统结构(2)20段1段15段64KB64KB64KB000000FFFF100001FFFFF0000FFFFF逻辑段1起点…逻辑段1≤64KB…00000FFFFF逻辑段2≤64KB逻辑段3≤64KB逻辑段4≤64KB逻辑段2起点逻辑段3起点逻辑段4起点图2-9存储器分段示意图3DI无ES目标字符串SICS,ES,SSDS源字符串有效地址EACS,ES,SSDS存取变量有效地址EACS,DS,ESSSBP为间址SP无SS堆栈操作IP无CS取指令偏移地址替换段地址隐含段地址操作类型表2-8逻辑地址来源4FFFFE=220-2512KB×8位奇地址存储体(A0=1)220-1=FFFFF15870000010000300005000000000200004512KB×8位偶地址存储体(A0=0)图2-10存储体分体结构示意图5AD7~AD001AD15~AD8从奇地址开始读/写一个字10无效11AD7~AD0从偶地址开始读/写一个字节01AD15~AD8从奇地址开始读/写一个字节10AD15~AD0从偶地址开始读/写一个字00总线使用情况操作A0/BHE表2-9/BHE、A0编码含义601521234奇地址开始偶地址开始0010300100图2-11字存放示意图7332211001000000(a)从偶地址开始读一个字节33221100100001110001(b)从奇地址开始读一个字节3322110010000100022233(c)从偶地址开始读一个字3322110010000100012211(d)从奇地址开始读一个字图2-12读存储器示意图8D7~D0A18~A0奇地址存储体SELD7~D0A18~A0偶地址存储体SELA0A19~A1BHED7~D0D15~D8数据总线DB15~8地址总线数据总线DB7~0图2-138086系统存储器与总线的连接9D7~D0A19~A01M×8位存储体00000A19~A0D7~D0地址总线数据总线00001FFFFF图2-148088系统存储器与总线的连接10栈底C0000C1000←SP向上增长33221100C0000C1000C0FFESP→2233PUSHAX0011PUSHBX5566CX图2-15堆栈操作过程11栈底C0000C1000←SP向上增长33221100C0000C1000SP→2233AX0011BX0011POPCX图2-15堆栈操作过程120000H其它寄存器0000HDS寄存器变空指令队列FFFFHCS寄存器0000HES寄存器0000H指令指针IP0000HSS寄存器清零标志寄存器表2-10复位时各内部寄存器的值13CLK内部RESET三态门输出信号RESET输入图2-16复位操作时序14CLK一个总线周期T1T2T3T4A19/S6-A16/S3状态输出地址,BHEAD15-AD0数据输入地址输出ALE低为读IO,高为读存储器7/BHES/MIORD/DTRDEN图2-17读总线周期操作时序15CLK一个总线周期T1T2T3T4A19/S6-A16/S3状态输出地址,BHEAD15-AD0数据输出地址输出ALE低为写IO,高为写存储器7/BHES/MIOWR/DTRDEN图2-18写总线周期操作时序161.8086CPU中的寄存器有哪些?2.8086可以访问8位和位的寄存器。3.在8086微处理器,段寄存器的作用是什么?4.在8086系统,段寄存器的值如下。请写出各段寄存器所决定段的起始地址和结束地址。E000H1234H2300H5.堆栈段由段寄存器加偏移地址寄存器来访问。6.设8086各寄存器的内容如下,试算出下列结合方式所决定的存储单元的地址。CS=1000H,IP=2000HDS=2000H,SI=1002HSS=2300H,BP=3200HDS=A000H,BX=1000HSS=2900H,SP=1A00H7.若(AH)=01110010B,(DL)=01011100B,试分别指出(AH)与(DL)相加和相减后标志位C、A、O、S、Z的状态。第二章练习