3.28086最小模式系统的基本配置 +5V MN/MX 控制 8086 总线 M/IO CLK PRESET ALE→ STB OE 8284 READY BHEH 时钟 BHE 8282 地址 锁存器 总线 AD1AD(3片) 存储器 EN DT/R I/0接口 奇|偶 RESET READY 8286 收发器 数据 DRT(2片) 总线 OE
3.2 8086最小模式系统的基本配置 8284 时钟 +5V MN/MX A19-A16 CLK RESET READY AD15-AD0 DEN DT/R BHE ALE STB RD WR M/IO BHE 存储器 I/O接口 数据 总线 地址 总线 控制 总线 8282 锁存器 (3片) OE RESET DIR T OE 8286 收发器 (2片) 8086 奇 偶 READY
2. 5MHz 至外部设备 PCLK 1 5MHz 8284A 8086 或 F/C 5MHz CLK CLK 8088 CSYNC READY READY 5V RESET RESET 10K RES 系统复位
X1 X2 8086 或 CLK CLK 8088 8284A F/C CSYNC RES +5V 5MHz PCLK 2.5MHz 至外部设备 RESET RESET 系统复位 READY READY 15MHz 10K 10μF
个总线周期 T1 CLK AD1yAD×地址)出 数据入 +5V MN/MX 控制 8086 总线 CLK ALE _STB OEH 8284 H READY A -A BHEH 时钟 8282 地址 BHE 锁存器 总线 AD, -AD (3片) 存储器 DEN DT/R I/0接口 奇偶 RESET READY 8286 收发器 数据 DIRT(2片) 总线 OE
8284 时钟 +5V MN/MX A19-A16 CLK RESET READY AD15-AD0 DEN DT/R BHE ALE STB RD WR M/IO BHE 存储器 I/O接口 数据 总线 地址 总线 控制 总线 8282 锁存器 (3片) OE RESET DIR T OE 8286 收发器 (2片) 8086 奇 偶 READY
3.3存储器组织 1存储器地址: 8086有20条地址总线,直接寻址能力为20=1M字节。 用16进制数表示1M字节的地址范围应为0000~ FFFFFH。 (1)、8086内部20位物理地址形成 (2)、逻辑地址与物理地址
3.3 存储器组织 1.存储器地址: 8086有20条地址总线,直接寻址能力为2 20=1M字节。 用16进制数表示1M字节的地址范围应为00000H~FFFFFH。 (1)、 8086内部20位物理地址形成 (2)、逻辑地址与物理地址
(1)、8086内部20位物理地址形成 物理地址计算方法: 即把段地址左移4位再加上偏移地址值形成物理地址,写成 物理地址=16d×段地址+偏移地址 每个存储单元只有唯一的物理地址。 但可由不同的段地址和不同的偏移地址组成。 15 0 16位段地址 0000 15 0 16位偏移地址 19 0 20位物理地址
物理地址计算方法: 即把段地址左移4位再加上偏移地址值形成物理地址,写成: 物理地址= 16d段地址+偏移地址。 * 每个存储单元只有唯一的物理地址。 但可由不同的段地址和不同的偏移地址组成。 16位段地址 0000 16位偏移地址 15 0 15 0 20位物理地址 19 0 + (1)、8086内部20位物理地址形成
(2)、逻辑地址与物理地址 15 03210 段基址 0000 段基址 200OH 20000H 偏移地址 逻辑地址 段内偏移地址 5F62H 2 5F60H 25F61H 基址加法器 25F62H 25F63H 19 物理地址 物理地址的形成 逻辑地址与物理地址
段基址 0 0 0 0 15 0 3 2 1 0 偏移地址 基址加法器 物理地址 15 0 19 0 物理地址的形成 . ..... 20000H 25F60H 25F61H 25F62H 25F63H 2000H 段基址 逻 辑 地 址 段内偏移地址 5F62H 逻辑地址与物理地址 (2)、逻辑地址与物理地址
通过取指令、堆栈操作获取逻辑地址 「操作类型正常使用(隐含)可替换 偏移物理地址计算 段基址 段地址 地址 取指令 CS 堆栈操作 无无 IP (CS)×16d+(P) SP (SS)×16d+(SP) BP间址 SS CSDS,ES有效地址EA|(SS)×16d+EA 存取变量 DS CSES,SS有效地址EA|(Ds)x16d+EA 源字符串 DS CS, ES, SS SI(sx16d+s 目标字符串 ES 无 DI (ES)×16d+(DD)
操作类型 正常使用(隐含) 段基址 可替换 段地址 偏移 地址 物理地址计算 取指令 CS 无 IP (CS)16d+(IP) 堆栈操作 SS 无 SP (SS) 16d+(SP) BP间址 SS CS,DS,ES 有效地址EA (SS) 16d+EA 存取变量 DS CS,ES,SS 有效地址EA (DS )16d+EA 源字符串 DS CS,ES,SS SI (DS) 16d+(SI) 目标字符串 ES 无 DI (ES) 16d+(DI) 通过取指令、堆栈操作获取逻辑地址
取指令: 自动选择代码段寄存器CS, 再加上由决定的16位偏移量, 计算得到要取的指令20位物理地址。 堆栈栈顶操作: 自动选择堆栈段寄存器SS, 再加上由SP决定的16位偏移量, 计算得到堆栈栈顶操作需要的20位物理地址
取指令: 自动选择代码段寄存器CS, 再加上由IP决定的16位偏移量, 计算得到要取的指令20位物理地址。 堆栈栈顶操作: 自动选择堆栈段寄存器SS, 再加上由SP决定的16位偏移量, 计算得到堆栈栈顶操作需要的20位物理地址
涉及到操作数(与执行指令有关的地址、数字、寄有器 等统称为操作数): 自动选择数据段寄存器DS或附加段寄存器ES 再加上16位偏移量,计算得到操作数的20位物理地址 其中: 16位偏移量:包含在:指令中的直接地址 某个16位地址寄存器的值 指令中的位移量+16位地址寄存器中值等。 16位偏移量关键取决于指令的寻址方式
涉及到操作数(与执行指令有关的地址、数字、寄存器 等统称为操作数): 自动选择数据段寄存器DS或附加段寄存器ES, 再加上16位偏移量,计算得到操作数的20位物理地址。 其中: 16位偏移量: 包含在:指令中的直接地址 某个16位地址寄存器的值 指令中的位移量+16位地址寄存器中值等。 16位偏移量关键取决于指令的寻址方式